Hiermit ein kleines How-To, wie wir die Luxtronik 2 auf den KNX-Bus bringen, auslesen und sogar steuern können.
Wir benötigen folgendes:
Luxtronik 2 mit konfigurierter LAN-Schnittstelle
Timberwolf Server mit Node Red Container (Anleitung siehe app.php/kb/viewarticle?a=124 bei Reg-TWS-Geräten bitte noch viewtopic.php?f=71&p=25952#p25952 beachten)
Wenn euer Node Red Container läuft, benötig ihr noch die Anbindung von Node Red zu KNX, was auch in der obigen Anleitung zu finden ist.
Sobald ihr eure KNX Anbindung eingerichtet habt, benötigen wir noch die passenden Node Red Nodes für die Luxtronik. Mit dem Hamburger Menü rechts oben auf "Manage Palette" klicken und und unter Install einfach Luxtronik eintippen. Euer Node Red findet dann 3 Nodes.
Für die Luxtronik 2 gibt es zwei verschiedene Nodes. Einer basiert auf Java Abfragen, der andere auf die neue Websockets Anbindung (Ab einer bestimmten Firmware hat der Hersteller Websockets implementiert um damit vermutlich die Java Sache ablösen will.)
Link zum Java Node: https://flows.nodered.org/node/node-re ... luxtronik2
Link zum neueren Websocket Node: https://flows.nodered.org/node/node-red ... ronik2-ws
Bei mir funktionieren beide Nodes. Wobei ich ein steuern der WP nur mit dem alten Java Node hinbekomme. Falls jemand herausfindet wie wir mit dem WS-Node steuern können, wäre das großes Kino! Ich würde liebend gerne Dinge wie die Pumpenoptimierung über den Bus steuern können.
Wenn ihr die Nodes installiert habt, können wir uns den Luxtronik Node in ein neues Flow Fenster ziehen und konfigurieren:
Ihr müsst eure Luxtronik-IP und das PW angeben. Dann benötigt ihr noch ein Inject Node und als Ausgabe einen Debug Node. Das ganze via Deploy rechts oben scharf schalten und schon haben wir alle Daten ausgelesen, die das Webinterface der Luxtronik 2 liefern kann
Code für NR-Import:
► Text zeigen
Alle Werte die rechts im Debug zu sehen sind, können wir gezielt einzeln abfragen und dann weiter auf den KNX-Bus senden.
Um gezielt einzelne Werte aus den Daten zu holen auf den KNX Bus zu bringen, benutze ich einfach einen Change Node der den Pfad des Wertes vorgibt, entferne noch Einheiten wie h, K,°C usw., damit wir blanke Zahlen an KNX liefern. Siehe:
Auch dazu nochmal ein Beispiel Flow zum Import:
► Text zeigen
In dem Beispiel holen wir uns die Aussentemperatur via Luxtronik2WS-Node ab und sende diese auf den KNX-Bus. Damit können wir auch gleich den Temperaturfühler der WP in KNX nutzen
Als Tip: Über den Inject Node kann man via Timestamp die Werte in Intervallen abfragen. Z.B. alle 10 Sekunden. Damit wir aber den KNX Bus nicht fluten, wollen wir nur geänderte Werte an KNX übertragen. Das bekommen wir mit einem RBE-Filter auf dem KNX-Node hin:
Baut euch dann einfach alles so zusammen wie ihr es gerne hättet. Wenn Ihr erst einmal einen Wert in KNX habt, ist der Weg eigentlich klar.
Das coole an der Sache, also Node Red auf dem TWS ist, dass wir alles immer gleich in die Time-Series-DB schreiben, ohne weiteres zu tun. Somit habt ihr eine Langzeitüberwachung der WP mit der Luxtronik 2. Als Bespiel könnt ihr euch einen DTA-Viewer mit Grafana bauen. Hier noch ein Beispiel:
Im Vergleich zur klassischen DTA-GUI:
Baut euch ein Dashboard in Grafana oder in eurer Visu - wenn ihr die Daten auf den Bus habt ja kein Problem. Hier noch ein paar Beispiele:
WW-Takt:
Die Steuerung der Luxtronik, mache aktuell über den alten Java-Node. Da wird ein "Send-Node" mitgeliefert, welche vordefinierte Vorgänge ausführen kann. Hier ein Beispiel für die Steuerung der Betriebsart Heizen. Die KNX Telegramme (true & False) können dann einfach umgewandelt werden.
Auch hierzu ein Flow zum importieren:
► Text zeigen
So sieht das jetzt in meiner mobilen Visu aus:
Zusammenfassend geht "lesend" eigentlich alles. Zum Senden / Steuern nutze ich die vordefinierten Zustände des Luxtronik-Send-Nodes. Aber das ist schon mal besser als nichts
Vielleicht gibt es hier jemanden der mit Websockets auch Befehle schreiben kann und das hier mit ergänzt.
Viel Spaß bei der Umsetzung - wenn man erst mal drin ist, geht das alles schnell und einfach