Ja die gibt es auf der Tasmota Github Seite.
Scripting Cookbook:
oder hier:
Smart Meter Interface - Tasmota
Du kannst dich bei github anmelden und das Script im Prinzip da hochladen.
Oder ich pack sie auf meine Seite.
Ja die gibt es auf der Tasmota Github Seite.
Scripting Cookbook:
oder hier:
Smart Meter Interface - Tasmota
Du kannst dich bei github anmelden und das Script im Prinzip da hochladen.
Oder ich pack sie auf meine Seite.
Hallo zusammen,
ich lese erfolgreich mit Tasmota meinen Stromzähler aus. Jetzt habe ich noch eine Frage.
Wie kann ich die ausgelesenen kWh Werte direkt im Script mit 50 multiplizieren? Ich brauch das da mein Zähler die hohen KWh von uns nicht darstellen kann und daher muss ich die werte immer mal 50 nehmen um auf die echten Werte zu kommen.
Gruß
Die Zählerwerte stehen in einem JSON. Das musst du auswerten und in einem separaten Objekt speichern:
Wo finde ich das Objekt TELE oder das jason?
Wo finde ich das Objekt TELE oder das jason?
Wenn du an deinem MQTT Topic nix geändert hast, hier:
mqtt.1.tele.tasmota_XXXXX.SENSOR
Aber das ist doch alles sehr iobroker lastig und sollten wir "drüben" besprechen.
Nachdem Strom- u. Gas- Ablesung funktioniert, soll nun die Wasseruhren Daten liefern.
Ich habe da einen Näherungsschalter plaziert und suche noch die genaue Position. Anbei mal zwei Bilder blau so steht der Sensor im Moment oder sollte er lieber dort wo der rote Pfeil steht plaziert sein ? (testweise kam da auch nichts)
Derzeit erhalte ich keine Impiulse, Sensor funktioniert aber.
Kann einer was zur Position sagen ?
Wenn du an deinem MQTT Topic nix geändert hast, hier:
mqtt.1.tele.tasmota_XXXXX.SENSOR
Aber das ist doch alles sehr iobroker lastig und sollten wir "drüben" besprechen.
Naja den Ort hab ich gefunden aber in diesem Sensor datenbunkt steht halt nicht der Zählerstand drin.
Gruss
Sollte in der Objekt Liste so aussehen. Und hinten siehts du dann das JSON.
Und da steht eben der Wert nicht drin
Und da steht eben der Wert nicht drin
Solllt so aussehen:
Genau und das steht dort nicht drin
Genau und das steht dort nicht drin
Um sicher zu sein. So sieht mein Script aus:
>D
scnt=0
res=0
;Variablen zum Zwischenspeichern der Werte
v1=0
v2=0
v3=0
v4=0
v5=0
v6=0
v7=0
v8=0
v9=0
;Stundenvariable für Tageswert
hr=0
;persistenter Speicher des letzten Werts um 0 Uhr
p:sm1=0
p:sm2=0
;persistenter Speicher des letztens Tagesverbrauchs
p:sd1=0
p:sd2=0
>T
;Bei jeder Teleperiode werden die letzten Werte in die Temp Var geschrieben
v1=LGUH50#kwh_count
v2=LGUH50#kwh_count_year
v3=LGUH50#heizleistung_max
v4=LGUH50#m3_count
v5=LGUH50#m3_count_year
v6=LGUH50#unknown
v7=LGUH50#durchlauf_max
v8=LGUH50#lauf_max
v9=LGUH50#flow_count
>R
>B
=>sensor53 r
>F
; Fernwrämezähler läuft mit Batterie und wird daher nur stündlich abgefragt
; count 100ms
scnt+=1
switch scnt
case 600
;set sml driver to 300 baud and send /?! as HEX to trigger the Meter
res=sml(1 0 300)
print "Anfrage wird gesendet"
res=sml(1 1 "0000000000000000000000000000000000000000")
res=sml(1 1 "0000000000000000000000000000000000000000")
res=sml(1 1 "2F3F210D0A")
res=sml(1 0 2400)
case 3000
;Schicke Werte, falls sie nicht Null sind
if v1!=0
then
=>publish stat/Fernwaerme/RESULT {"kwh_count":%v1%}
endif
if v2!=0
then
=>publish stat/Fernwaerme/RESULT {"kwh_count_year":%v2%}
endif
if v3!=0
then
=>publish stat/Fernwaerme/RESULT {"heizleistung_max":%v3%}
endif
if v4!=0
then
=>publish stat/Fernwaerme/RESULT {"m3_count":%v4%}
endif
if v5!=0
then
=>publish stat/Fernwaerme/RESULT {"m3_count_year":%v5%}
endif
if v6!=0
then
=>publish stat/Fernwaerme/RESULT {"unknown":%v6%}
endif
if v7!=0
then
=>publish stat/Fernwaerme/RESULT {"durchlauf_max":%v7%}
endif
if v8!=0
then
=>publish stat/Fernwaerme/RESULT {"lauf_max":%v8%}
endif
if v8!=0
then
=>publish stat/Fernwaerme/RESULT {"flow_count":%v9%}
endif
if sd1!=0
then
=>publish stat/Fernwaerme/RESULT {"Tagesverbrauch_kWh":%sd1%}
endif
if sd2!=0
then
=>publish stat/Fernwaerme/RESULT {"Tagesverbrauch_m3":%sd2%}
endif
;Neue Runde alle 60 Minuten
case 36000
scnt=0
ends
>S
;Tagesverbrauch
hr=hours
if chg[hr]>0
and hr==1
and v2>0
then
sd1=v2-sm1
sd2=v5-sm2
sm1=v2
sm2=v5
svars
endif
>M 1
+1,3,o,16,2400,LGUH50,1
1,6.8(@1,Zählerstand,MWh,kwh_count,3
1,6.8*01(@1,Zählerstand_year,MWh,kwh_count_year,3
1,6.6(@1,maximale Heizleistung,kWh,heizleistung_max,1
1,6.26(@1,Durchlauf,m³,m3_count,2
1,6.26*01(@1,Durchlauf_year,m³,m3_count_year,2
1,9.24(@1,unknown,m³h,unknown,1
1,6.33(@1,maximaler Durchlauf,m³h,durchlauf_max,3
1,9.4(@1,maximale VR Temp,C,lauf_max,1
1,9.31(@1,Fließdauer,h,flow_count,0
#
Alles anzeigen
Moin Zusammen,
gaanz tolle Sache, wenn der Netzbetreiber die Digitalisierung der Stromzähler so versteht,
dass man die Kunden die schon 11 Jahre einen digitalen Zählen haben der wunderbar
alle 2 Sekunden Daten über IR raussendet einen neuen digitalen Zähler verpasst, der
im Display nur den Gesamtverbrauch ohne Komma anzeigt, man mit den Tasten nichts machen kann
weil die PIN fehlt und an der IR Schnittstelle zwar sekündlich etwas kommt, aber
eigentlich auch nur den Gesamtverbrauch anscheinend auf voll kWh gerundet rausschmeißt.
Es handelt sich um den LK13BE904639
+1,3,s,0,9600,LK13BE,1,10,2F3F210D0A,063035310D0A
1,77070100010800ff@1000,Energie gesamt,kWh,energy_sum,3
1,77070100010801ff@1000,Energie Tarif 1,kWh,energy_tarif1,3
1,77070100010802ff@1000,Energie Tarif 2,kWh,energy_tarif2,3
1,77070100020800ff@1000,Einspeisung,kWh,energy_supply,3
1,=h --------------
1,77070100100700ff@1,Leistung,W,power,16
1,=h --------------
1,77070100600100ff@#,Server ID,,meter_number,0
Es ging es so, nun kommt nichts mehr, die IR LED taktet aber noch,
Power hat er gar nicht angezeigt
Hat jemand Erfahrungen wie man da mehr rauskitzelt?
05:49:03.287 : 77 07 01 00 60 32 01 01 01 01 01 01 04 XX XX XX XX
05:49:03.289 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 4c 4f 47 XX XX XX XX XX XX
05:49:03.337 : 77 07 01 00 01 08 00 ff 65 00 1c 01 04 01 62 1e 52 03 69 00 00 00 00 00 00 00 03 01
05:49:03.387 : 77 07 01 00 01 08 01 ff 01 01 62 1e 52 03 69 00 00 00 00 00 00 00 03 01
05:49:03.390 : 77 07 01 00 01 08 02 ff 01 01 62 1e 52 03 69 00 00 00 00 00 00 00 00 01
05:49:04.239 : 77 07 01 00 02 08 00 ff 01 01 62 1e 52 03 69 00 00 00 00 00 00 00 00 01 01 01 63 8c 52 00 76 05 01 02 03 04 62 00 62 00
05:49:04.289 : 77 01 0b 0a 01 4c 4f 47 00 XX XX XX XX 07 01 00 62 0a ff ff 72 62 01 65 00 00 59 79 76
habe einiges mit XX überschreiben wegen der Nummern
Ich komme da immer noch nicht drüber weg, im Grunde zeigt er weniger als eine Analoger an
beim Analogen kann man wenigstens noch das Rad schnelle oder langsam drehen sehen
Danke
Gruß Jens
Hallo, ich bin neu hier und habe mich jetzt mal durch die Anleitungen und Tip zum Wärmezähler von Landis&Gyr UH50 gearbeitet. Einen Hichi SchreibLese-Kopf mit Tasmota habe ich und erfolgreich ins Wlan eingebunden.
Nun benutze ich eines der angebenden Skripte um überhaupt erstmal zu sehen, ob ich Daten empfangen kann.
Auf der Tasmota Konsole bekomme ich aber u.a. 'var not found' angezeigt:
13:25:16.145 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-12T13:25:16","Uptime":"0T18:00:11","UptimeSec":64811,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":4,"POWER":"ON","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-46,"LinkCount":3,"Downtime":"0T00:00:07"}}
13:25:16.152 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-12T13:25:16","LGUH50":{"waermemenge":0}}
13:28:25.314 script compressed to 238 bytes = 68 %
13:28:25.317 Script: nv=2, tv=0, vns=9, vmem=47, smem=2560
13:28:25.319 Script: performs "sensor53 r"
13:28:25.328 SNS: Hardware Serial
13:28:25.333 MQT: stat/tasmota_FA3251/RESULT = {"Time":"2023-02-12T13:28:25","SML":{"CMD":"restart"}}
13:28:26.299 var not found: sml(1 0 300)
13:28:26.301 var not found: sml(1 1 "00000000000000000000000")
13:28:26.303 var not found: sml(1 1 "0000000000000000000000")
13:28:26.305 var not found: sml(1 1 "2F3F210D0A")
13:28:26.306 var not found: sml(1 0 2400)
13:29:31.184 script compressed to 463 bytes = 66 %
13:29:31.186 Script: nv=2, tv=0, vns=9, vmem=47, smem=2560
13:29:31.188 Script: performs "sensor53 r"
13:29:31.198 SNS: Hardware Serial
13:29:31.204 MQT: stat/tasmota_FA3251/RESULT = {"Time":"2023-02-12T13:29:31","SML":{"CMD":"restart"}}
13:29:32.757 var not found: sml(1 0 300)
13:29:32.759 var not found: sml(1 1 "0000000000000000000000000000000000000000")
13:29:32.761 var not found: sml(1 1 "0000000000000000000000000000000000000000")
13:29:32.762 var not found: sml(1 1 "2F3F210D0A")
13:29:32.764 var not found: sml(1 0 2400)
Wo könnte ich mit der Fehlersuche beginnen? Lt. den letzten Posts kann man den Zähler ja ansprechen.
Danke im voraus, Jens
Alles anzeigenHallo, ich bin neu hier und habe mich jetzt mal durch die Anleitungen und Tip zum Wärmezähler von Landis&Gyr UH50 gearbeitet. Einen Hichi SchreibLese-Kopf mit Tasmota habe ich und erfolgreich ins Wlan eingebunden.
Nun benutze ich eines der angebenden Skripte um überhaupt erstmal zu sehen, ob ich Daten empfangen kann.
Auf der Tasmota Konsole bekomme ich aber u.a. 'var not found' angezeigt:
13:25:16.145 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-12T13:25:16","Uptime":"0T18:00:11","UptimeSec":64811,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":4,"POWER":"ON","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-46,"LinkCount":3,"Downtime":"0T00:00:07"}}
13:25:16.152 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-12T13:25:16","LGUH50":{"waermemenge":0}}
13:28:25.314 script compressed to 238 bytes = 68 %
13:28:25.317 Script: nv=2, tv=0, vns=9, vmem=47, smem=2560
13:28:25.319 Script: performs "sensor53 r"
13:28:25.328 SNS: Hardware Serial
13:28:25.333 MQT: stat/tasmota_FA3251/RESULT = {"Time":"2023-02-12T13:28:25","SML":{"CMD":"restart"}}
13:28:26.299 var not found: sml(1 0 300)
13:28:26.301 var not found: sml(1 1 "00000000000000000000000")
13:28:26.303 var not found: sml(1 1 "0000000000000000000000")
13:28:26.305 var not found: sml(1 1 "2F3F210D0A")
13:28:26.306 var not found: sml(1 0 2400)
13:29:31.184 script compressed to 463 bytes = 66 %
13:29:31.186 Script: nv=2, tv=0, vns=9, vmem=47, smem=2560
13:29:31.188 Script: performs "sensor53 r"
13:29:31.198 SNS: Hardware Serial
13:29:31.204 MQT: stat/tasmota_FA3251/RESULT = {"Time":"2023-02-12T13:29:31","SML":{"CMD":"restart"}}
13:29:32.757 var not found: sml(1 0 300)
13:29:32.759 var not found: sml(1 1 "0000000000000000000000000000000000000000")
13:29:32.761 var not found: sml(1 1 "0000000000000000000000000000000000000000")
13:29:32.762 var not found: sml(1 1 "2F3F210D0A")
13:29:32.764 var not found: sml(1 0 2400)
Wo könnte ich mit der Fehlersuche beginnen? Lt. den letzten Posts kann man den Zähler ja ansprechen.
Danke im voraus, Jens
Welche Tasmota Version? Die Variablen werden erst mit einer neueren Version unterstützt.
Welche Tasmota Version? Die Variablen werden erst mit einer neueren Version unterstützt.
Das ist die 11.1.0
Das ist die 11.1.0
Versuche mal die 12.3.1 nach der Anleitung ab Minute 8:
Die FW gibt es unter in den Kommentaren.
Versuche mal die 12.3.1 nach der Anleitung ab Minute 8:
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Die FW gibt es unter in den Kommentaren.
Danke, bin jetzt auf 12.3.1
Dein Skript von dieser Seite hier will er nicht nehmen und sagt ‘Zuviele Zeichen’.
Habe jetzt ein anderes aus dem Diskussionsthread genommen.
Sollte ich eigentlich mit ‘sensor53 d1’ sofort Werte zurückbekommen?
Momentan zeigt er regelmäßig nur das an:
15:17:01.308 CMD: sensor53 d0
15:17:01.315 MQT: stat/tasmota_FA3251/RESULT = {"Time":"2023-02-13T15:17:01","SML":{"CMD":"dump: 0"}}
15:17:03.416 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:17:03","Uptime":"0T00:45:11","UptimeSec":2711,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-43,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:17:03.425 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:17:03","LGUH50":{"waermemenge":0}}
15:22:03.407 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:22:03","Uptime":"0T00:50:11","UptimeSec":3011,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-41,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:22:03.414 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:22:03","LGUH50":{"waermemenge":0}}
15:27:03.416 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:27:03","Uptime":"0T00:55:11","UptimeSec":3311,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-42,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:27:03.422 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:27:03","LGUH50":{"waermemenge":0}}
15:32:03.402 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:32:03","Uptime":"0T01:00:11","UptimeSec":3611,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-40,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:32:03.408 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:32:03","LGUH50":{"waermemenge":0}}
15:37:03.378 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:37:03","Uptime":"0T01:05:11","UptimeSec":3911,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-43,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:37:03.384 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:37:03","LGUH50":{"waermemenge":0}}
15:42:03.416 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:42:03","Uptime":"0T01:10:11","UptimeSec":4211,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-47,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:42:03.424 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:42:03","LGUH50":{"waermemenge":0}}
15:47:03.405 MQT: tele/tasmota_FA3251/STATE = {"Time":"2023-02-13T15:47:03","Uptime":"0T01:15:11","UptimeSec":4511,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"FritzLu","BSSId":"3C:A6:2F:56:5E:2E","Channel":1,"Mode":"11n","RSSI":100,"Signal":-42,"LinkCount":1,"Downtime":"0T00:00:05"}}
15:47:03.412 MQT: tele/tasmota_FA3251/SENSOR = {"Time":"2023-02-13T15:47:03","LGUH50":{"waermemenge":0}}
Versuch mal das:
>D
scnt=0
res=0
>B
=>sensor53 r
>F
;100ms iterations
scnt+=1
switch scnt
case 10
;300 baudrate
res=sml(1 0 300)
res=sml(1 1 "00000000000000000000000")
res=sml(1 1 "0000000000000000000000")
res=sml(1 1 "2F3F210D0A")
;\?!CRLF
;case 7
res=sml(1 0 2400)
case 6000
scnt=0
ends
>M 1
+1,3,o,16,2400,LGUH50,1
1,6.8(@1,Zählerstand,kWh,waermemenge,0
#
Alles anzeigen