NEWS
Umwandlungsproblem
-
Ich hab mich wahrscheinlich nicht richtig ausgedrückt.
Ich hole mir mittel MQTT Node Daten aus dem Venus OS. Diese möchte ich dann im IoBroker weiterverwenden.
Leider sind sie nicht als Zahl sondern wie gezeigt formatiert. -
@joeysch Klemm eine Change Node dazwischen wie gerade gepostet. Und dann noch in der mqtt-In Node auf analysiertes JSON Objekt stellen.
-
@mickym
Danke, funktioniert! -
@joeysch Ansonsten könntest Du meinen Subflow verwenden und Dir viel Arbeit ersparen.
Und aus Deinem Flow mit wenigen NOdes - alle Datenpunkte im iobroker direkt erstellen und nicht über mqtt. Aber natürlich nur, falls Du interessiert bist.
-
@mickym
Gerne, wo finde ich ihn? -
@joeysch Na wir können das schnell zusammen machen. Das würde bedeuten, dass Du unter userdata alle Spannungen der Zellen in einem Datenpunkt hast, wäre das OK?
Kannst Du dann mal bitte in topic hier in code-Tags stellen, dann würde ich Dir den Flow weitgehenst fertig machen. Also diesen Teil einfach mal als Text hier einstellen:
-
N/dca632478bdc/battery/1/Voltages/Cell1
-
@joeysch sagte in Umwandlungsproblem:
N/dca632478bdc/battery/1/Voltages/Cell1
Ohne meinen Subflow aber noch viel einfacher:
N/dca632478bdc/battery/1/Voltages/Cell1
Sollte Dir unter 0_userdata.0.Spannung die Werte aller Zellen anlegen.
Halt darauf achten, dass Du im NodeRed Adapter die Option
angehakt hast.
Wenn Du den NodeRed Adapter im iobroker nutzt. Sonst kannst das Topic aber auch über die mqtt-Out Node freilassen und die topics dynamisch erstellen lassen in dem Du in der Change Node das Topic erstellst - halt dann nicht mit 0_userdata.0.Spannung.Cell1 sondern, halt mit dem von Dir gewünschtne Topic Batterie1/Cell1 usw.
-
@mickym
Funktioniert super, werd mal ein bisschen probieren, da ich auch noch andere Daten brauche.
Komme auch mit dem Node Red des IoBrokers problemlos auf den Raspi. -
@joeysch Na ja das Problem ist halt, solange ich nur immer Ausschnitte Deiner Anforderung kenne ist das halt immer nur bruchstückhafte Hilfe.
Aber immerhin, ist Dein Bildschirm etwas weniger lila.
-
@mickym
Ich habe vor zwei Batterieblöcke à 16 Zellen zu verwenden. So wie ich das sehe sind im Venus OS aber nur die Daten des ersten Block's enthalten.
Ich bekomme die Daten von diesem Tool [https://github.com/Louisvdw/dbus-serialbattery]
Gibt es eine Möglichkeit die Daten der zweiten Batterie schon vorher abzufangen? Oder vielleicht über einen Zusatz im Pythonscript über MQTT zu pulizieren? -
@joeysch ich glaube, ich kann Dir nicht helfen. Ich habe mir mal kurz die Beschreibung angeschaut und ich glaube bzw. weiß nicht, wie die Batterie verbunden ist. Aber so wie ich es verstanden habe, läuft die Kommunikation über eine serielle Schnittstelle und die kann man nicht teilen. Solange das Tool von sich aus nicht mehrere Batterien unterstützt, sehe ich eher schwarz. Vielleicht machst mal ein Issue zu diesem Tool auf.
-
@mickym
Bei mir fällt jetzt dauernd die MQTT Verbindung aus. Wenn ich das im Venus deaktiviere und wieder aktiviere kommt kurz was und dann nicht mehr. Was kann das sein? -
@joeysch eventuell bug in der mqtt Node von Node-red. Das habe ich leider bei einer Instanz auch. Probiere mal Neustart des Node-Red Adapters.
-
@mickym Nein, es sieht aus als würde Venus keine Daten mehr liefern. Es steht "Verbunden" aber es kommt nichts. Hab auch schon ein paar mal neu gestartet.
-
@joeysch Dann schreib doch mal was mit einer mqtt-out Node in den mqtt Broker bei Venus und hole es mit einer mqtt-In Node wieder ab. Dann weisst Du wenigstens, dass der mqtt Broker richtig arbeitet. Wenn aber nichts reinkommt dann liegt es an diesem Tool. Da kann ich Dir aber nicht helfen.
-
@mickym
Ich hab was gefunden.
Das Venus liefert die MQTT Daten nicht freiwillig. Man muß folgende Zeile in die rc.local einfügenwhile :; do mosquitto_pub -h IP_ADRESSE -m '' -t 'R/EIGENE_NR/system/0/Serial'; sleep 30; done
Dann klappts auch mit den Daten.
-
@joeysch Ah OK - dann ist das also doch ein mosquitto Broker mit den mosquitto Clients installiert und diese werden in einem Shellskript publiziert.
Wie gesagt, was das Tool liefert habe ich keine Ahnung, aber Du siehst ja mit dem -t und Topic wie publiziert wird.
Eine Beschreibung zu den mosquitto Clients findest Du im Übrigen auf den normalen mosquitto Seiten:
https://mosquitto.org/man/mosquitto_pub-1.htmlUnd mit diesem rc.local - wird quasi ein Shell skript ausgeführt, dass in einer Endlosschleife läuft. Das ist zwar nicht besonders elegant, aber immerhin, weißt Du wie es funktioniert.