NEWS
Daten aus einer Website mit Javascript
-
@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 -
Und bei mir läuft alles fehlerfrei seit 4 Tagen
-
@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.
-
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
-
@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.
-
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)
-
@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} }
-
@schmid_no1 Ja ich habe es auf 5°dH eingestellt.
-
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 -
@smartboart habe mir deine Lösung für Merker angeschaut und es würde so funktionieren
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. -
@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...