Moin in die Runde,
bin neu hier und seit zwei Tagen am verzweifeln...
Ich dachte ich hätte schon genug Erfahrung mit ESP und Tasmota und wollte nun mittels Hichi IR wifi (ESP01s) unseren Landis Gyr E320 auslesen.
Ich habe schon herausgefunden, dass er gleich auszulesen sein soll wie der E350 und in der Anleitung steht 9600 Baud.
Somit habe ich mittels VisualStudioCode folgende Zeilen in die user_config_override.h eingefügt:
#ifndef USE_SCRIPT
#define USE_SCRIPT
#endif
#ifndef USE_SML_M
#define USE_SML_M
#endif
#ifdef USE_RULES
#undef USE_RULES
#endif
#define USE_SML_SCRIPT_CMD
#define USE_SCRIPT_SUB_COMMAND
Alles anzeigen
Dann alles kompiliert und hochgeladen.
Anschließend habe ich aus diesem Beitrag den Code in mein "Script-Fenster" des Tasmota kopiert und wie folgt angepasst:
>D
scnt=0
res=0
>B
=>sensor53 r
>F
; count 100ms
scnt+=1
switch scnt
case 6
;set sml driver to 300 baud and send /?! as HEX to trigger the Meter
res=sml(1 0 300)
res=sml(1 1 "2F3F210D0A")
;1800ms later \> Ack and ask for switching to 4800/9600 baud
case 18
;300bd
;res=sml(1 1 "063030300D0A")
;4800db
;res=sml(1 1 "063034300D0A")
;9600bd
res=sml(1 1 "063035300D0A")
;200ms later \> Switching sml driver to 4800/9600 baud
case 20
res=sml(1 0 9600)
;Restart sequence after 50x100ms
case 50
; 5000ms later \> restart sequence
scnt=0
ends
>M 1
+1,3,o,16,9600,LGE320,1
;F.F Error code -> (always first in the list)
1,F.F(@1,Fehlercode,,Error_code,0
;C.1.0 -> ID1.1 Meter ID (8 characters)
1,C.1.0(@1,ZählerID,,Meter_id,0
;0.0 Customer identification (16 characterstring) (Readout)
1,0.0(@1,Zählernummer,,Meter_nummer,0
;C.1.1 ID1.4 Manufacturing ID (8 characters)
1,C.1.1(@1,HerstellerID,,manufacturingID,0
;C.5.0 Status Flag (Readout: “Miniflex /E350s2 status”)
1,C.5.0(@1,StatusFlag,,statusflag,0
;C.7.0 Power Fail Count
1,C.7.0(@1,PowerFailCount,,powerfail,0
1,=h===================
;1.8.0 Total active energy import
1,1.8.0(@1,Zählerstand Total,KWh,Total_in,3
;1.8.X Active energy import rate X (X = 1…6) (Tarif 1)
1,1.8.1(@1,Tarif 1,KWh,HT_Total_in,3
;1.8.X Active energy import rate X (X = 1…6) (Tarif 2)
1,1.8.2(@1,Tarif 2,KWh,NT_Total_in,3
;1.8.X Active energy import rate X (X = 1…6) (Tarif 3)
1,1.8.3(@1,Tarif 3,KWh,NT_Total_in,3
;1.8.X Active energy import rate X (X = 1…6) (Tarif 4)
1,1.8.4(@1,Tarif 4,KWh,NT_Total_in,3
;1.8.X Active energy import rate X (X = 1…6) (Tarif 5)
1,1.8.5(@1,Tarif 5,KWh,NT_Total_in,3
;1.8.X Active energy import rate X (X = 1…6) (Tarif 6)
1,1.8.6(@1,Tarif 6,KWh,NT_Total_in,3
;2.8.0 Total active energy export
1,2.8.0(@1,Gesamt Energie (Aktiv),KWh,TotalEnergy,3
;15.8.0 Combined sum I + II + III + IV Sum kWh
1,15.8.0(@1,Summe Kombiniert,KWh,combined,3
1,=h===================
;32.7 VRMS Phase L1 (L12 in ZFFxxx meters)
1,32.7(@1,Power_L1,Volt,Volt_L1,2
;52.7 VRMS Phase L2 (not for 3-wire ZFFxxx meters)
1,52.7(@1,Power_L2,Volt,Volt_L2,2
;72.7 VRMS Phase L3 (L32 in ZFFxxx meters)
1,72.7(@1,Power_L3,Volt,Volt_L3,2
#
Alles anzeigen
Wenn ich nun sensor53 d1 in der Console eingebe erhalte ich aber nur wirre Zeichen:
13:53:06.489 MQT: stat/OpenHAB/CuH_F/Stromzaehler/RESULT = {"Time":"2022-02-01T13:53:06","SML":{"CMD":"dump: 1"}}
13:53:07.183 :
13:53:07.232 :
13:53:07.246 :
13:53:07.291 : rb
13:53:09.183 : (
13:53:09.231 :
13:53:09.246 :
13:53:09.290 : rb
13:53:10.230 :
13:53:10.245 :
13:53:10.290 : rb
13:53:11.183 : 2
13:53:11.232 :
13:53:11.246 :
13:53:11.290 : rb
13:53:12.229 :
13:53:12.244 :
13:53:12.288 : rb
13:53:14.184 : (
13:53:14.231 :
13:53:14.246 :
13:53:14.291 : rb
Alles anzeigen
Kann mir jemand hier behilflich sein?
Vielen Dank vorab!!!
Habe es nun per SML versucht
>D
scnt=0
res=0
>B
=>sensor53 r
>M
+1,3,s,1,9600,SML
1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,4
1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,3
1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0
#
Alles anzeigen
und bekomme nun wenigstens Daten
20:21:19.393 CMD: sensor53 d1
20:21:19.400 MQT: tele/tasmota_C1412C/SENSOR = {"Time":"2022-02-01T20:21:19","SML":{"DJ_TPWRIN":12656.0000,"DJ_TPWROUT":0.000,"DJ_TPWRCURR":0}}
20:21:19.633 : 77 07 01 00 01 08 00 ff 65 00 1c 81 04 72 62 01 65 04 ca 97 52 62 1e 52 03 69 00 00 00 00 00 00 31 70 01 01 01 63 94 f9
20:21:19.668 : 77 07 ff ff ff ff ff ff 0b 0a 01 4c 47 5a 00 03 2c 3d 0e 07 01 00 62 0a ff ff 72 62 01 65 04 ca 97 53 73
20:21:19.687 : 77 07 01 00 60 32 01 01 01 01 01 01 04 4c 47 5a 01
20:21:19.712 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 4c 47 5a 00 03 2c 3d 0e 01
20:21:20.884 : 77 07 01 00 01 08 00 ff 65 00 1c 81 04 72 62 01 65 04 ca 97 53 62 1e 52 03 69 00 00 00 00 00 00 31 70 01 01 01 63 56 7d
20:21:20.886 : 77 07 ff ff ff ff ff ff 0b 0a 01 4c 47 5a 00 03 2c 3d 0e 07 01 00 62 0a ff ff 72 62 01 65 04 ca 97 54 73
20:21:20.889 : 77 07 01 00 60 32 01 01 01 01 01 01 04 4c 47 5a 01
20:21:20.891 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 4c 47 5a 00 03 2c 3d 0e 01
Ich gehe jetzt davon aus, alles ist in ordnung (kein Defekt, Sensor verkehrt herum, Firmware flasch geflashed...)
Das müssten die einfachen Werte sein, welche jede Sekunde vom Zähler gesendet werden (würde mir ja schon reichen nur hätte ich gern den momentanen Verbrauch noch gern und ich würde gern wissen, warum ich den Zähler nicht per OBIS ansprechen kann)