Erfahrungsbericht MQTT in V2.0 IP5 mit Heizungsanlage
Verfasst: So Jun 06, 2021 12:34 pm
Das MQTT im TWS verfügbar ist, ging dann doch viel schneller, als ich gedacht hätte.
Daher hab ich heute morgen ein paar "Subscribes" vom Node-RED in den TWS verlegt.
Total einfach! (Das MQTT-Video von Elabnet/StefanW sollte man sich vorher mal anschauen. Das erklärt so einiges)
Da mein MQTT-Gerät (viewtopic.php?f=80&t=2728&p=32426#p32426) relativ "wild" alle 10-40 Sekunden published
(immer den kompletten JSON-Datensatz mit ca. 120 Parametern) bleibe ich mit manchen Dingen erstmal noch im Node-RED, da ich da nen Sendefilter eingebaut habe.
Was unschön an der Node-RED Lösung ist: man muss Alles auf den KNX blasen, um es in Timeseries oder die COMETVISU zu bekommen.
Für die Timeseries ist der erste Schritt mit der MQTT-Implementierung schon getan.
Die COMETVISU ist ja auch schon dabei, eine MQTT-Schnittstelle zu implementieren. (Wird das eigentlich entweder KNX oder MQTT, oder geht das auch gemischt?!?)
Was mir bei MQTT im TWS noch fehlt/aufgefallen ist:
- Konfiguration eines Sendefilters (so wie bei MODBUS), "bei Wertänderung" und "nach Zeit".
(Wenn ich jetzt von Node-RED alles auf den TWS umziehe, bläst mir die Wärmepumpe den KNX und die Timeseries voll...)
- Bei "+ App Level Topic hinzufügen" darf man bei "URI" am Ende kein "/" einfügen, sonst geht's nicht.
Da kommt bestimmt noch ne Warnung, so wie bei "MQTT Gerät hinzufügen", da gibts im Feld "Main-Level" ne Info, wenn man ein "/" zu viel einfügt: "Trailing slash not recommended here".
- Es werden immer alle Objektwerte im JSON publiziert, obwohl "Übertragung NUR dieses Objektwertes" aktiviert ist.
Alles in Allem ne feine Sache.
Habe noch ein paar Sonoff-RF-Taster mit ner Sonoff-RF-Bridge mit Tasmota drauf. Die darf dann bei nächster Gelegenheit auch mit dem TWS direkt sprechen.
Ein paar Bilder: Die MQTT-Erweiterung (https://www.thermiq.net/) auf eine Trägerplatine geschraubt, die an der gleichen Stelle platziert ist, an der die Erweiterungskarten für die Wärmepumpe normalerweise hin kommt. Dazu noch ein altes Nikon-USB-Netzteil zur Versorgung.
(die Erweiterung ist von der Hardware her ein "ESP32 OLED") Die Erweiterung hängt mit im WLAN. Da das ganze im Blech-Gehäuse verschwindet, ist die Reichweite möglicherweise eingeschränkt. Bei mir kein Problem, da der nächste WLAN-AccessPoint rund 1m daneben ist.
Hier werden Werte an die Wärmpumpe geschrieben.
Mit dem Logikeditor werden Integer-Werte, die aus dem MQTT-JSON extrahiert wurden, in einzelne Bits zerlegt.
(Status der Pumpen/Kompressor/Mischer, usw.)
Hier ist auch ganz nett, dass man sich nen Sendefilter über die Sendeparameter der Ausgänge ("C" - OnChange und "T" für das zyklische Senden) bauen kann.
Daher hab ich heute morgen ein paar "Subscribes" vom Node-RED in den TWS verlegt.
Total einfach! (Das MQTT-Video von Elabnet/StefanW sollte man sich vorher mal anschauen. Das erklärt so einiges)
Da mein MQTT-Gerät (viewtopic.php?f=80&t=2728&p=32426#p32426) relativ "wild" alle 10-40 Sekunden published
(immer den kompletten JSON-Datensatz mit ca. 120 Parametern) bleibe ich mit manchen Dingen erstmal noch im Node-RED, da ich da nen Sendefilter eingebaut habe.
Was unschön an der Node-RED Lösung ist: man muss Alles auf den KNX blasen, um es in Timeseries oder die COMETVISU zu bekommen.
Für die Timeseries ist der erste Schritt mit der MQTT-Implementierung schon getan.
Die COMETVISU ist ja auch schon dabei, eine MQTT-Schnittstelle zu implementieren. (Wird das eigentlich entweder KNX oder MQTT, oder geht das auch gemischt?!?)
Was mir bei MQTT im TWS noch fehlt/aufgefallen ist:
- Konfiguration eines Sendefilters (so wie bei MODBUS), "bei Wertänderung" und "nach Zeit".
(Wenn ich jetzt von Node-RED alles auf den TWS umziehe, bläst mir die Wärmepumpe den KNX und die Timeseries voll...)
- Bei "+ App Level Topic hinzufügen" darf man bei "URI" am Ende kein "/" einfügen, sonst geht's nicht.
Da kommt bestimmt noch ne Warnung, so wie bei "MQTT Gerät hinzufügen", da gibts im Feld "Main-Level" ne Info, wenn man ein "/" zu viel einfügt: "Trailing slash not recommended here".
- Es werden immer alle Objektwerte im JSON publiziert, obwohl "Übertragung NUR dieses Objektwertes" aktiviert ist.
Alles in Allem ne feine Sache.
Habe noch ein paar Sonoff-RF-Taster mit ner Sonoff-RF-Bridge mit Tasmota drauf. Die darf dann bei nächster Gelegenheit auch mit dem TWS direkt sprechen.
Ein paar Bilder: Die MQTT-Erweiterung (https://www.thermiq.net/) auf eine Trägerplatine geschraubt, die an der gleichen Stelle platziert ist, an der die Erweiterungskarten für die Wärmepumpe normalerweise hin kommt. Dazu noch ein altes Nikon-USB-Netzteil zur Versorgung.
(die Erweiterung ist von der Hardware her ein "ESP32 OLED") Die Erweiterung hängt mit im WLAN. Da das ganze im Blech-Gehäuse verschwindet, ist die Reichweite möglicherweise eingeschränkt. Bei mir kein Problem, da der nächste WLAN-AccessPoint rund 1m daneben ist.
Hier werden Werte an die Wärmpumpe geschrieben.
Mit dem Logikeditor werden Integer-Werte, die aus dem MQTT-JSON extrahiert wurden, in einzelne Bits zerlegt.
(Status der Pumpen/Kompressor/Mischer, usw.)
Hier ist auch ganz nett, dass man sich nen Sendefilter über die Sendeparameter der Ausgänge ("C" - OnChange und "T" für das zyklische Senden) bauen kann.