NEWS
Test Adapter luxtronik2 v0.4.x
-
@chrid88 said in Test Adapter luxtronik2 v0.2.x:
@lessthanmore da ich nicht weiß wie/ob man hier private Nachrichten schreiben kann:
ich habe das gleiche Setup: WP mit Luxtronik und eine PV mit SMA SHM 2.0 und nen SAE.
Ich war bisher immer der Meinung, dass ich die WP nur einbinden kann, wenn ich denn Zähler an die WP angebunden habe (also entweder über S0, Modbus oder wie auch immer). Ich verstehe daher nicht ganz wie du das mit diesem Adapter löst?
Ihren eigenen Stromverbrauch kennt die WP doch nicht und hat diesen daher auch nicht als Wert abgelegt?So sieht es momentan bei mir aus:
Ich habe den Luxtronik Adapter mit zwei Instanzen laufen, einmal über den websocket und einmal über den luxtronik Port. Vom ersten lese ich und auf den zweiten schreibe, auch wenn der ständig neugestartet wird wegen Fehlern.
Die WP gibt mir die aktuelle Leistung (also Verbrauch) über den Parameter luxtronik2.0.Informationen.Anlagenstatus.Leistung-Ist aus.Zusätzlich habe ich den Adapter Smart Appliance Enabler laufen und bekomme somit die WP als Verbraucher im Sunny Home Manager 2.0 angezeigt.
Über SMA-EM bekomme ich die Werte vom SHM 2.0 in den ioBroker.Mit Blocky habe ich mir die drei folgenden Skripte erstellt:
Soll-Temp der WP rauf:
Sobald also WW angefordert wird (Soll-Wert - Hysterese; bei mir im Standard 48° - 6.0 K) und dementsprechend der Betriebszustand sich ändert (1. Instanz vom luxtronik Adapter), prüfe ich, ob die PV Einspeisung größer 2000 ist. Ich versuche dann den Wert der WP auf 62 zu schreiben. 12 Mal mit einer Verzögerung, da es teilweise so lange dauert, bis die Instanz am luxtronik Port neugestartet ist. 62, weil mein Ziel 60 sind. Über den Parameter luxtronik2.1.parameters.warmwater_temperature kann man ja eigentlich nur die Deckung einstellen.Soll-Temp wieder runter:
Ändert sich erneut der Betriebszustand (z. B. wenn die WP fertig mit WW ist), so prüfe ich, ob das WW über 54° liegt und wenn ja, setze ich die neue Soll-Temp auf 48°, also zurück auf meinen Standard.Prüfung:
Da natürlich die Sonne weiterscheinen kann, prüfe ich nochmal, sobald die Temp unter 55 fällt, sich also 60 - 6.0 K nähert - denn bei 54 würde die Pumpe ja erneut WW anfordern wenn nicht auf 48 gestellt - ob weiterhin genug Energie erzeugt wird. Wenn ja, setze ich den Wert erneut auf 62 (-2.0 K, wegen Deckung; zumindest glaube ich das irgendwie aus der Anleitung verstanden zu haben), so dass die Pumpe ab 54° wieder auf 62 bzw. 60 hochheizt.ABER, ich hab das vorgestern bzw. gestern erst alles eingerichtet und es sollte noch ausgiebig getestet werden.
Ich schaue mal, ob oder wie man private Nachricht schreib und schreibe dich an.
-
@unclesam Ist es eigentlich möglich den watchdog für den Luxtronik Port zu deaktivieren?
-
@lessthanmore danke für die ausführliche Rückmeldung. Die Regelung habe ich etwas simpler gelöst.
Das Leistung-ist Feld gibts leider bei meiner wp nicht.
Daher muss ich wohl dann doch über s0 gehen. -
@lessthanmore welche Version des Adapters hast du? Der Fehler sollte behoben sein.
-
@chrid88 Sollte wie bei jedem anderen Adapter auch gehen mit drüber installieren.
-
@unclesam Mal wieder ein kleines Update. Hatte den watchdog für den LuxPort deaktiviert, aber gesehen, dass der config.luxPort gar nicht gesetzt wird und es auch kein "Connected to" - Statement gibt.
Hab es nun wie folgt geändert:... createLuxtronikConnection(host, port) { if (!this.config.luxPort) } <-- Geändert return; } this.log.info(`Connecting to ${host}:${port}`); this.log.info(`Connected to ${host}:${port}`); <-- Hinzugefügt; sieht besser aus wenn auch nur als Info. Für alles andere reicht mein "Wissen" nicht -.- ...
Etwas weiter später ist mir aufgefallen, warum der Adapter ständig neustartet für den LuxPort.
Der Failcounter wird nicht zurückgesetzt.
Habe es wie folgt geändert:... requestAllContect() { this.wsFailCounter = 0; this.luxFailCounter = 0; <-- Hinzugefügt ...
Watchdog läuft nun für beide Ports, ich kann direkt auf den luxport schreiben bzw. auf dessen Parameter, da die Instanz nicht ständig neustartet. Läuft prima.
So sieht mein Log aus nach guten fünf Minuten:
luxtronik2.0 2021-05-23 20:54:30.653 info (14926) Connected to 10.0.1.23:8889 luxtronik2.0 2021-05-23 20:54:30.653 info (14926) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-05-23 20:54:29.451 info (14926) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-05-23 20:54:29.440 info (14926) Connecting to ws://10.0.1.23:8214
Jetzt kann ich die Wiederholungen in Blocky endlich entfernen
Und nur noch eine Instanz aktiv.Wundert mich aber, warum ich der einzige bin, der die restarts hatte und Meldungen bekommen hat.
/edit: Gerade deine Frage gesehen. Adapterversion 0.2.0.
-
@chrid88 Darf ich fragen wie du die Regelung bei dir hast?
Habe eben nochmal getestet und gesehen, dass ich mit dem Warmwasser nicht höher als 59° komme, da vorher die max. Vorlauftemperatur von 66° erreicht wird.
Habe die WW-Temperatur jetzt bei 55° wenn die Sonne scheint. Sollte auch passen.
Welche Firmware hast du auf der WP (habe meine gerade eben auf den neusten Stand gebracht)?
Ich sehe bei mir die Leistung auch im Webinterface. -
@lessthanmore sagte in Test Adapter luxtronik2 v0.2.x:
@unclesam Mal wieder ein kleines Update. Hatte den watchdog für den LuxPort deaktiviert, aber gesehen, dass der config.luxPort gar nicht gesetzt wird
Was meinst du mit "gar nicht gesetzt wird"? Das ist die Konfigurationsvariable, die aus dem Admin-GUI kommt.
und es auch kein "Connected to" - Statement gibt.
Hab es nun wie folgt geändert:... createLuxtronikConnection(host, port) { if (!this.config.luxPort) } <-- Geändert return; } this.log.info(`Connecting to ${host}:${port}`); this.log.info(`Connected to ${host}:${port}`); <-- Hinzugefügt; sieht besser aus wenn auch nur als Info. Für alles andere reicht mein "Wissen" nicht -.- ...
Lustige Lösung: wenn die Verbindung nicht klappt, dann schreibe ich einfach mal ein Log, dann sieht es so aus, als würde die Verbindung klappen...
Etwas weiter später ist mir aufgefallen, warum der Adapter ständig neustartet für den LuxPort.
Der Failcounter wird nicht zurückgesetzt.
Habe es wie folgt geändert:... requestAllContect() { this.wsFailCounter = 0; this.luxFailCounter = 0; <-- Hinzugefügt ...
requestAllContent()
fragt nur die Daten über den WS-Port ab. Wenn ich da den Watchdog für den Luxtronik-Port zurücksetze, dann wird der natürlich nie zuschlagen. Aber dann müsste ich gar keinen Watchdog haben!Der
luxFailCounter
wird sehr wohl zurückgesetzt:
https://github.com/UncleSamSwiss/ioBroker.luxtronik2/blob/e4048aeec8e024ee47cb5b1a130ece3de2a9acd6/src/main.ts#L183Watchdog läuft nun für beide Ports, ich kann direkt auf den luxport schreiben bzw. auf dessen Parameter, da die Instanz nicht ständig neustartet. Läuft prima.
Nein, der Watchdog für den Luxtronik Port ist nun nicht mehr aktiv. Mag prima laufen, ist aber leider überhaupt nicht die Lösung.
So sieht mein Log aus nach guten fünf Minuten:
luxtronik2.0 2021-05-23 20:54:30.653 info (14926) Connected to 10.0.1.23:8889 luxtronik2.0 2021-05-23 20:54:30.653 info (14926) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-05-23 20:54:29.451 info (14926) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-05-23 20:54:29.440 info (14926) Connecting to ws://10.0.1.23:8214
Jetzt kann ich die Wiederholungen in Blocky endlich entfernen
Und nur noch eine Instanz aktiv.Wundert mich aber, warum ich der einzige bin, der die restarts hatte und Meldungen bekommen hat.
Weil bei dir etwas nicht richtig funktioniert und du nun einfach den Watchdog unterdrückst. Bei dir gibt es ein Problem mit dem Luxtronik-Port und das muss gefixt werden, nicht einfach den Watchdog unterdrücken.
/edit: Gerade deine Frage gesehen. Adapterversion 0.2.0.
OK, danke.
-
@unclesam
Ich habe ja geschrieben, dass es nicht korrekt ist, aber für mich besser aussieht. Ich hatte kein Statement gefunden "connected to" falls die Verbindung zum luxPort steht. Habe ich die übersehen?
Beim Websocket kommt ja die Meldung nach der erfolgreichen Prüfung.
https://github.com/UncleSamSwiss/ioBroker.luxtronik2/blob/e4048aeec8e024ee47cb5b1a130ece3de2a9acd6/src/main.ts#L98Das mit dem Zurücksetzen des Failcounter hatte ich übersehen, sorry.
So ganz verstehe ich es nicht, da es jetzt bei mir einwandfrei läuft. Die Verbindung zum luxPort steht ja und ich kann problemlos darauf zugreifen.
Die Frage ist nur, warum die Instanz alle paar Sekunden neustartet weil der watchdog sagt, dass die Verbindung nach drei Versuchen nicht hergestellt werden konnte (obwohl sie aktiv ist).Hatte jetzt bei requestAllContent() den luxFailCounter wieder auskommentiert und direkt geht die Instanz wieder in den Fehler und startet alle paar Sekunden neu.
Eine Idee, wie ich rausfinden kann warum?
/edit: Softwarestand meiner WP V3.85.7 (r6978)
-
@lessthanmore Ich hab das ganze sehr simpel gelöst. Ich habe aber bei dem schwankenden Wetter im Mai gemerkt, dass ich dadurch auch fast 100 Verdichterimpulse im Monat mehr hatte als sonst. Daher habe ich (weil momentan keine Zeit zum Grübeln) das Abfrageintervall einfach auf alle 60min gelegt.
Psurplus_float ist der gleitende Mittelwert über die letzten 15min des PV Überschusses.
Der Rest sollte sich eigentlich so verstehen lassen
Softwarestand ist V3.85.0 (r5663)
@UncleSam drüber installieren hat geklappt! -
@chrid88 Vielen Dank.
Habe mein Skript in den letzten Tag auch vereinfacht bzw. auf ein Skript gekürzt.
Das mit den VD-Impulsen hat mich erst hierher gebracht, da unser Heizungsbauer die WP unsauber eingestellt hatte und wir nach nun fast 3 Jahren uns schon der 30.000er Marke an Impulsen nähern.
Deswegen hatte ich auch im Skript darauf geachtet. Ich prüfe ausschließlich wenn Warmwasser gemacht wird, ob die PV Leistung ausreicht und nur dann erhöhe ich; sprich wenn die WP eh schon dabei ist WW zu machen. Andernfalls ist die WP gerade fertig mit dem Standard-Warmwasser und bekommt dann vom Skript erneut eine neue Solltemperatur und fährt wieder an.
Über was liest du Float aus? Im SMA-EM Adapter finde ich den Wert nicht.
Lese bei mir mittlerweile den Wechselrichter direkt per Modbus aus und da auch nur die aktuelle Erzeugung unabhängig davon ob ich gerade etwas einspeise oder beziehe.
Als Ziel habe ich mir jetzt gesetzt dass die WP morgens beim WW und genug PV-Energie auf den erhöhten Wert geht und dort so lange bleibt bis die Energie nicht mehr ausreicht. -
Ich habe leider auch das Problem, dass der Watchdog in der v0.2 im Schnitt alle 5 Minuten den Adapter neu startet, da er 3x in Folge keine Antwort bekommen hat.
Am Netzwerk kann es nicht liegen. Habe sogar einen neuen Switch und ein neues CAT 6 Kabel eingebaut. Keine Änderung in der Häufigkeit der Neustarts.
Port 8889 stimmt auch laut Log.
Ich glaube nicht, dass der Watchdog erst dann zuschlägt, wenn sich die Verbindung zur Luxtronik komplett aufgehängt hat. Vor dem Einbau des Watchdog lief der Adapter in der Regel mehrere Wochen problemlos. Warum soll sich das mit Watchdog auf 5 Minuten reduzieren.
Vielleicht braucht die Luxtronik manchmal etwas länger bis eine Antwort kommt und der Watchdog interpretiert das als dauerhafte Unterbrechung und veranlasst einen Neustart des Adapters.
@UncleSam Vielleicht kannst du einen Parameter einbauen mit dem man den Timeout setzen kann und die Anzahl der missglückten Abfragen bevor der Watchdog einen Neustart auslöst.
Im Ergebnis ist es nat. besser, wenn der Adapter nicht alle paar Wochen komplett hängt, aber ein Adapter der alle 5 Minuten neu startet, füllt sich für mich auch nicht gut an.
-
Soeben habe ich Version 0.3.0 veröffentlicht. Sie hat zwar keine funktionale Änderungen, aber die neue Sentry Integration erlaubt mir, sehr schnell alle Details zu euren Fehlern zu sehen.
Wer also immer noch Verbindungsabbrüche und/oder Adapter-Neustarts sieht, bitte unbedingt die neuste Version installieren. Damit erhalte ich wertvolles Feedback, was schief gehen könnte.
Damit hoffe ich, bald einen offiziellen Release des Adapters zu machen und ihn auf den "Beta" Channel zu stellen.
-
@unclesam Vielen lieben Dank. Muss ich die Instanz neu installieren oder reicht ein Update des Adapters?
-
@unclesam Habe lediglich den Adapter aktualisiert. Jetzt startet die Instanz wieder alle 10-15 Minuten neu:
luxtronik2.0 2021-07-07 09:02:31.102 info (17681) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-07-07 09:02:28.149 info (17681) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 09:02:28.137 info (17681) Connecting to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 09:02:28.020 info (17681) starting. Version 0.3.0 in /opt/iobroker/node_modules/iobroker.luxtronik2, node: v12.22.2, js-controller: 3.2.16 luxtronik2.0 2021-07-07 09:01:54.614 info (3645) Terminated (NO_ERROR): Without reason luxtronik2.0 2021-07-07 09:01:54.613 info (3645) terminating luxtronik2.0 2021-07-07 09:01:54.587 warn (3645) Restart initiated luxtronik2.0 2021-07-07 09:01:54.586 error (3645) Didn't receive data from Lux port after 3 retries, restarting adapter luxtronik2.0 2021-07-07 08:39:54.570 info (3645) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-07-07 08:39:51.871 info (3645) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 08:39:51.860 info (3645) Connecting to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 08:39:51.745 info (3645) starting. Version 0.3.0 in /opt/iobroker/node_modules/iobroker.luxtronik2, node: v12.22.2, js-controller: 3.2.16 luxtronik2.0 2021-07-07 08:39:18.938 info (28637) Terminated (NO_ERROR): Without reason luxtronik2.0 2021-07-07 08:39:18.936 info (28637) terminating luxtronik2.0 2021-07-07 08:39:18.929 warn (28637) Restart initiated luxtronik2.0 2021-07-07 08:39:18.928 error (28637) Didn't receive data from Lux port after 3 retries, restarting adapter luxtronik2.0 2021-07-07 08:28:18.920 info (28637) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-07-07 08:28:16.649 info (28637) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 08:28:16.636 info (28637) Connecting to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 08:28:16.506 info (28637) starting. Version 0.3.0 in /opt/iobroker/node_modules/iobroker.luxtronik2, node: v12.22.2, js-controller: 3.2.16 luxtronik2.0 2021-07-07 08:27:43.420 info (11394) Terminated (NO_ERROR): Without reason luxtronik2.0 2021-07-07 08:27:43.419 info (11394) terminating luxtronik2.0 2021-07-07 08:27:43.411 warn (11394) Restart initiated luxtronik2.0 2021-07-07 08:27:43.410 error (11394) Didn't receive data from Lux port after 3 retries, restarting adapter luxtronik2.0 2021-07-07 08:00:43.396 info (11394) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-07-07 08:00:40.649 info (11394) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 08:00:40.637 info (11394) Connecting to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 08:00:40.428 info (11394) starting. Version 0.3.0 in /opt/iobroker/node_modules/iobroker.luxtronik2, node: v12.22.2, js-controller: 3.2.16 luxtronik2.0 2021-07-07 08:00:07.675 info (7338) Terminated (NO_ERROR): Without reason luxtronik2.0 2021-07-07 08:00:07.674 info (7338) terminating luxtronik2.0 2021-07-07 08:00:07.667 warn (7338) Restart initiated luxtronik2.0 2021-07-07 08:00:07.666 error (7338) Didn't receive data from Lux port after 3 retries, restarting adapter luxtronik2.0 2021-07-07 07:54:07.661 info (7338) Connecting to 10.0.1.23:8889 luxtronik2.0 2021-07-07 07:54:05.423 info (7338) Connected to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 07:54:05.411 info (7338) Connecting to ws://10.0.1.23:8214 luxtronik2.0 2021-07-07 07:54:05.292 info (7338) starting. Version 0.3.0 in /opt/iobroker/node_modules/iobroker.luxtronik2, node: v12.22.2, js-controller: 3.2.16 luxtronik2.0 2021-07-07 07:53:32.377 info (30454) Terminated (NO_ERROR): Without reason luxtronik2.0 2021-07-07 07:53:32.376 info (30454) terminating luxtronik2.0 2021-07-07 07:53:32.369 warn (30454) Restart initiated luxtronik2.0 2021-07-07 07:53:32.368 error (30454) Didn't receive data from Lux port after 3 retries, restarting adapter
-
@unclesam habe heute auch auf die 0.3 aktualisiert.
Hatte am Wochenende meine ioBroker Installation umgezogen von einem RPi4 in eine Debian VM auf einem alten Mac mini. Seltsamerweise habe ich jetzt kaum noch Neustarts des Adapters. Vielleicht war der RPi4 gelegentlich zu langsam beim Abfragen der Werte von der WP und hat dann den Watchdog getriggert.
-
@lessthanmore sagte in Test Adapter luxtronik2 v0.3.x:
Jetzt startet die Instanz wieder alle 10-15 Minuten neu
Ja, das habe ich auch gesehen. Ich bin dabei, das Problem zu analysieren.
-
Hi zusammen,
ich bin recht neu in diesem Forum und bin mir nicht sicher, ob meine Frage hier richtig platziert ist, hoffe es aber.Ich möchte gerne über Loxone und iobroker die Wärmepumpe per Überschusssteuerung ansprechen.
Meine Frage:
Kann ich im ioBroker ein Objekt so verändern, dass die Aufheizphase WW oder auch für die Fussbodenheizung startet?Ich habe in den alten Nachrichten gelesen, dass schon einige User die gleiche Überlegung hatten und bereits experimentiert haben. Gibt es hierzu Erkenntnisse oder einen gut funktionierenden Weg?
Vielen Dank für eine Antwort.
VG, Bernd
-
@bernd-0 Hi Bernd,
Die Wärmepumpe geht in die Betriebsart "Warmwasser" sobald die Ist-Wassertemperatur die Soll-Wassertemperatur - Hysterese unterschreitet.
Bei mir bspw. ist standardmäßig die Solltemperatur 48° und die Hysterese auf 6k eingestellt. Fällt die Isttemperatur unter 42°, so fängt die WP an Warmwasser zu machen bis der Sollwert erreicht ist.Mit meinem Skript (oberer Teil) prüfe ich mittlerweile nur noch, ob die PV mehr als 1,5 KW produziert und sobald die WP eh Warmwasser aufbereitet, setze ich die Solltemperatur auf 54°.
Sobald die WW-Aufbereitung wieder abschaltet setze ich den Wert zurück auf 48°.
Durch das Skript heizt die WP zum Teil nur noch einmal am Tag auf. Mein Zeil war es die Verdichterimpulse zu senken; vorher hat sie bis zu fünfmal am Tag WW aufbereitet. Das lag aber zum Großteil auch an der Zirkulationspumpe, die ich abgeschaltet habe.
Ich ignoriere mittlerweile aber auch den Verbrauch im Haus, Hauptsache es wird Strom produziert.Über den Luxtronik - Adapter hast du meiner Meinung nach nur die Möglichkeit über die Temperaturwerte die Betriebsart zu beeinflussen. Keine Ahnung, ob das über Modbus besser geht, aber ich war oder bin nicht bereit 300-400€ für die Lizenz zu bezahlen.
Prinzipiell kannst du natürlich regelmäßig den PV-Überschuss prüfen (oder den Mittelwert der letzten x Minuten/ Stunden) und bei einem bestimmten Wert eine Solltemperatur in der WP erhöhen, so dass die WP anfängt zu arbeiten.
Im Grunde genommen versuche ich - zumindest beim Warmwasser - das gleiche zu erzielen wir mit Smart Grid:
"Trinkwarmwasser: Der Regler generiert eine positive Hysterese deren Betrag gleich der unteren Hysterese ist und regelt in die- sem Bereich (Solltemperatur + obere Hysterese)." (https://mw.ait-group.net/files/docs/DE/A0160/83055403.pdf)VG
Michael -
@unclesam Hier mal noch ein paar Fehlermeldungen, die von Zeit zu Zeit auftauchen.
host.raspberrypi 2021-07-14 16:49:54.113 error instance system.adapter.luxtronik2.0 terminated with code 6 (UNCAUGHT_EXCEPTION) luxtronik2.0 2021-07-14 16:49:53.475 error (1665) Exception-Code: ERR_OUT_OF_RANGE: The value of "offset" is out of range. It must be >= 0 and <= 4. Received 8 luxtronik2.0 2021-07-14 16:49:53.474 error at TCP.onStreamRead (internal/stream_base_commons.js:188:23) luxtronik2.0 2021-07-14 16:49:53.474 error at Socket.Readable.push (internal/streams/readable.js:204:10) luxtronik2.0 2021-07-14 16:49:53.474 error at readableAddChunk (internal/streams/readable.js:265:9) luxtronik2.0 2021-07-14 16:49:53.474 error at addChunk (internal/streams/readable.js:290:12) luxtronik2.0 2021-07-14 16:49:53.474 error at Socket.emit (domain.js:470:12) luxtronik2.0 2021-07-14 16:49:53.474 error at Socket.emit (events.js:375:28) luxtronik2.0 2021-07-14 16:49:53.474 error at Luxtronik.<anonymous> (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:480:41) luxtronik2.0 2021-07-14 16:49:53.474 error at Buffer.readInt32BE (internal/buffer.js:479:5) luxtronik2.0 2021-07-14 16:49:53.474 error at boundsError (internal/buffer.js:83:9) luxtronik2.0 2021-07-14 16:49:53.474 error (1665) RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 4. Received 8
VG
Michael