NEWS
Adapter: Luxtronik 1 - Wärmepumpensteuerung
-
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 -
Vielen Dank schon mal, probiere ich morgen Abend aus, bin momentan nicht daheim. Das mein Converter aber auch nicht immer über das Web aufrufbar ist finde ich auch komisch. Brauch ich zwar nicht unbedingt wenn mal alles läuft, aber normal ist es auch nicht. Vielleicht bestelle ich mir sonst mal deinen bei Amazon. Gebe dir auf jedenfall eine Rückmeldung und ggf ein neues Log.
Schönen abend.Gruß Willi
-
Guten Morgen forelleblau,
du bist echt spitze, es scheint zu funktionieren, anbei der Log. Mein Converter war bisher auch immer erreichbar. Werde das jetzt mal übers Wochenende testen.
iobroker.2020-06-12.logMich würden mal deine Werte im Control interessieren, hab nach dem einstellen vom Heizungsbauer damals kaum etwas geändert, darf gar nicht weiter darüber nachdenken......... hier gibt es noch einiges zu optimieren.
Warum seit gestern abend die Kurve vom "Brauchwasser Soll" nicht weiter im Flot angezeigt wird, muss ich heute mal prüfen. (Ist zwar immer nur eine gerade Linie, aber hier sieht man am besten wenns Unterbrechnungen gibt und hatte bisher auch geklappt)Herzlichen Dank
-
Hi forelleblau,
also jetzt läuft es reibungslos. Die Änderung kannst du ins nächste update einbauen, TOP.
Mein Converter ist jetzt auch immer erreichbar. Die Kurve für "Brauchwasser Soll" im Flot geht auch, hier muss man bei einem gleichbleibenden Wert eine Sek. Anzhal eingeben, damit der Wert aufgezeichnet wird. Dies hat vermutlich vorher auch so funktioniert, da der Converter immer alle paar Minuten einen Neustart gemacht hatte.DANKE nochmal
-
Hallo Willi-Wunder
Danke für diemRückmeldung, bin froh, wenn es funktioniert. Offensichtlichnsind allemanderen Converter weniger schnell darin, die Verbindung abzubrechen.
Meine ‚control‘ - Werte kann ich dir schon geben. Das wird dir aber nicht viel bringen, weil die davon abhängen was du für eine Heizung, für ein Heizsystem, für Umgebungsbedingungen und für ein persönliches Wärmeempfinden hast. Wenn du mit dem Klima in deinem Haus zufrieden bist, lass alles wie es ist.
Herzliche Grüsse
Forelleblau -
Hallo forelleblau,
habe am Wochenende mich damit genauer beschäftigt. Daten kommen zuverlässig an, es sei denn, man ändert einen Wert bei "Control". Dann kommen unvollständige, keine Werte gesetzen Meldungen im Log und die Neustarts wie am Anfang ohne deiner Modifizierunng erscheinen wieder. Kann es sein, dass hier ggf. auch eine zusätzliche Sicherung in den Code eingebaut werden muss, dass die Verbindung nicht zu schnell abgebrochen wird? Häng dir den Log mal ran. Ersichtlich ist dies bei ca. ~2 Uhr und ~20.30, da hatte ich versucht das Brauchwasser bzw. Heizung ein und auszuschalten.
Herzlichen Dank.
Gruß Willi-Wunder
-
Hallo,
mir geht es genau so. Versuche jetzt schon Tagelang die Options zu ändern und z.B. den BW state auf 1 zu setzen.
Aber egal was ich mache es kommt immer
luxtronik1.0 2020-06-20 12:47:37.866 info (27555) ack is not set!
Auch die händische Eingabe im Adapter funtioniert nicht. Das mit dem "einfach eingeben und Enter" geht bei mir nicht.
Entweder ich habe das Drop Down und kann anklicken, oder ich gehe auf den Stift und kann dort händisch eine 1 eintragen. Dann geht aber Enter nicht, sondern ich muss setzen drücken. (oder verstehe ich da was falsch?)
Wenn ich im Blocky oder Javascript ein Script per Schalter ausführe und die "ACK=false" sende, kommt der gleiche Fehler.
So wies bei Dir Willi-Wunder im Log aussieht, hast Du das gleiche Problem.
Auszug aus Deinem Log:2020-06-14 02:17:06.682 - [33mwarn[39m: luxtronik1.0 (4178) 3406 connection error: Error: This socket has been ended by the other party 2020-06-14 02:17:08.682 - [33mwarn[39m: luxtronik1.0 (4178) 3406 connection error: Error: This socket has been ended by the other party 2020-06-14 02:17:16.934 - [34mdebug[39m: luxtronik1.0 (4178) stateChange luxtronik1.0.control.ModusHeizung {"val":1,"ack":false,"ts":1592093836927,"q":0,"from":"system.adapter.web.0","user":"system.user.admin","lc":1592093836927} 2020-06-14 02:17:16.936 - [34mdebug[39m: luxtronik1.0 (4178) Instanz: luxtronik1.0 2020-06-14 02:17:16.937 - [34mdebug[39m: luxtronik1.0 (4178) id=control.ModusHeizung 2020-06-14 02:17:16.939 - [34mdebug[39m: luxtronik1.0 (4178) Setze Modus Heizung auf: ZWE 2020-06-14 02:17:16.941 - [32minfo[39m: luxtronik1.0 (4178) ack is not set
Könnte bitte jemand bitte mal den Syntax für Javascript hier posten, wie man per Trigger den Status ändert und dabei die ack=false richtig verwendet?
Meine Version funtioniert jedenfalls nicht:
on({id: 'luxtronik1.0.control.Heizpatrone_Trigger'/*Heizpatrone Trigger*/}, function (obj) { var status_trigger=getState('luxtronik1.0.control.Heizpatrone_Trigger'/*Heizpatrone Trigger*/).val; var status_ww=getState('luxtronik1.0.control.ModusWW'/*Betriebsmodus Warmwasser*/).val; if(status_trigger === true && status_ww != 1 ) { setState ('luxtronik1.0.control.ModusWW'/*Betriebsmodus Warmwasser*/, '1', false); } else{ setState ('luxtronik1.0.control.ModusWW'/*Betriebsmodus Warmwasser*/, '0', false); } });
log output dazu:
luxtronik1.0 2020-06-20 12:54:07.313 debug (27555) Connection closed luxtronik1.0 2020-06-20 12:54:07.312 warn (27555) 3406 connection error: Error: read ECONNRESET luxtronik1.0 2020-06-20 12:54:06.785 debug (27555) Connected to Luxtronik luxtronik1.0 2020-06-20 12:54:06.783 info (27555) ack is not set! luxtronik1.0 2020-06-20 12:54:06.782 debug (27555) Setze Modus Warmwasser auf: ZWE luxtronik1.0 2020-06-20 12:54:06.782 debug (27555) id=control.ModusWW luxtronik1.0 2020-06-20 12:54:06.782 debug (27555) Instanz: luxtronik1.0 luxtronik1.0 2020-06-20 12:54:06.781 debug (27555) stateChange luxtronik1.0.control.ModusWW {"val":"1","ack":false,"ts":1592650446775,"q":0,"from":"system.adapter.javascript.1","user":"system.user.admin","lc":1592650446775} luxtronik1.0 2020-06-20 12:54:06.770 info (27555) ack is not set! luxtronik1.0 2020-06-20 12:54:06.769 debug (27555) id=control.Heizpatrone_Trigger luxtronik1.0 2020-06-20 12:54:06.769 debug (27555) Instanz: luxtronik1.0
Alpha Innotek SWC mit Luxtronik1 Firmware: 2.11
Grüße
Argus -
Okay, dachte es liegt an meinem Converter. Dann warte ich mal ob forelleblau noch eine Lösung hat bevor ich mir einen anderen Converter bestelle. Aber in erster Linie geht es mir erstmal ums auslesen.
-
Hallo @Willi-Wunder und @argus
Tut mir leid, dass ich mich bis jetzt nicht gemeldet habe, hab grad ein anderes, IT-fernes Projekt am laufen.
Willi-Wunder, hab dein Log angeschaut und ja, das scheint auch hier ein Timing-Problem zu sein. Bei den meisten Versuchen wird die Verbindung beendet bevor alle Befehle durch sind, wenn ich's richtig erkenne. Ich werde mir nochmals deine Einstellungen oben anschauen und meinen Code studieren, ob ich noch ein 'Sicherung' einbauen kann, wie beim Abrufen der Werte. Kann aber paar Tage dauern.
Argus: die 'ack is not set' Medlung ist nur ein Logeintrag der da auch richtig ist, der Adapter reagiert nur, wenn ack=false, mit ack=true löst der Trigger nicht aus.
Hier einmal ein Beispiel eines 'normalen' Logs für eine Änderung der BW-Solltemperatur:
luxtronik1.0 2020-06-21 18:53:59.030 debug (1374) stateChange luxtronik1.0.temperaturen.BWs {"val":48,"ack":true,"ts":1592758439022,"q":0,"from":"system.adapter.luxtronik1.0","user":"system.user.admin","lc":1592650467226} luxtronik1.0 2020-06-21 18:53:59.019 debug (1374) Daten 3501 fertig verarbeitet. luxtronik1.0 2020-06-21 18:53:59.018 debug (1374) Warmwasser soll neu: 0 luxtronik1.0 2020-06-21 18:53:59.016 debug (1374) Anzahl Elemente Datenset: 57 luxtronik1.0 2020-06-21 18:53:59.015 debug (1374) Datenset: 3501 3501;1;480 3501;1;480 3501;1;480 999 993 999 luxtronik1.0 2020-06-21 18:53:59.014 debug (1374) Connection closed luxtronik1.0 2020-06-21 18:53:58.976 debug (1374) system.adapter.admin.0: logging true luxtronik1.0 2020-06-21 18:53:54.800 debug (1374) Connected to Luxtronik luxtronik1.0 2020-06-21 18:53:54.791 info (1374) ack is not set! luxtronik1.0 2020-06-21 18:53:54.790 debug (1374) Setze Warmwasser-Soll auf: 48 luxtronik1.0 2020-06-21 18:53:54.789 debug (1374) id=control.BWs luxtronik1.0 2020-06-21 18:53:54.788 debug (1374) Instanz: luxtronik1.0 luxtronik1.0 2020-06-21 18:53:54.787 debug (1374) stateChange luxtronik1.0.control.BWs {"val":48,"ack":false,"ts":1592758434782,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1592758434782}
Ich seh zwar grad , dass da noch ein Fehler sit (Warmwasser soll neu: 0), die Einstellung ist aber richtig bie 48 und wird beim Abfragen auch so geliefert.
Bei argus ist also erst der 'warn' eintrag kritisch, ohne dass ich sehe, was das problem ist.
Funktioniert dann bei dir das Abragen der Werte? Ist nur die Bedeinung ein Problem? Hast du die neueste Version direkt von Github installiert, wie Willi-Wunder?
Herzliche Grüsse
Forelleblau
-
Hallo forelleblau,
vielen Dank für deine Rückmeldung. TOP das du dich nochmal drum kümmerst willst
Ein Freund hat die Lux2, hier bist du nicht zufällig auch dran beteiligt, oder? Grins.Bis bald.
Gruß Willi Wunder
-
@forelleblau
Hallo,ja der Adapter ist Version 0.2.3 von Git.
Habe versucht unter Control händisch 55 Grad bei BW einzutragen. Folgende Meldung:luxtronik1.0 2020-06-23 16:46:30.854 warn (19785) 3405 connection error: Error: read ECONNRESET luxtronik1.0 2020-06-23 16:46:30.262 debug (19785) Connected to Luxtronik luxtronik1.0 2020-06-23 16:46:28.866 debug (19785) Daten 1800 fertig verarbeitet. luxtronik1.0 2020-06-23 16:46:28.866 debug (19785) Datensatz1800 unvollständig, keine Werte gesetzt luxtronik1.0 2020-06-23 16:46:28.866 debug (19785) Anzahl Elemente Datenset: 18 luxtronik1.0 2020-06-23 16:46:28.865 debug (19785) Datenset: 1800 779;3501;1 luxtronik1.0 2020-06-23 16:46:28.865 debug (19785) Connection closed luxtronik1.0 2020-06-23 16:46:28.864 warn (19785) 1800 connection error: Error: read ECONNRESET luxtronik1.0 2020-06-23 16:46:28.276 debug (19785) Connected to Luxtronik luxtronik1.0 2020-06-23 16:46:17.494 warn (19785) 3501 connection error: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed luxtronik1.0 2020-06-23 16:46:15.494 warn (19785) 3501 connection error: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed luxtronik1.0 2020-06-23 16:46:14.111 debug (19785) stateChange luxtronik1.0.temperaturen.BWs {"val":55,"ack":true,"ts":1592923574094,"q":0,"from":"system.adapter.luxtronik1.0","user":"system.user.admin","lc":1592923574094} luxtronik1.0 2020-06-23 16:46:14.087 debug (19785) Daten 3501 fertig verarbeitet. luxtronik1.0 2020-06-23 16:46:14.086 debug (19785) Warmwasser soll neu: luxtronik1.0 2020-06-23 16:46:14.086 debug (19785) Anzahl Elemente Datenset: 18 luxtronik1.0 2020-06-23 16:46:14.085 debug (19785) Datenset: 3501 3501;1;650 luxtronik1.0 2020-06-23 16:46:14.085 debug (19785) Connection closed luxtronik1.0 2020-06-23 16:46:14.084 warn (19785) 3501 connection error: Error: read ECONNRESET luxtronik1.0 2020-06-23 16:46:13.493 debug (19785) Connected to Luxtronik luxtronik1.0 2020-06-23 16:46:13.488 info (19785) ack is not set! luxtronik1.0 2020-06-23 16:46:13.488 debug (19785) Setze Warmwasser-Soll auf: 55 luxtronik1.0 2020-06-23 16:46:13.488 debug (19785) id=control.BWs luxtronik1.0 2020-06-23 16:46:13.487 debug (19785) Instanz: luxtronik1.0 luxtronik1.0 2020-06-23 16:46:13.487 debug (19785) stateChange luxtronik1.0.control.BWs {"val":55,"ack":false,"ts":1592923573484,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1592923573484}
Der RS232 Adapter ist ein MOXA NPort 5110 und die Werte sind so eingestellt:
Sendet mein Adapter nicht richtig?
mfg
Argus -
Hallo Argus
Ich hab zwar keinen Moxa, aber eben mal etwas im Handbuch gelesen. Auch wenn weiter oben schon diskutiert machen aus meiner Sicht gewisse deiner Einstellungen keinen Sinn, resp. können von mir aus gesehen nicht funktionieren.
Ich würde es einmal mit:
Inactivity Time: 0
Ignore jammed IP: No
Delimiters: uncheck Enable
Delimiter proces: Do nothing
Force transmit:0Im Log ist das Probelm, dass die Verbindung immer zu früh beendet wird.
Hoffe es funktioniert so.
Herzliche Grüsse
forelleblau -
@Willi-Wunder Bin auch an der Lux1 nicht 'beteiligt'. Hab einfach eine und darum mal etwas gebastelt..
Was dein Problem betrifft: könntest du nochmals deine Einstellungen am Converter mit meinen Empfehlungen an argus abstimmen?Zum Programmieren komme ich die nächsten Tage grad nicht.
-
Hallo,
also habe die Moxa Werte geändert und siehe da...es funktioniert prächtig.
Keine Fehler mehr und mein Script läuft auch.
Melde mich später nochmal , wenn ich mehr getestet habe.
Vielen Dank für die Hilfe!!!Grüße