[vz-users] Daten auf MQTT Topics verteilen

Frank Richter frank.richter83 at gmail.com
Thu Sep 20 00:26:22 CEST 2018


Hi Christian,

value und timestamp auf unterschiedliche Topics zu verteilen ist IMHO kein
gutes Design, weil damit die Korrelation des Tupels verloren geht. Wenn du
MQTT-Topics mit und ohne timestamp brauchst, solltest du eben beide
generieren und beim subscribe die jeweils passende wählen.

Grüße
Frank

Christian Wulff <christianwulff at gmx.de> schrieb am Mi., 19. Sep. 2018,
23:39:

> 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","tuples":[[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","tuples":[[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","tuples":[[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/20180920/c1317237/attachment.html>


More information about the volkszaehler-users mailing list