NEUHEIT! Ab sofort MQTT mit dem Timberwolf Server!
Verfügbar für alle Versionen mit der Insider Preview 5 zur Version 2.0. Infos: viewtopic.php?f=8&t=2846

[Erfahrungsbericht] Erfahrungsbericht MQTT in V2.0 IP5

Wissen, Planung & Diskussion zur MQTT Unterstützung im Timberwolf Server.
Stellt uns hier Eure MQTT Projekte und Ideen vor.
Antworten

Ersteller
pbm
Reactions:
Beiträge: 98
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 62 Mal
Danksagung erhalten: 72 Mal

Erfahrungsbericht MQTT in V2.0 IP5

#1

Beitrag von pbm »

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:
MQTT_Erweiterung.jpg
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.

MQTT Gerätemanager.jpg
Hier werden Werte an die Wärmpumpe geschrieben.

Logik für Nachbehandlung.jpg
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.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von pbm am So Jun 06, 2021 1:04 pm, insgesamt 3-mal geändert.
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache
Benutzeravatar

Chris M.
Reactions:
Beiträge: 748
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 135 Mal
Danksagung erhalten: 409 Mal
Kontaktdaten:

#2

Beitrag von Chris M. »

pbm hat geschrieben: So Jun 06, 2021 12:34 pm Die COMETVISU ist ja auch schon dabei, eine MQTT-Schnittstelle zu implementieren. (Wird das eigentlich entweder KNX oder MQTT, oder geht das auch gemischt?!?)
Die CometVisu nutzt eine Verbindung zum Backend. Das kann die bekannte KNX-Verbindung über den eibd/knxd sein, das kann die alte oder neue Verbindung zu OpenHAB sein, oder eben auch MQTT.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 5634
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Grafing
Hat sich bedankt: 2668 Mal
Danksagung erhalten: 4058 Mal
Kontaktdaten:

#3

Beitrag von StefanW »

Hallo Peer,

vielen lieben Dank für Deinen Bericht und die Details, das hilft der Community (und auch uns) sehr.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmDas MQTT im TWS verfügbar ist, ging dann doch viel schneller, als ich gedacht hätte.
Jep. wir wollen nichts mehr ankündigen, sondern einfach nur liefern. Das führt nun dazu, dass neue Funktionen nun womöglich überraschend schnell kommen. Wobei es eine Roadmap gibt, damit unsere Kunden und auch Interessenten sehen, woran wir denken.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmDaher 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)

Danke sehr. Es war eine für uns überraschende Sache, dass die Wissensvermittlung per Video grundsätzlich so gut ankommt. Wir werden das ausbauen.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmDa 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.
Das ist eine interessante Info. Wieviele von den 120 Parametern in dem json ändern sich pro Sendung (nur um ein Gefühl zu bekommen)?

Es ist für mich sehr viel leichter, mit den Entwicklern eine Funktion zu beschließen, wenn es auch eine Begründung dafür gibt, dass diese sinnhaft einsetzbar ist. Wir kennen den Umfang der MQTT Implementierungen am Markt nicht, weil jeder Hersteller hier völlig frei ist und bislang war nicht so klar, wie MQTT Geräte das Aussenden vornehmen.

Dein Beispiel ist hier hilfreich.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmWas 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.
Ja, das besonders gute an MQTT grundsätzlich ist, dass nun damit Kopplungen (zwischen Wölfen) aber auch zu anderen Automatisierungen möglich sind.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmDie COMETVISU ist ja auch schon dabei, eine MQTT-Schnittstelle zu implementieren. (Wird das eigentlich entweder KNX oder MQTT, oder geht das auch gemischt?!?)
Das sollte Chris beantworten.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmWas 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...)
Jep, ist verstanden.

pbm hat geschrieben: So Jun 06, 2021 12:34 pm- 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".

Jein. Es gibt tatsächlich Geräte, die ein / am Ende erfordern (konkret ist das ein NULL-Topic nach dem Slash). Warnung müssen wir noch überlegen, weil eigentlich nicht verboten, sondern selten erforderlich (auch wenn ich das für unglücklich halte, wenn ein Hersteller das macht)

pbm hat geschrieben: So Jun 06, 2021 12:34 pm- Es werden immer alle Objektwerte im JSON publiziert, obwohl "Übertragung NUR dieses Objektwertes" aktiviert ist.
Das wäre dann ein Fehler, müssen wir uns ansehen, es kommt ohnehin bald ein Update.

pbm hat geschrieben: So Jun 06, 2021 12:34 pmHabe 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. ;-)
Gerne, bitte darüber berichten

lg


Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART der Elaborated Networks GmbH
Support nur über dieses Forum und in individuellen Fällen über support@wiregate.de.
Bitte KEINE PN Impressum und Datenschutzerklärung oben

gbglace
Reactions:
Beiträge: 2152
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 703 Mal
Danksagung erhalten: 812 Mal

#4

Beitrag von gbglace »

Du könntest jetzt auch mit NR am KNX vorbei, den originalen JSON empfangen, filtern, zerlegen und nochmal auf MQTT werfen und mit dem TWS empfangen.
Grüße
Göran

-- --Timberwolf 2600 Velvet Red-- -- TWS #225 / VPN aktiv / Reboot OK

Ersteller
pbm
Reactions:
Beiträge: 98
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 62 Mal
Danksagung erhalten: 72 Mal

#5

Beitrag von pbm »

StefanW hat geschrieben: So Jun 06, 2021 1:05 pm Wieviele von den 120 Parametern in dem json ändern sich pro Sendung (nur um ein Gefühl zu bekommen)?
Es sieht so aus, dass die "MQTT-Erweiterung" zyklisch sendet. Mir erschließt sich der Zyklus allerdings nicht.
Mit dem MQTT-Explorer kann man ja gut erkennen, was sich im JSON geändert hat. in den allermeisten Fällen ist es nur time und timestamp. Manchmal liegen nur wenige Sekunden dazwischen, manchmal (aber selten) fast eine Minute.
timestamp.jpg

Und bei Wert-Änderung wird immer gesendet.
(vielleicht ist der Timestamp auch die Wertänderung?!?)

Es werden immer alle Register ins JSON gepackt. (Control- und Status-Register)
ThermIQ_JSON.txt

Die Control- und Status Register der Wärmepumpe.
ThermIQ Thermia Register.pdf
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

Ersteller
pbm
Reactions:
Beiträge: 98
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 62 Mal
Danksagung erhalten: 72 Mal

#6

Beitrag von pbm »

gbglace hat geschrieben: So Jun 06, 2021 1:29 pm Du könntest jetzt auch mit NR am KNX vorbei, den originalen JSON empfangen, filtern, zerlegen und nochmal auf MQTT werfen und mit dem TWS empfangen.
:think:

Die Idee ist gut!

Mal sehen, was eher passiert:

- dass ich das JSON im NR verändere und dann zum TWS schicke
oder
- dass in der V2.0 IP6/7/8 der Sendefilter im MQTT-Gerätemanager eingebaut wird.

:lol:
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 5634
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Grafing
Hat sich bedankt: 2668 Mal
Danksagung erhalten: 4058 Mal
Kontaktdaten:

#7

Beitrag von StefanW »

Hallo Peer,
pbm hat geschrieben: So Jun 06, 2021 12:34 pm- Es werden immer alle Objektwerte im JSON publiziert, obwohl "Übertragung NUR dieses Objektwertes" aktiviert ist.
Danke für den Hinweis, wir haben den Fehler heute gefunden und behoben, ist im nächsten Release gefixt.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART der Elaborated Networks GmbH
Support nur über dieses Forum und in individuellen Fällen über support@wiregate.de.
Bitte KEINE PN Impressum und Datenschutzerklärung oben
Antworten

Zurück zu „MQTT“