[vz-users] Daten auf MQTT Topics verteilen
Christian Wulff
christianwulff at gmx.de
Wed Sep 19 23:38:50 CEST 2018
Moin,
ich habe jetzt schon ein paar Wochen MQTT am Laufen und bin begeistert.
Der Push Server liefert Daten via websockets an Node-RED
In Node-RED habe ich einen Flow, der die Daten konvertiert und an den MQTT
Broker published.
Und dann habe ich mir ein ESP8266 und ein Display genommen und subscribe den
MQTT Broker, parse die MQTT Message und stelle sie auf dem Display dar.
Das Funktioniert soweit.
Zugegebenerweise ist der Flow im Node-RED nur zusammenkopiert und ich könnte
den nicht selber schreiben. Egal, solange es funktioniert ist es ja schön
und gut.
Nun habe ich entdeckt, dass es auch MQTT Client Apps gibt, und da kommt dann
schnell der Wunsch auf, auch dieses zu nutzen.
Diese Apps brauchen die MQTT Nachrichten, allerdings in einem etwas anderem
Format.
Bisher hat die MQTT Message folgenden Inhalt: timestamp=1537392772928
value=2.5819666840232
Da wird in den Apps dann auch genau so dargestellt timestamp=1537392772928
value=2.5819666840232
Das ist natürlich Quatsch, denn es soll dort ja nur 2.5819666840232 zu
sehen sein.
Beispiel Stromzähler:
Der Push Server liefert via websockets
"{"version":"0.3","data":{"uuid":"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx","tup
les":[[1537387482345,479.24790029688,1]]}}"
Da hätte ich jetzt gerne folgendes Format:
Gesendet werden soll an den Topic
Haus/Strom/WärmepumpeHaupttarif/Timestamp
Der Inhalt der Nachricht soll 1537387482345 sein.
Gesendet werden soll an den Topic Haus/Strom/WärmepumpeHaupttarif/Value
Der Inhalt der Nachricht soll 479.24790029688 sein.
Beispiel Temperatur:
Der Push Server liefert via websockets
"{"version":"0.3","data":{"uuid":"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx","tup
les":[[1537387448162,22.187,1]]}}"
Da hätte ich jetzt gerne folgendes Format:
Gesendet werden soll an den Topic Haus/Temperatur/T01Aussen/Timestamp
Der Inhalt der Nachricht soll 1537387448162 sein.
Gesendet werden soll an den Topic Haus/Temperatur/T01Aussen/Value
Der Inhalt der Nachricht soll 22.187 sein.
Beispiel Wasser:
Der Push Server liefert via websockets
"{"version":"0.3","data":{"uuid":"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx","tup
les":[[1537387660470,585.1755526658,1]]}}"
Da hätte ich jetzt gerne folgendes Format:
Gesendet werden soll an den Topic Haus/Wasser/Timestamp
Der Inhalt der Nachricht soll 1537387660470 sein.
Gesendet werden soll an den Topic Haus/Wasserverbrauch/Value
Der Inhalt der Nachricht soll 585.1755526658 sein.
Wie kriege ich jetzt den Node-RED Flow so zusammengebaut, dass er die Daten
der einzelnen UUIDs auf die entsprechenden MQTT Topics verteilt?
Lieben Dank und liebe Grüße,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20180919/99d727d1/attachment.html>
More information about the volkszaehler-users
mailing list