NEWS
MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler)
-
@bastel2021 na unter cmnd findest Du die sicher nicht - dieser Ast den Kommandos vorbehalten. Du findest Werte bzw. entweder dediziert unter stat oder zyklisch unter info (dort in JSONs).
-
@mickym
So sieht das ganze dort aus!stat / ED300L / RESULT ist das der "JSON" und wenn ja wie verarbeitet man den denn weiter?
Da ist auch noch folgender Eintrag:
-
@mickym
Hier mal ein Beispiel für die Ordnerstruktur. Und so geht das bis 8 weiter... -
@bastel2021 Na einfach direkt den Wert mit dem Attribut auslesen, wenn Du Blockly nutzt.
hier die Abfrage oder das extrahieren von dem Attribut Switch1
In JS halt mit
JSON.parse(val).Switch1
oder mit NodeRed direkt - nach Konvertierung in ein Objekt. JSON ist einfach die effizienteste Art mehrere Eigenschaften in einem Objekt zu haben.
Wenn Du NodeRed nutzt und einen JSON lieber in Einzelpunkte zerlegt haben willst - kannst auch meinen Flow nutzen:
https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegenWobei ich das aufsplitten in Einzelpunkte unsinnig finde.
-
@mickym
Oder eine passende Alias-Struktur anlegen und über die Konvertierungsfunktionen das JSON auseinanderpflücken. Ganz ohne Blockly, JS oder NodeRed ... -
@bastel2021 Nun das liegt doch am Gerät was für topics erstellt werden - die Bedeutung musst Du halt bei dem Gerät und deren Software nachlesen - dazu kann ich nichts sagen. Im Sonoff Adapter wirst Du nur Datenpunkte finden, die der Adapter halt kennt und Du bist auf die Struktur festgelegt. Ich mag auch nicht die vorgegebenen Struktur - bei sonoff bist aber dazu gezwungen.
Ich habe meine Tasmota - alle unter tasmota und prefix und topic getauscht.
dadurch habe ich alles unter tasmota und die cmnd, stat und info Äste für jedes Gerät getrennt:
-
@codierknecht sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
@mickym
Oder eine passende Alias-Struktur anlegen und über die Konvertierungsfunktionen das JSON auseinanderpflücken. Ganz ohne Blockly, JS oder NodeRed ...Stimmt habe ich noch vergessen.
@Bastel2021 Die Alias Lösung habe ich hier ziemlich ausführlich erklärt: https://forum.iobroker.net/post/864336
mit Lesen und Schreiben von JSONs hier: https://forum.iobroker.net/post/907707
-
Die Werte vom Zähler müssten unter Tele/…/Sensor als JSON liegen.
Habe grade mit einem anderen User das Thema bearbeitet. Link Text
-
@mickym
Danke da schau ich mal rein!!!! -
@tt-tom
Hallo!
so sieht der Inhalt aus:Aber eigentlich sollte für die z.B. Leistung das so aussehen (hier aus dem Sonoff adapter)
-
nicht auf den Bleistift klicken, sondern auf den Text davor. der sollte mit {"time"..... beginnen.
-
@bastel2021 Du postest die Objekt Daten aber nicht den state. Den state siehst Du nur direkt unter Objekte.
-
@tt-tom
Also ich habe jetzt mal in NodeRed den Datenpunkt Tele/…/Sensor den du erwähnt hast über eine
Debug Node eingelesen. das sieht dann so aus:topic: "mqtt/0/tele/ED300L/SENSOR"
payload: "{"Time":"2023-01-27T19:43:39","ED300L ":{"Total_in":3159.8,"Total_out":0,"Power_curr":224.2}}"
acknowledged: true
timestamp: 1674845019363
lastchange: 1674845019363
from: "system.adapter.mqtt.0"
_msgid: "607ea431b69d877a"Und siehe da, da sind die Werte!!! Das muss dann nur noch auseinander gezogen werden, wie auch immer das geht...
Aber super danke für den Hinweis!
D,h, das also die Ordnerstroktur im mqtt.0 normal ist? -
@bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
D,h, das also die Ordnerstroktur im mqtt.0 normal ist?
wenn du in Tasmota unter "Full Topic" Prefix und Topic tauscht wird es gebündelt unter ein Namen
-
@tt-tom
d.h. das könnte man auch eingrenzen?
Und wenn ja wie?
Hast du eine Idee wo das beschrieben ist? -
@bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
"{"Time":"2023-01-27T19:43:39","ED300L ":{"Total_in":3159.8,"Total_out":0,"Power_curr":224.2}}
Wie gesagt Du brauchst nicht alle Punkte sonst nimmst einfach eine Change Node.
Einfach den Pfad aus dem Debug Fenster des gesamten JSON kopieren:
-
@bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
@tt-tom
d.h. das könnte man auch eingrenzen?
Und wenn ja wie?wenn du bei Tasmota / MQTT einstellungen / "Full Topic" -> %topic%/%prefix%/ einsetzt, werden die Daten / Ordner alle unter den Namen gespeichert, den du bei "Topic" verwendet hast.
Hast du eine Idee wo das beschrieben ist?
habe ich hier mal gelesen, ansonsten bestimmt in der TASMOTA doku
-
sehr cool! Danke muss ich ausprobieren!
melde mich dazu noch, aber eventuell erst morgen
Danke nochmals -
@bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
D,h, das also die Ordnerstroktur im mqtt.0 normal ist?
https://forum.iobroker.net/post/936280
habe ich Dir doch gepostet, wie Du die Struktur anpasst.
-
Also nur topic und prefix tauschen?
Kann ich das einfach so ändern während des laufenden Betriebs?