Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Daten aus einer Website mit Javascript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Daten aus einer Website mit Javascript

Geplant Angeheftet Gesperrt Verschoben JavaScript
138 Beiträge 16 Kommentatoren 25.2k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • smartboartS Offline
    smartboartS Offline
    smartboart
    schrieb am zuletzt editiert von smartboart
    #119

    Ich fände es gut den Scriptteil nochmal laufen zu lassen mit nem weiteren State Salzverbrauch über alles...Somit hätte man einen Gesamt Wert über den gesamten lifecycle der Anlage. Den anderen habe ich für den Salzwechsel zum zurücksetzen in vis .

    Wenn du willst kannst du das noch einpflegen...Ansosnten muss ich bei aktualisierungen deines Scripts halt aufpassen..

    Benutzt ihr Telegramm? Habe noch eine push Nachricht in den Salzverbrauch eingebaut..
    Ebenfalls eine Pushnachricht bei Sammelstörung ( GPIO ) potentialfrei mit Ansage am Tablet.
    Zusätzlich wird das Display eingeschaltet wenn der Raum betreten wird.
    Ausserdem Autoregeneration bei Abwesenheit und Waschmaschine aus und <10%
    oder bei unterschreiten 2 % mit rein genommen.
    Ist aber alles eher individuel..macht wahrscheinlich keinen Sinn das mit rein zunehmen.
    Aber vlt. möchte es ja jemand für sich anpassen..

     createState(instanz + PfadEbene1 + PfadEbene2[4] + 'SalzverbrauchGesamt', {name: 'Salzverbrauch Gesamt in kg',type: 'number',role: 'number',desc: 'Salzverbrauch Gesamt in kg',unit: 'kg',def:'0'});
    
    // Salzverbrauch Gesamt berechnen 
    
    on(instanz + PfadEbene1 + PfadEbene2[5] + 'D_Y_2_01', function (obj){ 
    
    /*Formel Grünbeck bei Kapazitätszahl 8 m³x°dH und einem Härteunterschied von Rohwasser zu Brauchwasser 
    
      von 12 °dH  : 0,0285 kg x 12 °dH x 100 m³ = 34,2 kg Regeneriersalz
    
            Bei der min. Kapazitätszahl 6 m³x°dH entspricht der Salzverbrauch 0.025 kg
    
            Bei der max. Kapazitätszahl 14 m³x°dH entspricht der Salzverbrauch 0.039 kg
    
            Es wird von einem liniaren Salzverbrauch von 0.00175 kg pro m³x°dH ausgegangen.
    
            (((Kapazitätszahl-6)*0.00175)+0.025)x Rohwasserhärte x (Wasserverbrauch/1000)
    
    */
    
    const idSalzverbrauchGesamt = instanz + PfadEbene1 + PfadEbene2[4] + 'SalzverbrauchGesamt';
    
    var Rohwasserhaerte = getState(instanz + PfadEbene1 + PfadEbene2[0] + 'D_D_1').val;
    
    var KapZahl = getState(instanz + PfadEbene1 + PfadEbene2[4] + 'D_A_1_3').val;
    
    var Wasserverbrauch = getState(instanz + PfadEbene1 + PfadEbene2[5] + 'D_Y_2_01').val;
    
    var SalzverbrauchAlt = getState(idSalzverbrauchGesamt).val;
    
    var SalzverbrauchNeu = (((KapZahl-6)*0.00175)+ 0.025)*Rohwasserhaerte*(Wasserverbrauch/1000)
    
    SalzverbrauchNeu = SalzverbrauchNeu+SalzverbrauchAlt;
    
    setState(idSalzverbrauchGesamt,SalzverbrauchNeu);
    
    if (debug) {console.log(SalzverbrauchAlt +" : "+ SalzverbrauchNeu)}
    
     
    
    });
    
    // Pushnachricht bei Vebrauch > 10 kg
    
    
    on(instanz + PfadEbene1 + PfadEbene2[4] + 'Salzverbrauch', function (obj){ 
    
        const idSalzverbrauch = instanz + PfadEbene1 + PfadEbene2[4] + 'Salzverbrauch';
    
        var Salzverbrauch = getState(idSalzverbrauch).val;
            
            if(Salzverbrauch >= 10){
                
            sendTo("telegram.0", "send", {text: (['Achtung: ',' Bitte Salz in Weichwasseranlage nachfüllen.Verbraucht wurden',getState(idSalzverbrauch).val,'kg.'].join(''))});
    
            if (logging) log ('Slazmangel Weichwasseranlage');
        
        }
    
    });   
    
    // Pushnachricht bei Sammelstörung Weichwasseranlage Potentialfreier Kontakt
    
    on({id:'rpi2.1.gpio.23.state',val:false,change:'ne'}, function (obj){
    
    sendTo("telegram.0", "send", {text:'Achtung!!! Weichwasseranlage Sammelstörung. Überprüfen sie die Anlage!'});
    
    sendTo("paw.0",'all',{send:  'say', text:  'Achtung! Weichwasseranlage Sammelstörung . Überprüfen sie die Anlage!'});
    
    if (logging) log ('Sammelstörung Weichwasseranlage');
    });   
    
    // Display einschalten bei Betreten des Raum
    
    on({id:'zigbee.0.00158d0002bfc52d.opened'}, function (obj){
    const idTuer = 'zigbee.0.00158d0002bfc52d.opened';
    var Tuer = getState(idTuer).val;
        if(Tuer){
            setState('javascript.0.Status.Gruenbeck.SC18.Parameter.D_C_6_1',1);
                    if (logging) log ('Display Weichwasseranlage ein geschaltet');
    
            }else{
            setState('javascript.0.Status.Gruenbeck.SC18.Parameter.D_C_6_1',0);
            if (logging) log ('Display Weichwasseranlage aus geschaltet');
        }
    });  
    
    
    //Regeneration starten wenn niemand zu Hause und Level unterschritten oder Level bei nur 1%
    var logging = true
    
    function Autoregeneration() {
    
    var Anwesend = getState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend').val;
    
    var Kapazitaet = getState('javascript.0.Status.Gruenbeck.SC18.Allgemein.D_Y_10_1').val;
    
    var Waschmaschine = getState ('javascript.1.Statusmeldungen.Waschmaschine.Status').val;
    
    var Regeneration = getState(idReg).val;
    
    if (Regeneration===0 && Anwesend===false && Waschmaschine===false && Kapazitaet <=5){
    
    setState(idRegStart,true);
    
    if (logging) log ('Regeneration Weichwasseranlage wegen geringer Restkapazität während der Abwesenheit gestartet');
    
             }else{
        
                if(Regeneration===0 && Kapazitaet<=2 && Kapazitaet >1){
            
                setState(idRegStart,true);
    
                if (logging) log ('Regeneration Weichwasseranlage kurz vor Kapazitätsende gestartet');
            }
        }
    }
    
    on({id:'javascript.0.Anwesenheitssteuerung.BewohnerAnwesend',val:false,change:'ne'}, function (obj){
    Autoregeneration();    
    });
    
    on({id:'javascript.0.Status.Gruenbeck.SC18.Allgemein.D_Y_10_1',change:'ne'}, function (obj){
    Autoregeneration(); 
    });
    
    1 Antwort Letzte Antwort
    0
    • A Online
      A Online
      ArnoD
      schrieb am zuletzt editiert von
      #120

      @smartboart du bist mir zu schnell :grinning:

      Ich habe das Problem mit der Schnittstelle noch nicht gelöst :wink:
      Ich habe immer noch das Problem das der Fehler "send flag true" vereinzelt auftritt und ich mir nicht mehr erklären kann warum. :thinking_face:
      Ich habe jetzt das Script noch mal umgebaut. Es gibt nur noch eine Funktion, die Daten an die SC18 sendet.
      Nach dem Senden der Daten starte ich einen Timer, der nach vier sek. ohne Rückmeldung abbricht und die Daten werden noch mal gesendet.
      Es werden nach dem Senden alle weiteren Anfragen ignoriert, bis die Schnittstelle entweder in den 4 sek. antwortet oder nach 4 sek. über Timeout beendet wird.
      Mit diesen Änderungen hoffe ich, dass es besser wird.
      @smartboart deine Vorschläge habe ich übernommen bis auf Telegramm. Ich will ich erst die Schnittstelle so weit haben, dass diese stabil läuft , bevor ich was Neues beginne.

      smartboartS 1 Antwort Letzte Antwort
      0
      • A ArnoD

        @smartboart du bist mir zu schnell :grinning:

        Ich habe das Problem mit der Schnittstelle noch nicht gelöst :wink:
        Ich habe immer noch das Problem das der Fehler "send flag true" vereinzelt auftritt und ich mir nicht mehr erklären kann warum. :thinking_face:
        Ich habe jetzt das Script noch mal umgebaut. Es gibt nur noch eine Funktion, die Daten an die SC18 sendet.
        Nach dem Senden der Daten starte ich einen Timer, der nach vier sek. ohne Rückmeldung abbricht und die Daten werden noch mal gesendet.
        Es werden nach dem Senden alle weiteren Anfragen ignoriert, bis die Schnittstelle entweder in den 4 sek. antwortet oder nach 4 sek. über Timeout beendet wird.
        Mit diesen Änderungen hoffe ich, dass es besser wird.
        @smartboart deine Vorschläge habe ich übernommen bis auf Telegramm. Ich will ich erst die Schnittstelle so weit haben, dass diese stabil läuft , bevor ich was Neues beginne.

        smartboartS Offline
        smartboartS Offline
        smartboart
        schrieb am zuletzt editiert von smartboart
        #121

        @ArnoD ich will dich nicht hetzen.. Es sind ja nur Vorschläge und ich bin auch nicht eingeschnappt wenn etwas nicht den Weg in dein Script findet 😁
        also bei mir läuft das script seit meiner letzten fehlerberichterstattung 3tage Keine Ahnung ohne Fehler!
        Ach so es hat sich ein Schreibfehler eingeschlichen... Du hast aus Ausseneingriff Ausseneigriff gemacht.. 😂😂😂
        Die zusaetzlichen if abfragen finde ich grundsätzlich gut... Nachteil ist halt wenn die Bedingung nicht erfüllt ist es nicht automatisch durchgeführt wird wenn es dann erfüllt ist...
        ich bin kein java Profi... Alles was ich weiß habe ich mit try and error selbst raus gefunden...
        ich wuerde hier bei wichtigen Funktionen mit der Regeneration zum Beispiel dann mit Merker arbeiten... Sobald die Bedingung nicht erfüllt ist wird ein Merker gesetzt... Und sobald die Bedingung dann wieder gut triggert sie die Funktion und wenn der Merker noch gesetzt ist wird die Funktion ausgeführt... Natürlich wenn die anderen Bedingungen noch erfüllt sind.
        Wenn du willst kann ich morgen was am Beispiel Regeneration schreiben... Hoffe ich kriege es hin...

        1 Antwort Letzte Antwort
        0
        • A Online
          A Online
          ArnoD
          schrieb am zuletzt editiert von
          #122

          Uuups :joy: der Ausseneigriff soll aber auch wichtig sein. :joy: :joy:
          Habe den Fehler korrigiert.

          Was habt ihr eigentlich für einen Softwarestand, bei der SC18 ?? Meiner ist V1.01.02

          Das Script läuft ohne Probleme, bis die W-Lan Verbindung zur SC18 abbricht.
          Habe noch nicht rausgefunden, an was das liegt und warum dann das Script mit dem Fehler "send flag true" stoppt.

          1 Antwort Letzte Antwort
          0
          • A Online
            A Online
            ArnoD
            schrieb am zuletzt editiert von
            #123

            Welche if Abfragen meinst du ?

            1 Antwort Letzte Antwort
            0
            • A Online
              A Online
              ArnoD
              schrieb am zuletzt editiert von
              #124

              Meinst du die "Keine Rueckmeldung" ?
              An eine Art Merker habe ich auch schon gedacht, aber diese müsste man dann wieder zyklisch abfragen und
              der Reihe nach abarbeiten. Man könnte natürlich auch ein Array als Merker erstellen und in einer Schleife abarbeiten.
              In der Zeit wird natürlich die zyklische Abfrage aller anderen Werte angehalten.
              Da ich auch kein Profi bin, was Javascript angeht und ich gerade erst den Umgang damit lerne, bin ich für jede Hilfe dankbar. :grinning: :+1:

              smartboartS 2 Antworten Letzte Antwort
              0
              • S Offline
                S Offline
                schmid_no1
                schrieb am zuletzt editiert von
                #125

                V01. 00. 37
                Und ich versteh nur Bahnhof was ihr da kreiert😅

                1 Antwort Letzte Antwort
                0
                • smartboartS Offline
                  smartboartS Offline
                  smartboart
                  schrieb am zuletzt editiert von smartboart
                  #126

                  V01. 01.02... Das mit WLAN kann schon sein... Ich habe im Keller ein separates WLAN fuer smart home geraete... Fast ohne fremdeinwirkung bzw. Stoerfrequenzen.. Und der Router Fritte 7590 ist nur 4m weg im Büro... Vlt. Ist ein stabiles WLAN von Vorteil... Hab da auch nur 6 - 7 Teilnehmer drinnen... Nicht so wie im EG... Da hab ich aufgehört zu zählen...

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    schmid_no1
                    schrieb am zuletzt editiert von
                    #127

                    Ich hab die Anlage schon seit fast 3 Jahren hatte auch mal ein Script das funktionierte aber zu deiner arbeit ist das kein Vergleich

                    smartboartS 1 Antwort Letzte Antwort
                    0
                    • A ArnoD

                      Meinst du die "Keine Rueckmeldung" ?
                      An eine Art Merker habe ich auch schon gedacht, aber diese müsste man dann wieder zyklisch abfragen und
                      der Reihe nach abarbeiten. Man könnte natürlich auch ein Array als Merker erstellen und in einer Schleife abarbeiten.
                      In der Zeit wird natürlich die zyklische Abfrage aller anderen Werte angehalten.
                      Da ich auch kein Profi bin, was Javascript angeht und ich gerade erst den Umgang damit lerne, bin ich für jede Hilfe dankbar. :grinning: :+1:

                      smartboartS Offline
                      smartboartS Offline
                      smartboart
                      schrieb am zuletzt editiert von smartboart
                      #128

                      @ArnoD ich haette schwören können du bist Profi... Fuer meine Verhältnisse auf jeden Fall...
                      Apropo WLAN.. Ich hatte hier mit wlan mesh jedemenge Probleme... Bis ich es deaktiviert hatte und 2 WLAN Netzwerke aufgebaut habe.. Seit dem war ruhe... Vlt hat du ja auch wlan mesh aktiv

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        schmid_no1
                        schrieb am zuletzt editiert von
                        #129

                        Und bei mir läuft alles fehlerfrei seit 4 Tagen

                        1 Antwort Letzte Antwort
                        0
                        • S schmid_no1

                          Ich hab die Anlage schon seit fast 3 Jahren hatte auch mal ein Script das funktionierte aber zu deiner arbeit ist das kein Vergleich

                          smartboartS Offline
                          smartboartS Offline
                          smartboart
                          schrieb am zuletzt editiert von
                          #130

                          @schmid_no1 3 Jahre... Wie sind die Erfahrungen? Ich hab die erst eine Woche im Betrieb... Macht nen guten Eindruck... Muss dazu sagen der threat hier hat mir die Kaufentscheidung leichter gemacht... Sollte unbedingt mit iob können.

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            schmid_no1
                            schrieb am zuletzt editiert von
                            #131

                            Die Anlage läuft ohne Probleme bei 2 Personen und 2 Kleinkinder bei einem durschnittsverbrauch von ca. 220 Liter aktuell. Wie gesagt finde ich voll cool das sich dem entlich einer annimmt

                            smartboartS 1 Antwort Letzte Antwort
                            0
                            • S schmid_no1

                              Die Anlage läuft ohne Probleme bei 2 Personen und 2 Kleinkinder bei einem durschnittsverbrauch von ca. 220 Liter aktuell. Wie gesagt finde ich voll cool das sich dem entlich einer annimmt

                              smartboartS Offline
                              smartboartS Offline
                              smartboart
                              schrieb am zuletzt editiert von smartboart
                              #132

                              @schmid_no1 220 Liter mit 4 Personen? Muss wohl doch an meiner Frau liegen.. :-) Welche Rohwasserhärte habt ihr? Bei mir sind es 22-23°dH Läuft fast alles durch die Anlage. Das Beimischventil ist nur minimal offen... Schwankt zwischen 250 und 350 Liter zu 2.

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                schmid_no1
                                schrieb am zuletzt editiert von
                                #133

                                Habe 22°dH hat alles Mein flaschner eingerichtet zieh aber den Kalk nicht komplett aus dem Wasser also es bleiben 8° dH. Wenn die kleinen ein bisschen größer sind werde ich nochmals absenken(für meine Frau) 😉

                                smartboartS 1 Antwort Letzte Antwort
                                0
                                • A ArnoD

                                  Meinst du die "Keine Rueckmeldung" ?
                                  An eine Art Merker habe ich auch schon gedacht, aber diese müsste man dann wieder zyklisch abfragen und
                                  der Reihe nach abarbeiten. Man könnte natürlich auch ein Array als Merker erstellen und in einer Schleife abarbeiten.
                                  In der Zeit wird natürlich die zyklische Abfrage aller anderen Werte angehalten.
                                  Da ich auch kein Profi bin, was Javascript angeht und ich gerade erst den Umgang damit lerne, bin ich für jede Hilfe dankbar. :grinning: :+1:

                                  smartboartS Offline
                                  smartboartS Offline
                                  smartboart
                                  schrieb am zuletzt editiert von smartboart
                                  #134

                                  @ArnoD Hallo Arno, so kompliziert würde ich das mit dem Merker garnicht angehen.
                                  Ich habe mal ein Bespiel für die Funktion Regenerationsstart eingebaut, welche sicher stellen sollte, dass der Befehl auch abgesetzt wird, sobald keineRückmedlung wieder flase ist nachdem durch einen Fehlerfall der Befehlt für manuellen start nicht durch ging...
                                  Könnte man auch in den Fehlerspeicher abrufen so einbauen. Oder überall wo du die Bedingung für manuellen abruf bei keineRückmeldung = true unterbindest.
                                  im Beispiel unten müsstest du noch die Zeile RegenerationStart(); an der Stelle einbauen wo du KeineRückmeldung wieder false setzt...
                                  Unschön ist halt, das die Funktion nun je nach const constPollingCycle = 60 getriggert wird...

                                  //manuelle Regeneration Int 1=Start
                                  
                                  function RegenerationStart() {
                                      if (debug) {console.log('Trigger Regenerationstart Prüfung aktiv')}
                                      var Regeneration = getState(idReg).val;
                                      var Trigger = getState(idRegStart).val;
                                      setStateDelayed(idRegStart,false,1*1000);
                                      if ((KeineRueckmeldung === false && Regeneration === 0 && Trigger === true)||(KeineRueckmeldung === false && merker === true && Regeneration === 0)){
                                      ShowState ("edit=D_B_1>1&id=3369~")
                                      merker = false;
                                      if (debug) {console.log('Befehl zum Regeneratiosstart wurde abgesetzt')}
                                      }else{
                                  		if(KeineRueckmeldung == true){
                                  			merker = true;
                                  	        if (debug) {console.log('Befehl zum Regeneratiosstart ging wegen fehlender Rückmeldung nicht durch')}
                                          
                                          } 
                                  
                                      }
                                  
                                  }
                                  
                                  var merker = false
                                  on({id:idRegStart,val:true,change:'ne'}, function (obj){
                                  RegenerationStart();
                                  });
                                   
                                  
                                  
                                  
                                  // RegenerationStart(); eingefügt
                                  // aktuelle State SC18 abrufen
                                  
                                  function ShowState (sParSend) 
                                  
                                  {
                                  
                                      if (KeineRueckmeldung == false)
                                  
                                      {
                                  
                                          if(typeof(sParSend) == "undefined")sParSend = "";
                                  
                                  		xhr.open("POST","http://" + constIP + "/mux_http", true);
                                  
                                  	    xhr.setRequestHeader("Content-type", "application/json");
                                  
                                  	    xhr.setRequestHeader("Content-length", sParSend.length);
                                  
                                  		xhr.setRequestHeader("Connection", "close");
                                  
                                  		xhr.responseType = "document";
                                  
                                          if (KeineRueckmeldung == false){
                                  
                                              xhr.send(sParSend);
                                  
                                              if (debug) {console.log (sParSend.length + " Byte an Daten wurden gesendet :" + sParSend)}
                                  
                                          }
                                  
                                          KeineRueckmeldung = true;
                                  
                                          TimeoutRueckmeldung = setInterval(function(){timeout_Rueckmeldung();} , 4000);
                                  
                                  		xhr.onreadystatechange = function()
                                  
                                  		{
                                  
                                  				if (xhr.readyState==4)
                                  
                                  				{
                                  
                                  					clearInterval(TimeoutRueckmeldung);
                                  
                                  					KeineRueckmeldung = false;
                                  
                                                      RegenerationStart();
                                  
                                  				}
                                  
                                  			
                                  
                                  		}
                                  
                                  		
                                  
                                      }	
                                  
                                      else {return}
                                  
                                  }
                                  
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • S schmid_no1

                                    Habe 22°dH hat alles Mein flaschner eingerichtet zieh aber den Kalk nicht komplett aus dem Wasser also es bleiben 8° dH. Wenn die kleinen ein bisschen größer sind werde ich nochmals absenken(für meine Frau) 😉

                                    smartboartS Offline
                                    smartboartS Offline
                                    smartboart
                                    schrieb am zuletzt editiert von
                                    #135

                                    @schmid_no1 Ja ich habe es auf 5°dH eingestellt.

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Online
                                      A Online
                                      ArnoD
                                      schrieb am zuletzt editiert von
                                      #136

                                      Ich habe jetzt ein neuen Tobic eröffnet mit einer besseren Überschrift.
                                      https://forum.iobroker.net/topic/20860/grünbeck-sc18-daten-mit-js-auslesen

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Online
                                        A Online
                                        ArnoD
                                        schrieb am zuletzt editiert von
                                        #137

                                        @smartboart habe mir deine Lösung für Merker angeschaut und es würde so funktionieren :+1:
                                        Nachteil ist das die Funktion RegenerationStart() jedes Mal getriggert wird, auch wenn sich kein Wert geändert hat und wenn wir das bei allen Parameter der Anlage die änderbar sind machen wird es ziemlich unübersichtlich.
                                        Das die Funktion nun je nach consPollingCycle getriggert wird, wäre für mich erst mal kein Nachteil, kann aber zu dem Phänomen führen, das man z.B. einen Schalter in Vis auf ein=1 stellt, der von der zyklischen Abfrage mit dem Wert 0 von der Anlage überschrieben wird und dann vom Merker wieder auf 1 gesetzt wird. Sieht in Vis etwas komisch aus, würde aber funktionieren. Wenn mir nichts Besseres einfällt, würde ich das erst mal so übernehmen.

                                        smartboartS 1 Antwort Letzte Antwort
                                        0
                                        • A ArnoD

                                          @smartboart habe mir deine Lösung für Merker angeschaut und es würde so funktionieren :+1:
                                          Nachteil ist das die Funktion RegenerationStart() jedes Mal getriggert wird, auch wenn sich kein Wert geändert hat und wenn wir das bei allen Parameter der Anlage die änderbar sind machen wird es ziemlich unübersichtlich.
                                          Das die Funktion nun je nach consPollingCycle getriggert wird, wäre für mich erst mal kein Nachteil, kann aber zu dem Phänomen führen, das man z.B. einen Schalter in Vis auf ein=1 stellt, der von der zyklischen Abfrage mit dem Wert 0 von der Anlage überschrieben wird und dann vom Merker wieder auf 1 gesetzt wird. Sieht in Vis etwas komisch aus, würde aber funktionieren. Wenn mir nichts Besseres einfällt, würde ich das erst mal so übernehmen.

                                          smartboartS Offline
                                          smartboartS Offline
                                          smartboart
                                          schrieb am zuletzt editiert von smartboart
                                          #138

                                          @ArnoD said in Daten aus einer Website mit Javascript:

                                          Nachteil, kann aber zu dem Phänomen führen, das man z.B. einen Schalter in Vis auf ein=1 stellt, der von der zyklischen Abfrage mit dem Wert 0 von der Anlage überschrieben wird und dann vom Merker wieder auf 1 gesetzt wird. Sieht in Vis etwas komisch aus, würde aber funktionieren.

                                          Hi, habe es bei mir so schon laufen, weil ich ja auch automatisch regeniere wenn wir nicht zu Hause sind..
                                          Funktionieren tut es.. Wird jedesmal getriggert? ja, habe ich oben ja geschrieben, aber der Befehl wird ja bei den if ( && ) Bedingungen abgeblockt und stört somit nicht die Anlage..Das Abrufen der States erfolgt ja nur innerhalb IObroker...
                                          Und mit dem Button zum starten wird es nicht komisch aussehen, da wir ja mit dem eigens dazu angelegten AussenEigriff :-) State Starten und der wird ja nur einmal true und nach einer Sekunde wieder false gesetzt.
                                          und da das Signal zum regenerieren nur durchgeht wenn es nicht 1 ist, ist das auch für eine eventuelle Statusanzeige ausgeschlossen. Theoretisch zumindest...

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          836

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe