[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