NEWS
Daten aus einer Website mit Javascript
-
Ja das kann man natürlich auch machen...
-
Hallo ArnoD
Erstmal ein großes Lob an dein Grünbeck Script.
Ich habe dieses seit 4 Tagen am Laufen.
Alles Funktioniert soweit sehr gut ausser das es sich nach ca 1h einfach aufhängt.
Konntet ihr bei euch auch sowas feststellen ? -
Hallo Schnid_no1,
ich habe das Script noch mal verändert.
Laut Schnittstellenbeschreibung können über die Schnittstelle max. 1000 Byte übertragen werden.
Wenn ich alle Werte auf einmal Abfrage, komme ich auf 564 Byte beim Senden und 1630 Byte als Antwort, was eigentlich ja zu viel wäre. Bei mir läuft das aber ohne Probleme.
Ich habe aber festgestellt da die Antwortzeiten sehr stark variieren und zwar unabhängig von der Größe der übertragenen Daten. Ich habe jetzt die Antwortzeit auf 3 sek. bis zum Timeout begrenzt, da in 90% die Rückmeldung in 3 sek. erfolgt.
Ich habe aber auch festgestellt das zum Teil gar keine Rückmeldung von der Anlage kommt was dann immer zum Fehler "Error in callback: Error: INVALID_STATE_ERR: send flag is true" geführt hat.
Was ich noch feststellen konnte ist, dass beim Starten vom Script es manchmal drei Sendevorgänge benötigt bis die Schnittstelle Antwortet.
Es wäre natürlich hilfreich, wenn du hier posten könntest was für eine Fehlermeldung im Log kommt, wenn sich das Script bei dir aufhängt.
Es wäre auch interessant wie die Antwortzeiten der Schnittstelle bei anderen Anlagen ist.
Um das zu testen müsstest du im Script die Variable debug auf true setzen und im Log die Zeiten von „Daten wurden gesendet“ bis zu „Rueckmeldung SC18“ hier posten.
Habe mein Post weiter oben, das alte Script durch das geänderte Script korrigiert. -
Hallo ArnoD
Eine Fehlermeldung gabs leider keine.Das Script 1.1.0 hörte einfach auf in die Objekte zu schreiben.
Habe dein neues Script 1.2.0 schon am laufen und bekam im log folgendes.- javascript.0 2019-03-02 12:48:45.006 info script.js.Allgemein.Grünbeck120: Daten wurden gesendet
- javascript.0 2019-03-02 12:48:33.400 info script.js.Allgemein.Grünbeck120: Rueckmeldung SC18:<data><code>ok</code><D_D_1>22.0</D_D_1><D_D_2>-</D_D_2><D_A_4_1>-</D_A_4_1><D_A_4_2>-</D_A_4_2><D_A_4_3>-</D_A_4_3><D_C_1_1>0</D_C_1_1><D_C_2_1>0</D
- javascript.0 2019-03-02 12:48:30.022 info script.js.Allgemein.Grünbeck120: Daten wurden gesendet
- javascript.0 2019-03-02 12:48:18.458 info script.js.Allgemein.Grünbeck120: Rueckmeldung SC18:<data><code>ok</code><D_D_1>22.0</D_D_1><D_D_2>-</D_D_2><D_A_4_1>-</D_A_4_1><D_A_4_2>-</D_A_4_2><D_A_4_3>-</D_A_4_3><D_C_1_1>0</D_C_1_1><D_C_2_1>0</D
- javascript.0 2019-03-02 12:48:15.008 info script.js.Allgemein.Grünbeck120: Daten wurden gesendet
- javascript.0 2019-03-02 12:48:01.307 info script.js.Allgemein.Grünbeck120: registered 1 subscription and 1 schedule
- javascript.0 2019-03-02 12:48:01.261 info Start javascript script.js.Allgemein.Grünbeck120
Ich hoffe es war das was du brauchst.
Danke für deine Arbeit! -
Zudem ist mir aufgefallen das beim Script 1.1.0 jeder einzelne beschriebene Datenpunkt im Log aufgeführt wurde.
Beim Script 1.2.0 nur das wie oben aufgeführt. Und wenn ich die Variable debug auf false setze kommt nur 1x senden und 1x empfangen danach werden die Datenpunkte weiter beschrieben ohne das dies im Log aufgeführt wird.
Lasse die Variable debug jetzt auf true und schau mal was passiert. -
Ok danke, die Antwortzeiten sind vergleichbar wie bei mir um die 3 sek.
Beim Script 1.1.0 sind noch einige Fehler enthalten, bin erst am Anfang das ich einigermaßen verstehe wie die Schnittstelle auf Anfragen reagiert.
Ich vermute das die Schnittstelle der SC18 nicht die schnellste ist.
Habe bei mir die den Abfragetakt auf 30 Sek. eingestellt und das Timeout auf 15 sek. seitdem bekomme ich auf jeden Send Befehl auch ein Antwort nach 3 Sek.
Werde mich noch etwas mit den Einstellungen spielen um zu testen ab wann die Schnittstelle überfordert ist. -
Bin auf dein nächste Neuerung gespannt!
Weiter so!!! -
Ok, habe jetzt für mich die Richtigen Einstellungen gefunden.
Abfragezyklus 18 Sek. und Timeout 15 Sek.
Alles unter 18 Sek. führt bei mir dazu, dass ich sporadisch keine Rückantwort von der Anlage erhalte.
Script weiter oben mit diesen Einstellungen angepasst.
Werde mich jetzt mit den änderbaren Werten beschäftigen, da ich hier noch keine Lösung habe wie ich diese im Abfragezyklus so integriere das keine Überschneidung entsteht.
Wenn jemand da eine Lösung hat, würde ich mich freuen.
Da ich immer noch nicht weiß, wie man eine manuelle Regeneration starten kann, würde ich mich auch da über Unterstützung freuen.
Ich weiß bis jetzt nur das es über den Parameter D_B_1 gehen müsste, aber irgendwie funktioniert ein einfaches xhr.send("id=8871&edit=D_B_1>" + Status + "&show=D_B_1~") hier nicht. -
ArnoD leider kenne ich mich nur mit heidenhain und siemens840d aus javascript ist Neuland für mich also werde ich dir dabei leider nicht helfen können. Habe gerade noch 1.2.2 drauf gezogen. Und melde mich die nächsten drei Tage ab. Dir viel Spaß beim testen
-
So heute habe auch ich die Anlage in Betrieb genommen und vor 5 min das Script. Das Script hat auf Anhieb funktioniert. Wie es sich jetzt verhält kann ich dann die nächsten Tage auch berichten. Debug habe ich mal aktiviert.
-
-
wird bei euch das InbetriebnahmeDatum angezeigt? Bei mir ist auch in der app nichts eingetragen...Hat mit dem Script zwar nichts zu tun, aber Fragen kann man ja mal...
-
@smartboart Danke, die Antwortzeiten sind anscheinend ziemlich identisch.
Das Inbetriebnahme Datum wird natürlich nur angezeigt, wenn es vom Installateur auch eingegeben wurde.
Bei mir wird hier auch kein Datum angezeigt. -
Hab Ich mir schon gedacht... Danke fuer die Bestätigung... Habs auch selber installiert... Gewährleistung fuer 3 Jahre wird dann wohl ein Thema trotz Registrierung... Aber egal...
Im Script hast du angegeben > 18 Sek sind nicht zu empfehlen..Du meinst sicher < oder? -
Ja, stimmt
falsche Taste erwischt. Danke -
So habe jetzt die View fertig und das Gerät in Betrieb. Das Script läuft auch sehr gut so dass ich jetzt den Durchfluß mit nem Floatchart mitloggen kann. Daraus lässt sich dann der Salzverbrauch nach einer gewissen Zeit ableiten. Wenn das soweit ist kann man ja noch über ein zusätzliches Script nachdenken, welche die Verbrauchswerte anzeigt, oder das noch intergrieren. Bis dahin wird aber bestimmt noch etwas Zeit vergehen.
Die Liste von Grueneck mit den Kommunikationsparametern habe ich hier im Threat gefunden. Werde dann wegen der Power und eco modus Umschaltung sowie der Regeneration mal mit testen. Vorher muss ich aber noch die entsprechende Kommunikation im Script verstehen. Hier nochmals danke für die tolle Arbeit...Hoffe du bleibst dran..
-
Hi heute mal im log nachgschaut...
Sammeln sich diverse Einträge dieser Art...
Kommen auch vermert wenn ich anderweitig auf das Gerät zugreife. -
Hallo smartboart
Ich denke der Fehler kommt wenn nach 15 s kein callback kommt.
Vorallem wenn du anderweitig auf deine Anlage zugreifst wird wird die Schnittstelle überlastet sein und somit kein callback ausgegeben.
Hast du deinen debug auf true oder false. Wenn du den auf true hast wird dir das Script jeden falschen callback als Fehler anzeigen -
Ja das ist genau das Problem, womit ich mich zurzeit beschäftige.
Habe noch keine Möglichkeit gefunden, das sicher abzufangen.
Habe jetzt noch ein paar Änderungen Vorgenomen:
- Automatische Zeit Synchronisation wenn Regenerationszeitpunkt auf "1=fest" eingestellt ist.
- Bei Änderung der Werte Ansprechverhalten,Regenerationszeitpunkt,Regenerationszeit wird
die Änderung an die SC18 gesendet.(!! noch nicht fehlerfrei, bei schnellen umschaltungen kommt send flag true Fehler !!)
- Parameter C_C_5_3 Automatische Umschaltung Sommer-/Winterzeit entfernt (ohne Funktion bei SC18) -
@smartboart es wäre für mich auch interessant zu wissen, wann dieser Fehler auftritt und was im log vor dem Fehler steht, wen der debug Modus aktiv ist.
Wie aber schon schmid_no1 richtig bemerkt hat, tritt der " flag true" Fehler immer auf, wenn keine Rückantwort kommt und aber mit xhr.open die nächste Anfrage gestartet wird.
Bin der Lösung auf der Spur.