NEWS
Datenpunkte aus Tasmota werden in Mqtt nicht angezeigt.
-
Hallo,
ich betreibe einen Wemos D1 mit Tasmota auf dem ich 3 Sensoren abfrage (2x Strom und 1x Gas).
In Tasmota kommen auch Daten an.
D
B
->sensor53 r
M 3
+1,3,s,0,9600,Unten
+3,12,c,0,50,Gas
+2,14,s,13,9600,Oben
3,=h==================2,77070100010800ff@1000,Total consumption,KWh,Total_in,3
3,=h==================
2,77070100100700ff@1,Current consumption,W,Power_curr,2
3,=h ----
3,=h==================
3,=h ----
3,=h ----
3,=h==================
2,77070100000009ff@#,Service ID,,Meter_id,0
3,=h
1,77070100010800ff@1000,Total consumption,KWh,Total_in,3
3,=h==================
1,77070100100700ff@1,Current consumption,W,Power_curr,2
1,=h ----
3,=h==================
3,=h ----
3,=h ----
3,=h==================
1,77070100000009ff@#,Service ID,,Meter_id,0
3,1-0:1.8.0*255(@100,Gas reading,cbm,Count,3
3,=hEs werden auch Daten im IO Broker übertragen, allerdings bekomme ich für die jeweiligen Werte keine Datenpunkte angezeigt.
{"Time":"2022-12-31T15:46:01","Oben ":{"Total_in":7610.065},"Oben ":{"Power_curr":225.00,"Meter_id":"0649534b010e1f596433"},"Unten ":{"Total_in":32731.679,"Power_curr":178.00,"Meter_id":"0649534b010e1f596447"},"Gas ":{"Count":66.400}}
Wo liegt da mein Fehler?
Mit dem Sonoff Adapter und anderem Port habe ich auch keinen Erfolg.
Bin auch kein Profi und Lese mich gerade etwas in die Materie ein. -
@jörg-flacke Da kommen doch die JSONs rein:
{"Time":"2022-12-31T15:46:01","Oben ":{"Total_in":7610.065},"Oben ":{"Power_curr":225.00,"Meter_id":"0649534b010e1f596433"},"Unten ":{"Total_in":32731.679,"Power_curr":178.00,"Meter_id":"0649534b010e1f596447"},"Gas ":{"Count":66.400}}
Die musst du dir auseinander bauen (Blockly, JavaScript). Das macht der Sonoff-Adapter sonst für einen, was da bei dir zurück kommt weicht aber ggf. vom üblichen Schema ab und der Sonoff-Adapter weis nicht was er damit machen soll.
Wenn dein Skript die Werte zerlergt schreibst du dir die dann in neue Datenpunkte unterhalb von
0_userdata.0
-
So, hab mal versucht mit Hilfe Youtube ein Skript zu erstellen.
Wie kann ich die URL des Tasmota-Json ermitteln.
Bin nicht sicher ob die Daten beim Skript ankommen.Wie muss die Einstellung in den Datenpunkten sein?
Komme im Moment nicht weiter.
-
@jörg-flacke
Bei mir kommt über den MQTT-Adapter folgendes JSON an:{"Time":"2023-01-06T08:21:44","ENERGY":{"TotalStartTime":"2022-12-23T10:06:33","Total":78.836,"Yesterday":6.690,"Today":0.000,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":0,"Current":0.000}}
Das zerlege ich per JS und schreibe die für mich interessanten DP:
on({id: "mqtt.0.tele.tasmota_C2FB6D.SENSOR", change: "ne"}, async function (obj) { var value = obj.state.val; setState("0_userdata.0.tasmota.C2FB6D.voltage", getAttr(value, 'ENERGY.Voltage'), true); setState("0_userdata.0.tasmota.C2FB6D.power", getAttr(value, 'ENERGY.Power'), true); });
-
@codierknecht
Danke für deine Antwort.
Du holst das Json aus dem Mqtt Adapter? Werde ich später mal probieren.Mit dem "setState" schreibst du dann direkt die Datenpunkte in Userdate beim IOBroker, oder?
Wie würde dein JS in Blockly aussen?
Hättest da da ein beispiel? -
@jörg-flacke sagte in Datenpunkte aus Tasmota werden in Mqtt nicht angezeigt.:
Du holst das Json aus dem Mqtt Adapter? Werde ich später mal probieren.
Exakt!
Mit dem "setState" schreibst du dann direkt die Datenpunkte in Userdate beim IOBroker, oder?
Auch das ist richtig!
Wie würde dein JS in Blockly aussen?
Hättest da da ein beispiel? -
LÄUFT!!!! Vielen Dank und schönes Wochenende.