[vz-users] Daten auf MQTT Topics verteilen

Frank Richter frank.richter83 at gmail.com
Sat Sep 22 18:47:22 CEST 2018


Hi Christian,

"push": [] ist doch ein Array, sollte also auch mit mehreren Zielen
klarkommen.

Grüße
Frank

Christian Wulff <christianwulff at gmx.de> schrieb am Sa., 22. Sep. 2018,
17:00:

> Hallo Frank,
>
>
>
> ich möchte also zusätzlich zu den Werten, die über den Push Server an MQTT
> gesendet werden, auch noch die Zählerstände vom vzlogger direkt an Node-RED
> pushen.
>
> Dazu steht im Wiki, dass man folgende Zeilen in /ect/vzlogger.conf
> editieren soll:
>
> "push": [
>
>   {
>
>     "url": "http://127.0.0.1:1880/vzpush"
>
>   }
>
> ],
>
>
>
>
>
> Nun habe ich in meiner /ect/vzlogger.conf allerdings schon drin stehen:
>
>   "push": [
>
>     {
>
>       "url": "http://127.0.0.1:5582"
>
>     }
>
>   ],
>
>
>
> Was ist denn richtig?
>
> Beides geht ja vermutlich nicht?!
>
>
>
> Lieben Gruß,
>
> Chris
>
>
>
> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
> *Gesendet:* Donnerstag, 20. September 2018 18:29
> *An:* volkszaehler.org - users
> *Betreff:* Re: [vz-users] Daten auf MQTT Topics verteilen
>
>
>
> Hi Christian,
>
>
>
> richtig verstanden.
>
>
>
> Für MQTT ist die Payload einfach ein String, ob da nur der Wert, JSON oder
> sonstwas drin steht, ist dem Broker egal.
>
>
>
> Zählerstände gibt's über den Push-Server nicht. Entweder von vzlogger
> direkt an Node-RED pushen lassen (siehe Wiki) oder von Node-RED bei der
> Middleware abholen.
>
>
>
> Grüße
>
> Frank
>
>
>
> Christian Wulff <christianwulff at gmx.de> schrieb am Do., 20. Sep. 2018,
> 14:11:
>
> Moin Frank,
>
>
>
> wenn ich dich richtig verstanden habe, wäre bei dem Design nicht
> sichergestellt, dass der timestamp auch wirklich zu dem value gehört,
> richtig?
>
> Okay, das verstehe ich, und hatte auch schon an diese potentielle
> Fehlermöglichkeit gedacht.
>
>
>
> Ich dachte ich hätte MQTT so verstanden, dass in den MQTT-Messages nur
> Werte, aber keine komplexeren Strukturen (z.B. Timestamp und Wert) richtig
> wären.
>
> Aber das scheint dann wohl egal zu sein?!
>
>
>
> Wenn ich jetzt den Wasserzähler einmal auf einen Topic mit timestamp und
> value und einmal nur den value publishe, dann habe ich halt einen Topic
> mehr. Ich denke das funktioniert auch.
>
> Bis jetzt fällt mir von meinen ganzen Sensoren auch eigentlich nur der
> Wasserzähler ein, bei dem ich den timestamp brauche, weil ich aus dem
> letzten timestamp und dem aktuellem timestamp die Durchflussrate berechne,
> und wenn der nächste timestamp ausbleibt will ich die Durchflussrate auch
> noch gen Null trimmen, je mehr Zeit verrinnt. (Ansonsten würde die
> Durchflussrate immer zwischem einem Wert und Null toggeln, wenn man den
> Wasserhahn langsam zudreht. Aber soweit bin ich noch nicht.
>
> Die Sache mit dem „Send_zero = true“ habe ich übrigends relativ schnell
> wieder gelassen, weil jede Sekunde eine „0“ gesendet wird, und so die
> Durchflussrate zwangsweise jede Sekunde zwischen einem Wert und Null
> toggelt.
>
>
>
> Wenn wir schon beim Thema MQTT sind:
>
> Wie kriege ich denn die Stromzählerstände und Wasserzählerstand auf MQTT?
>
> (bis jetzt kriege ich dort nur Momentanleistung raus)
>
>
>
> Lieben Gruß,
>
> Chris
>
>
>
> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
> *Gesendet:* Donnerstag, 20. September 2018 00:26
> *An:* volkszaehler.org - users
> *Betreff:* Re: [vz-users] Daten auf MQTT Topics verteilen
>
>
>
> 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/20180922/40c89abc/attachment.html>


More information about the volkszaehler-users mailing list