NEWS
Json Werte per MQTT senden ?
-
Hallo Leute,
ich habe eine Software für meine Nulleinspeisung in einem ESP. Von Dort aus lese ich die Daten in meinen Iobroker ein. Die Daten kommen per Json String. Wie ich den String auseinander nehme und Datenpunkte setze habe ich hinbekommen.
Aber wäre es auch umgekehrt möglich Datenpunkte an den ESP per Matt zu senden ?
Aus der Weboberfläche des ESP`s kann ich nämlich die Nulleinspeisung stoppen und starten.
Ich vermute der Datenpunkt Notaus ist der wenige der irgendwie gesetzt werden muss.
Bin leider nicht so drin in der MaterieGruß
Yoshi -
@yoshi Du erstellst Dir einfach ein Objekt mit Deiner Logikmaschine - mit NodeRed ist das super einfach aber auch mit JS geht das einfach. Mit Blockly würde ich jedem Fall JSONATA nehmen. Hier mal alles im Überblicke, wenn Du beispielsweise folgenden JSON schreiben willst:
{ "state": "on", "brightness": 50 }
In Node-Red du das Objekt und jagst es durch eine JSON Node.
Blockly scheint automatisch zu konvertieren.
In JS musst halt das Objekt umwandeln.
var obj = { state: "on", brightness: 40}; setState('0_userdata.0.test0.test.string', JSON.stringify(obj), false);
-
@yoshi Ob Du in dem Datenpunkt aber überhaupt einen JSON setzen musst oder ob es nicht ein true tut, das musst du in der Doku nachlesen. MQTT heißt nicht, dass nur JSON Strings übertragen werden. In der Regel musst Du aber selber Datenpunkte für Kommandos erstellen, da der Empfänger von Nachrichten nicht gleichzeitig in diese schreiben kann.
Also erst mal lesen, wie Du Kommandos an das Gerät schickst und auf welche topics es hört.
Die Datenpunkte, die Du hast sind meist Infos vom Gerät.
-
Schon mal recht herzlichen Dank. Aber Node Red habe ich noch keine Berührung gehabt.
Naja und alles andere ist halt immer rumdoktern
Hier mal die Github Seite vom Entwickler. Und da sieht man auch die Weboberfläche, womit man unter anderem den NOT AUS steuern kann.
-
@yoshi Auf der Webseite steht aber kein Wort zum Inhalt/Struktur der MQTT Daten, soweit ich das auf die Schnelle gesehen habe. Daher musst Du wohl entweder ausprobieren oder (noch einmal?) das YT Video reinziehen und nach Infos suchen
-
@yoshi ich hab dir gezeigt wie du mit allem 3 Logikmaschinen ein JSON schreibst. Was du schreibst musst Du Dir aus dem Artikel selbst raus suchen. Ich bezweifle ja nur, dass es die Datenpunkte bzw. Topic s sind, die das Gerät published
-
-
So ich habe mir nochmal sein Video angeschaut und er liest das ganze per MQTT in Node Red ein und gibt es wieder per MQTT in Node Red wieder aus. Zumindest habe ich das so verstanden. Ich habe ja nur den MQTT Adapter in Iobroker. Irgendwie habe ich da keine Idee. Bzw habe ich mit Node Red noch garnicht gearbeitet.
-
@yoshi Ich weiss nicht was Du willst - ich hab es Dir doch mit allen 3 Logikmaschinen gezeigt. Das Du NodeRed - die beste Logikmaschine nicht nutzen willst, ist Dein Problem, aber Du kannst doch die anderen nutzen. Dann musst halt schauen was der in den mqtt-Out Nodes für ein Topic beschreibt. Den Datenpunkt legst Du einfach im MQTT-Adapter an und beschreibst den Datenpunkt oder Sendest via SendTo an den MQTT-Adapter entweder mit Puzzleteilchen oder mit Javascript.
Wenn Du die Datenpunkte im MQTT Adapter nicht anlegen willst, kannst Du das auch im Blockly oder JS mit dem SendTo machen:
-
@yoshi sagte in Json Werte per MQTT senden ?:
Irgendwie habe ich da keine Idee. Bzw habe ich mit Node Red noch garnicht gearbeitet.
Nun ich hab keine Probleme Dir bei NodeRed zu helfen, wenn Du das gerne möchtest, aber für die anderen Tools gibts fittere Leute als mich. Ich hasse puzzlen und frage mich sowieso warum das so beliebt ist.
-
-
@yoshi Hast Du die Datenpunkte auch unbestätigt beschrieben?