NEWS
MQTT Datenpunkte automatisch erstellen
-
@zibous sagte in MQTT Datenpunkte automatisch erstellen:
an einen MQTT Brocker.
Was ist das für ein Broker?
published der die Werte auch wieder?Was nutzst du im ioBroker?
MQTT-client oder MQTT?Wie konfiguriert.
Die abonnierten topics müssten automatisch angelegt werden.
-
@Blechsoldat
Vielen Dank für die rasche Antwort.
So wie ich das sehe nicht oder ich mache etwas falsch:
Wert (Beispiel)
"name":"Pokey_S06", "state":"ON", "unit_of_measurement":"W", "attributes":{ "etage":"0.EG", "room":"Gang EG", "name":"S06", "id":"digcounter6", "equipment":"Licht,Telefonanlage,WLAN", "sensor":"IF64_DIGCOUNTER6", "state":"ON", "current":10, "total":148.21, "prevdat":148.2, "time":"2020-12-28 09:45:03", "currentkw":0.01 }, "current":10, "appversion":"1.1.1", "nodeversion":"v10.14.2", }
Würde Datenpunkte für "current", "total"... brauchen
-
Danke,
Ich möchte die Sensordaten anzeigen.
Ich möchte MQTT-client (Auswertung) und MQTT (cmd für Gerätesteuerung)
Die abonnierten topics müssten automatisch angelegt werden.
Ja, aber ich müsste viele Scripte erstellen um an die Payload Attribute zu kommen oder mache ich da einen Denkfehler ?
-
@zibous wo kommen die werte her ?? von welchem Client ??
wenn du tatwarhaftig nur die JSON zur verfügung hast dann musst du diese ausinander nehmen
aber da reicht nur ein script.. der über de MQTT adapter geht und alle Datenpunkte die du brauchst sammelt und
erstmal nur die Datenpunkte anlegt
und dann fülltoder du baust das so dass wenn der Datenpunkt nicht exisitert dieser angelegt wird und direkt danach gefüllt wird
-
@arteck
Danke, genau das suche ich, da ich neu bei ioBroker bin, suche ich dafür ein Beispiel wie ich das angehen könnte. -
@zibous sagte in MQTT Datenpunkte automatisch erstellen:
aber ich müsste viele Scripte erstellen um an die Payload Attribute zu kommen oder mache ich da einen Denkfehler
wie @arteck schon schreibt liegt es an deinen topics.
Deine Clients senden sie anscheinend nicht einzeln, sondern als bulk in einem Json.Enweder musst du deinen Clients beibringen, jeden Sensorwert als einzelnes topic zu senden, oder eben bei jedem publish eines Clients muss das JSON geparst und die Inhalte auf weitere States geschrieben werden.
Wie ist denn der Inhalt eines solchen Topics?
-
@Homoran said in MQTT Datenpunkte automatisch erstellen:
Deine Clients senden sie anscheinend nicht einzeln, sondern als bulk in einem Json.
Enweder musst du deinen Clients beibringen, jeden Sensorwert als einzelnes topic zu senden, oder eben bei jedem publish eines Clients muss das JSON geparst und die Inhalte auf weitere States geschrieben werden.
Wie ist denn der Inhalt eines solchen Topics?Ja so ist es, es werden im Payload immer mehrere Attribute geliefert, bei über 100 Sensoren
kann ich nicht jeden Wert als Sensorwert liefern, das wären dann über 1000 MQTT Messages..
oder eine Vielzahl von Parser Scripts.Ein weiteres Beispiel:
{ "name":"Wasserz\u00e4hler Haus", "device":"watermeter", "deviceid":"43430778", "date":"2020-12-28", "time":"13:29:57", "total_m3":213.249, "m3":{ "current":0.0, "hour":0.011, "day":0.145, "month":7.208, "year":95.519 }, "liter":{ "current":0.0, "hour":11.0, "day":145.0, "month":7208.0, "year":95519.0 }, "last_total":{ "hour":"13", "hour_m3":213.238, "day":"2020-12-28", "day_m3":213.104, "month":"2020-12", "month_m3":206.041, "year":"2020-01-01", "year_m3":117.73 }, "alarm":"no_alarm", "last_alarm":"no_alarm", "periode":"2020-12-28", "month":"2020-12", "year":"2020", "timestamp":"2020-12-28T13:29:57Z", "last_update":"2020-12-28 14:29:57.086536", "elapsed_time":"0:00:10", "unit_of_measurement":"\u33a5", "version":"1.0.0" }
Daher ist der Ansatz vom @arteck sicher der Beste um an alle Werte aller MQTT Meldungen zu kommen. Aber ich habe noch kein Beispiel oder Modul gefunden wie das geht.
-
@zibous sagte in MQTT Datenpunkte automatisch erstellen:
Aber ich habe noch kein Beispiel oder Modul gefunden wie das geht.
Frag dich mal, warum ich so ein topic sehen wollte!
@zibous sagte in MQTT Datenpunkte automatisch erstellen:
bei über 100 Sensoren
kann ich nicht jeden Wert als Sensorwert liefern, das wären dann über 1000 MQTT Messages.Ja und?
Aber du brauchst über 1000 states
Das Json enthält ja noch mehrere Ebenen!
und der Name ist auch noch mit "unleserlichen" Zeichen.
"name":"Wasserz\u00e4hler Haus"
Da muss jemand anderes ran
-
@Homoran Unicode e4 ist demnach ein ä. Seit ich Umlaute und Leerzeichen nicht mehr nutze, programmiert es sich leichter.
In deinem Beispiel würde das Teil bei mir WasserzaehlerHaus heißen. Manchmal trenne ich auch mit Unterstrich: Wasserzaehler_Haus. Der Unterstrich lässt sich dann z.b. per Script suchen.
Bei mir werden die Datenpunkte der MQTT Clienten (ESP...) automatisch angelegt.
-
@peterfido sagte in MQTT Datenpunkte automatisch erstellen:
Unicode e4 ist demnach ein ä.
Das weiß ich. Ich benutze auch keine Umlaute.
@peterfido sagte in MQTT Datenpunkte automatisch erstellen:
Bei mir werden die Datenpunkte der MQTT Clienten (ESP...) automatisch angelegt.
Bei mir auch!
auch beim TE! Aber der hat seine clients so programmiert , dass sie viele Werte In einem JSON liefern.
Dieses muss er jetzt zerpflücken .