NEWS
Adapter: Luxtronik 1 - Wärmepumpensteuerung
-
Hallo forelleblau,
erstmal vielen Dank für diesen tollen Adapter mit dem ich meine 13 Jahre alte Wärmepumpe in iobroker einbinden konnte
Ich habe sie auch mit dem USR-TCP232-302 verbunden. Die Werte werden im Objekt gefüllt und ich kann auch Werte setzen.Allerdings passiert es ein oder zwei mal am Tag, dass die Werte nicht mehr aktualisiert werden und ich den Adapter neu starten muss. Im Log ("Silly") sieht man, dass der Adapter im "warten" hängen bleibt:
2020-04-05 04:39:00.084 - [34mdebug[39m: luxtronik1.0 (30792) Connected to Luxtronik 2020-04-05 04:43:55.575 - [34mdebug[39m: luxtronik1.0 (30792) warte 2020-04-05 04:43:56.576 - [34mdebug[39m: luxtronik1.0 (30792) warte 2020-04-05 04:43:57.577 - [34mdebug[39m: luxtronik1.0 (30792) warte 2020-04-05 04:43:58.577 - [34mdebug[39m: luxtronik1.0 (30792) warte
Als Workaround überwache ich die Werte und wenn sie sich nicht mehr ändern, starte ich den Adapter neu. Dann läuft wieder alles.
Hast du eine Idee woran das liegen könnte?
-
@todde
Wie hast du das gemacht das du die Werte überwachst ? -
@Stobli ,
quick and dirty mit javascript:
schedule('*/10 * * * *', function(obj) { var dnow = new Date(); var utnow = dnow.getTime(); var tsaut = getState('luxtronik1.0.temperaturen.AUT').ts; var tdiff = utnow - tsaut; log("Lux -- Diff: " + tdiff); log("Lux -- Timestamp: " + tsaut); if(tdiff > 266000) { log("Lux -- Time out!!!!"); sendTo('telegram.0', {text: '🚨 Luxtronic Offline!', chatId: 'xxxxxxxx'}); var adapterObj = getObject('system.adapter.luxtronik1.0'); adapterObj.common.enabled = false; setObject('system.adapter.luxtronik1.0',adapterObj); adapterObj.common.enabled = true; setTimeout(function(){ setObject('system.adapter.luxtronik1.0',adapterObj); }, 3000); } else { log("Lux -- Luxtronic working!"); } });
-
@todde
Jetzt hast du mich erwischt. Ich bin noch recht neu in dem Thema.
Das einzige was ich bisher gemacht habe sind Programme mit blockly estellt.
Wo muß das Script hin ? -
@Stobli sagte in Adapter: Luxtronik 1 - Wärmepumpensteuerung:
Wo muß das Script hin ?
Unter Skripte ein neues Javascript anstatt Blockly erstellen. Hab dir genaueres via Chat geschickt, da hier off topic ...
-
Soll ich das, oder eine analoge Restart - Funktion in den Adapter einbauen?
-
Ja, wäre super wenn du eine Art Watchdog implementieren könntest.
Da du an verschiedenen Stellen im Adapter-Code "Warte" ins Log schreibst, kann ich dir leider nicht genau sagen, wo mein Problem auftritt ... -
Ich habe das jetzt sol gelöst mal sehen wie das läuft.
-
Hallo allerseits
Es steht eine neue Version zur Verfügung, die nun automatisch neu starten sollte, wenn der Adapter hängen bleibt. Ein erster Schnelltest von todde war positiv - herzlichen Dank. Die Version 0.2.3 ist auf Github/npm und somit spätestens morgen auch im latest - Repo verfügbar.
Für einen kurzen Test und ein ensprechendes Feedback hier:
bin ich euch dankbar (das Verschieben ins stable - Repo ist dann einfacher).
Herzliche Grüsse
forelleblau
-
OK - DANKE
Ich hab die neue mal installiert und lass mein überwachungsprogramm mitlaufen.
-
Gern geschehen. Da mit der neuen Version auch mal ein Abfragerunde / polling ausfallen kann, empfehle ich dir beim Überwachungsprogramm ein Prüfintervall > 3*Abfrageintervall.
Gruss Forelleblau
-
Hallo @forelleblau,
der Adapter lief jetzt seit heute Morgen ohne Probleme durch! Topp
Viiiiiielen Dank für deine schnelle Hilfe. -
Hi!
Möchte mich hier auch erstmal für die tolle Arbeit bei @forelleblau bedanken.
Läuft bei mir aber noch nicht ganz rund, vielleicht kann mir hier jemand noch einen Tipp geben.- Daten kommen zwar an, brechen aber immer wieder mal ab. Hier mal der Log und meine Einstellungen vom Adpater:
!
Im iobroker steht bei Luxtronik1-Info-Connection zwar "true" und der Zeitstempel stimmt auch, allerdings kommen keine neuen Werte bei den Temperaturen an.
Erst wenn ich den Haken im Lan Converter (Planet ICS-100) bei "Reverse Telnet" entferne bekomme ich aktuelle Daten geliefert. Allerdings ist dann der Converter nicht mehr über die IP Adresse aufrufbar. Das ist auch komisch.In der neuen Version 0.2.3 steht folgendes:
"adapter - restart in case of connection - problems added."
Values in the 'control' - channel have to be set with ack=false to trigger an action.Wo muss ich das einstellen? Bin leider erst neu im iobroker eingestiegen, sorry für die evtl dumme Frage
Vielen Dank für eure Hilfe
Nachtrag:
Wenn ich das richtig verstanden habe, muss ich wenn ich Werte unter Control verändere die neuen Werte mit der Enter Taste bestätigen und nicht auf den angezeigten Pfeil/Haken klicken. War heute früh wohl zu lange am PC -
Nurkurz von unterwegs:
Nimm die Haken weg bei delimiter unnd versuchs mit und ohne telnet reverse -
Hi,
Delimeter hatte ich auch erst deaktiviert gehabt. Nachdem Thorsten73 die Einstellungen vom NetFritz übernommen hatte und es dann bei Ihm ging, habe ich diese auch mal aktiviert. Ergebnis bleibt leider gleich.
Der Converter ist momentan trotz deaktivierter "Reverse Telnet" plötzlich wieder erreichbar. Was bedeutet diese Einstellung überhaupt?
Im iobroker Log sehe ich, dass der Adapter ca. alle 4 min neu startet. Bringt es etwas die Baudrate zu reduzieren? Polling steht auf 60000 ms im Adapter.
Überlege mir schon den gleichen Adapter wie du hast zu bestellen. Paar Tests kann ich noch machen, dann fällt mir aber nichts mehr ein.Nachtrag:
Baudrate mal auf 38400 geändert, dann kommen gar keine Daten mehr an, also bleibt es bei 57600 -
Hallo Willi Wunder
So nun mal noch der Reihe nach zu deinen Fragen:
- Einstellungen Converter
- Reverse Telnet kenne ich nicht, eher ausschalten, insbesondere wenn der Converter nun so auch erreichbar ist.
- Inactive Timeout (ist ev. das selbe wie bei mir Reset - Timeout) auf '0' setzen oder die '500' vom Moxa oben übernehmen.
- Die Baudrate darfst du nicht ändern, sonst hört der Converter nicht gleich schnell zu wie die Heizung spricht
- Adapter
- Was du einmal versuchen kannst, ist das Polling etwas höher anzusetzen, z.b. 120k oder 180k, also 2 oder 3 Minuten. So ist auch bei wiederholten Abfragen Zeit genug um eine Abfrageserie abzuarbeiten.
- ack=false hast du richtig interpretiert. Nur Wert eintragen und Enter drücken.
- Wenn du einen Zeitstempel anschauen willst, dann nimm nicht den von 'connection' das wird nur beim Start des Adapters verändert. Wenn du wissen willst, wann die letzten Werte gekommen sind, schau z.B. bei den Temperaturen.
Wenn du nach allem ausprobieren immer noch bei fast jeder Abfrage, also alle 1/2/3 Minuten einen Adapter-Neustart hast, kannst du sonst einmal ein debug-Log posten, dann schaue ich an, was tatsächlich hin- und hergeht. Meiner startet in der Regel alle paar Stunden wegen eines Fehlers neu.
Viel Erfolg.
forelleblau
-
Hallo forelleblau,
danke für die Tipps, habe es gerade so eingestellt, bin jetzt mal gespannt.
Bei aktiviertem Telnet war der Converter erreichbar, jedoch kamen keine Daten im iobroker an. Daher habe ich es abgeschaltet. Zugriff war kurzzeitig zwar mal da, ändert sich immer mal, meistens aber kein Webzugriff mehr.
Den Zeitstempel verfolge ich schon richtig bei den Temperaturen.Habe Inactive Timeout auf 0 gesetzt, erst kamen keine neuen Werte, dann plötzlich nach ca. 10 min hat er alle Temperaturen auf 0 Grad gesetzt.
Polling steht auf 180K. Weitere 10 min später hat er wieder die richtigen Werte gebracht. Die Neustarts waren vorher alle 4 min., jetzt sind es 12 min.
Werte werden nach 8 min immer noch nicht aktualisiert. Werde das Timeout mal mit 500 oder mehr testen.
Ich lasse ihn Nachts mal laufen und morgen früh sehe ich weiter oder bringt dir das jetzige Log schon etwas?Vielen Dank für deine Unterstützung
Ergänzung:
Es kommen nur neue Daten beim autom. Neustart, sprich aktuell alle 12 min.
-
Ja, da scheint was krumm zu sein. Das aktuelle Log bringt nicht das gewünschte. Du müsstest die Log-Stufe im 'Instanzen' -Fenster des ioBroker für den luxtronik-Adapter anpassen (jetzt hast du nur die Log-Einträge gefiltert). Aber nicht erschrecken, dass wird dann schnell viel, weil fast alles protokolliert wird. So kann ich aber sehen, wann welche Daten hin und hergehen.
Grüsse
Forelleblau -
@forelleblau
Hier mal der Log -
Hallo Willi-Wunder
Danke für das Log. Was gut ist daran, es zeigt, dass Daten zwischen dem Adapter und der Heizung ausgetauscht werden, manchmal sogar erfolgreich.
Was mir auffällt, ist dass es häufig der die zweite Hälfte des letzten Datensatzes (3400) einer Abfrageseqzenz abschneidet, dafür diese dann an Anfang der nächsten Abfragesequenz am Anfang steht.Dass kann daran liegen, dass dein Converter etwas fixer im Abbrechen der Verbindung als meiner ist.
Ich habe mal versucht, eine zusätzliche Sicherung in den Code einzubauen, dass die Verbindung nicht zu schnell abgebrochen wird.
Kannst du einmal den Adapter 'von Github installieren' (Github-Symbol oben auf der Adapter-Seite). Dann sollte die Version mit der Korrektur (keine neue Versionsnummer) installiert werden.Wenn es danach klappt, würde ich dann ein Update machen.
Herzliche Grüsse
forelleblau