NEWS
Stromzähler per Sonoff ESP8266 auslesen
Stromzähler per Sonoff ESP8266 auslesen
-
Ja genau, das ist mein Plan. Aktuell kann ich schon 2 Zähler mit einem esp auslesen.
Nur hätte ich gern für beide Zähler die Zählerstände:
00:00Uhr
Monatsanfang
Jahresanfang
Tagesverbrauch
Wochenverbrauch
MonatsverbrauchIst das möglich?
Gruß
Sangandi@sangandi Das müsste theoretisch möglich sein. Über den Parameter M stellst du den Zähler bzw. die Anzahl der Zähler ein.
Aber wie genau da bin ich ehrlich gesagt überfragt. So tief bin ich in das Script nie eingestiegen. Da wäre es sinnvoll mal im Discord Channel bei Tasmota nachzufragen. Dort sitzt der Entwickler des Scripts. -
@sangandi Das müsste theoretisch möglich sein. Über den Parameter M stellst du den Zähler bzw. die Anzahl der Zähler ein.
Aber wie genau da bin ich ehrlich gesagt überfragt. So tief bin ich in das Script nie eingestiegen. Da wäre es sinnvoll mal im Discord Channel bei Tasmota nachzufragen. Dort sitzt der Entwickler des Scripts.Ich habe es soweit geschafft.
Zähler wird ausgelesen
im ESP32 zeigt Tasmota die Werte an und sendet an IOBroker.im Objekt SENSOR erhalte ich jedoch dass:
{
"Time": "2022-07-08T14:57:20",
"SML": {
"Total_in": 68055.5349,
"Power_curr": 854
},
"ESP32": {
"Temperature": 74.4
},
"TempUnit": "C"
}Was muss ich ändern, damit ich den aktuellen Bezug (Power_curr) und den Gesamtbezug (Total_in) einfach nur als Wert bekomme?
Oder muss ich in einem Skript den Inhalt zerlegen und "auswerten"? -
Ich habe es soweit geschafft.
Zähler wird ausgelesen
im ESP32 zeigt Tasmota die Werte an und sendet an IOBroker.im Objekt SENSOR erhalte ich jedoch dass:
{
"Time": "2022-07-08T14:57:20",
"SML": {
"Total_in": 68055.5349,
"Power_curr": 854
},
"ESP32": {
"Temperature": 74.4
},
"TempUnit": "C"
}Was muss ich ändern, damit ich den aktuellen Bezug (Power_curr) und den Gesamtbezug (Total_in) einfach nur als Wert bekomme?
Oder muss ich in einem Skript den Inhalt zerlegen und "auswerten"? -
@Jaschkopf
Inwischen bin ich auf einen IR Transistor gewechselt und kann tatsächlich Daten auslesen. Leider habe ich kein passendes Script für meine Itron Zähler gefunden. Wie gehe ich denn am besten vor wenn ich das hier auswerten will?16:20:27.109 : 1b 1b 1b 1b 16:20:27.153 : 01 01 01 01 76 09 73 07 00 00 04 25 2c d8 62 00 62 00 72 65 00 00 01 01 76 01 01 09 00 00 00 00 01 61 c1 10 0b 0a 01 49 54 52 16:20:27.193 : 00 03 4b a8 1e 72 62 01 65 01 61 c2 1d 01 63 de d0 00 76 09 73 07 00 00 04 25 2c d9 62 00 62 00 72 65 00 00 07 01 16:20:27.223 : 77 01 0b 0a 01 49 54 52 00 03 4b a8 1e 07 01 00 62 0a ff ff 72 62 01 65 01 61 c2 1d 73 16:20:27.241 : 77 07 01 00 60 32 01 01 01 01 01 01 04 49 54 52 01 16:20:27.266 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 49 54 52 00 03 4b a8 1e 01 16:20:27.310 : 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 0c dd 01 01 01 63 de 95 00 76 09 73 07 00 00 04 25 2c 16:20:27.355 : da 62 00 62 00 72 65 00 00 02 01 71 01 63 3d 40 00 00 00 1b 1b 1b 1b 1a 02 0c 1d 16:20:28.110 : 1b 1b 1b 1b 01 01 01 01 16:20:28.155 : 76 09 73 07 00 00 04 25 2c db 62 00 62 00 72 65 00 00 01 01 76 01 01 09 00 00 00 00 01 61 c1 11 0b 0a 01 49 54 52 00 03 4b a8 1e 72 16:20:28.189 : 62 01 65 01 61 c2 1e 01 63 96 7d 00 76 09 73 07 00 00 04 25 2c dc 62 00 62 00 72 65 00 00 07 01 16:20:28.219 : 77 01 0b 0a 01 49 54 52 00 03 4b a8 1e 07 01 00 62 0a ff ff 72 62 01 65 01 61 c2 1e 73 16:20:28.237 : 77 07 01 00 60 32 01 01 01 01 01 01 04 49 54 52 01 16:20:28.262 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 49 54 52 00 03 4b a8 1e 01 16:20:28.308 : 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 0c dd 01 01 01 63 58 ea 00 76 09 73 07 00 00 04 25 2c dd 16:20:28.353 : 62 00 62 00 72 65 00 00 02 01 71 01 63 7e 58 00 00 00 1b 1b 1b 1b 1a 02 4a 08 16:20:29.126 : 1b 1b 1b 1b 01 01 01 01 76 09 73 07 00 00 04 25 2c de 62 00 62 00 72 65 00 00 01 01 76 16:20:29.170 : 01 01 09 00 00 00 00 01 61 c1 12 0b 0a 01 49 54 52 00 03 4b a8 1e 72 62 01 65 01 61 c2 1f 01 63 3f e5 00 76 09 73 07 00 00 04 16:20:29.184 : 25 2c df 62 00 62 00 72 65 00 00 07 01@toki1973 Wie sieht dein Skript ITRON für Tasmota aus?
-
Ich versuche mich auch gerade am Tasmota-Zähler. Dafür verwende ich einen NodeMCU.
Der Infrarot-Sensor hat einen USB-A Ausgang.Sehe ich das richtig, dass die erste zeile im Script schon auf die GPIOs referenziert? Was muss ich dementsprechend in Tasmota konfigurieren? Nichts? Ich habe die beiden Datenanschlüsse an GPIO1 und GPIO3. Wenn ich Serial RX und TX belege, dann wird im Hauptmenu garnichts angezeigt, da heisst es RX1 ist bereits konfiguriert...oder irgendwie so. Ich habe auch mal im Script 1 und 3 vertauscht (da ich nicht weiss, welcher USB-Anschluss wohin auf dem Empfänger landet... leider kein Erfolg.
Via ioBroker Smartmeter Adapter funktioniert der Sensor problemlos.
Habt ihr noch Tips/ Anregungen?

>D >B =>sensor53 r >M 1 +3,1,s,0,9600,MT681 1,77070100010800ff@1000,Gesamtverbrauch,KWh,Total_in,3 1,770701000f0700ff@1,Leistung,W,Power_cur,0 1,77070100150700ff@1,Leistung P1,W,Power_p1,0 1,77070100290700ff@1,Leistung P2,W,Power_p2,0 1,770701003d0700ff@1,Leistung P3,W,Power_p3,0 1,77070100000009ff@#,Service ID,,Meter_id,0| #Leider kann ich den Sensor nicht auseinandernehmen. Der scheint mir verklebt... Das ist vmt. ein Selbstbau IR-Sender/Empfänger mit 3D-Druck. Da das ganze Ding im ioBroker funktioniert, muss ich das doch nciht freileuchten, oder doch?
Ergänzung. Ich habe den Empfänger an 3,3v, GND, RX und TX angeschlossen. Oder läuft das Teil auf 5V?

-
@chaot @chaot Gerne mach ich das.
Zunächst habe ich mir für die Leistungsaufnahme und den Zählerstand Aliase angelegt. Das ist kein muss, aber es erleichtert die Anpassungen, falls mal dein ESP getauscht werden muss. Weitere Infos findest du mit dem Suchbegriff "Alias" hier im Forum.

Meine ganzen eigenen Datenpunkte habe ich in 0_userdata angelegt. Man kann das natürlich auch in Alias machen, aber ich trenne das etwas, weil ich Alias nur für Datenpunkte von Geräten verwende. Das erhöht etwas die Übersichtlichkeit.

0_userdata.0.Stromverbrauch.json
Dieses json kannst du über Objekte direkt importieren.
Das Blockly sieht folgendermaßen aus:

Auch hier ein Export davon:
Blockly.xmlAbschließend noch etwas zum Alias. In dem Script arbeite ich mit dem Alias-Datenpunkt. Die Aliasdatenpunkte verweisen auf die Original-Datenpunkte. Falls du jetzt meine Dateien benutzen willst musst du nur den entsprechenden Import machen und die beiden Alias-Datenpunkte dahingehend anpassen, dass sie auf deine Original-Datenpunkte in MQTT verweisen.
alias.0.Scripte.Stromverbrauch.json
Hierzu gehst du auf den Editor des Objektes und passt das Feld "id" an.

So, das sollte es jetzt gewesen sein.
Ach so, noch was..... in userdata sind Datenpunkte, die du auf deine Gegebenheiten anpassen musst, wie z.B. Arbeitspreis, Grundpreis, Datum Abrechnungsbeginn. Den Zählerstand zum Monatsanfang kannst du eintragen, sofern du ihn noch weist. Ansonsten ist ja morgen ein neuer Monatsanfang.
Viele Spaß beim ausprobieren.
-
@ralfth
Hi, sehr gut das Script. Hast du eventuell eine passende Visualisierung dazu, oder einen Link?

@uli-geins Hallo, ich habe das in Jarvis visualisiert.

Ich lege nicht sehr großen Wert auf eine "schicke" Visualisierung, obwohl das mit Jarvis sicherlich auch funktioniert. Ich verwende die Daten für Verbrauchs- und Temperaturstatistiken. Ich habe auch noch einen Kalender für Termine und Müll integriert. Ich bin da eher Purist was die smarte Steuerung des Hauses anbelangt.

VIS hatte ich mal versucht, allerdings ist mir das zu aufwendig gewesen. Wobei der Müllkalender in VIS gemacht wurde und als iFrame in Jarvis integriert wurde. -
Doch noch ein Problem:
via mqtt werden die Sensordaten scheinbar nur nach dem booten übermittelt - an was kann das liegen, das die Daten nicht sekündlich übermittelt werden? Script?>D >B ->sensor53 r >M 1 +1,3,s,1,9600,SML 1,77070100010800ff@1000,Zählerstand,KWh,Total_in,3 1,77070100020800ff@1000,Einspeisung,KWh,Total_out,3 1,77070100100700ff@1,Stromverbrauch,W,Power_curr,0 1,=h=================| 1,77070100200700ff@1,Spannung L1,V,Volt_p1,1 1,77070100340700ff@1,Spannung L2,V,Volt_p2,1 1,77070100480700ff@1,Spannung L3,V,Volt_p3,1 1,=h=================| 1,770701001f0700ff@1,Strom L1,A,Ampere_p1,1 1,77070100330700ff@1,Strom L2,A,Ampere_p2,1 1,77070100470700ff@1,Strom L3,A,Ampere_p3,1 1,=h=================| 1,770701000e0700ff@1,Netzfrquenz,Hz,Freq,0 1,=h=================| #Hallo zusammen erstmal an das Forum!
Ich bin fleissiger Leser und hab schon solch manch brauchbare Info hier gefunden!
Jetzt komme ich nicht weiter und denke, dass ich hier richtig aufgehoben bin.
Ich versuche, mit tasmota meinen smarten Stromzähler auszulesen.
Das klappt auch gut über das Webinterface.

Jedoch sind für meine Anwendung die mqtt-Daten interessanter. Diese werden jedoch von dem ESP8266 nur nach einem Neustart aktualisiert bzw. bereitgestellt.C:\Program Files (x86)\mosquitto>mosquitto_sub -h 192.168.1.133 -t tasmota/#
{"ip":"192.168.1.31","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_0DF0CF-4303","mac":"4417930DF0CF","md":"Generic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.2.0.3","t":"tasmota_0DF0CF","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
{"sn":{"Time":"2022-07-30T10:13:46","SML":{"Total_in":61.6,"Total_out":677.6891,"Power_curr":-1191,"Volt_p1":235.4,"Volt_p2":234.9,"Volt_p3":235.8,"Ampere_p1":1.66,"Ampere_p2":1.73,"Ampere_p3":1.93,"frequency":49.9}},"ver":1}
{"ip":"192.168.1.118","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_0D4704-1796","mac":"4417930D4704","md":"Generic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.2.0.3","t":"tasmota_0D4704","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
{"sn":{"Time":"2022-07-30T20:13:39","SML":{"Total_in":63.1,"Total_out":686.0649,"Power_curr":161,"Volt_p1":233.9,"Volt_p2":234.9,"Volt_p3":234.8,"Ampere_p1":0.70,"Ampere_p2":0.71,"Ampere_p3":0.86,"frequency":50.0}},"ver":1}Da für gewöhnlich das Problem eher vor dem Bildschirm sitzt: Hat jemand einen Rat für mich, wo ich da den Bock drinnen habe?
Bei Tasmota unter Logging habe ich schon diverse Telemetry-Periods getestet, alles ohne Erfolg ;-( .
Viele Grüße
Torsten -
Hallo zusammen erstmal an das Forum!
Ich bin fleissiger Leser und hab schon solch manch brauchbare Info hier gefunden!
Jetzt komme ich nicht weiter und denke, dass ich hier richtig aufgehoben bin.
Ich versuche, mit tasmota meinen smarten Stromzähler auszulesen.
Das klappt auch gut über das Webinterface.

Jedoch sind für meine Anwendung die mqtt-Daten interessanter. Diese werden jedoch von dem ESP8266 nur nach einem Neustart aktualisiert bzw. bereitgestellt.C:\Program Files (x86)\mosquitto>mosquitto_sub -h 192.168.1.133 -t tasmota/#
{"ip":"192.168.1.31","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_0DF0CF-4303","mac":"4417930DF0CF","md":"Generic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.2.0.3","t":"tasmota_0DF0CF","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
{"sn":{"Time":"2022-07-30T10:13:46","SML":{"Total_in":61.6,"Total_out":677.6891,"Power_curr":-1191,"Volt_p1":235.4,"Volt_p2":234.9,"Volt_p3":235.8,"Ampere_p1":1.66,"Ampere_p2":1.73,"Ampere_p3":1.93,"frequency":49.9}},"ver":1}
{"ip":"192.168.1.118","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_0D4704-1796","mac":"4417930D4704","md":"Generic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.2.0.3","t":"tasmota_0D4704","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
{"sn":{"Time":"2022-07-30T20:13:39","SML":{"Total_in":63.1,"Total_out":686.0649,"Power_curr":161,"Volt_p1":233.9,"Volt_p2":234.9,"Volt_p3":234.8,"Ampere_p1":0.70,"Ampere_p2":0.71,"Ampere_p3":0.86,"frequency":50.0}},"ver":1}Da für gewöhnlich das Problem eher vor dem Bildschirm sitzt: Hat jemand einen Rat für mich, wo ich da den Bock drinnen habe?
Bei Tasmota unter Logging habe ich schon diverse Telemetry-Periods getestet, alles ohne Erfolg ;-( .
Viele Grüße
Torsten@henni774 Mal abgesehen davon das du auf einer uralten Version von Tasmota unterwegs bist wäre es noch recht schön wenn du die Ausgabe in Code Tags packen würdest die man dann besser lesen kann.
Was steht in den Einstellungen unter "Telemetrieperiode" (Bei Logging der unterste Punkt)?
-
@henni774 Mal abgesehen davon das du auf einer uralten Version von Tasmota unterwegs bist wäre es noch recht schön wenn du die Ausgabe in Code Tags packen würdest die man dann besser lesen kann.
Was steht in den Einstellungen unter "Telemetrieperiode" (Bei Logging der unterste Punkt)?
@chaot
Vielen Dank für Deine Antwort.
Bei den Einstellungen unter Telemetrieperiode habe ich aktuell 30, habe aber auch schon 10, 100 und 300 probiert.
Mein Script schaut so aus (ich hoffe, das passt so mit der Darstellung) :>D >B ->sensor53 r >M 1 +1,4,s,16,9600,SML 1,77070100010800ff@1000,Bezug Gesamt,kWh,Total_in,1 1,77070100020800ff@1000,Einspeisung,kWh,Total_out,4 1,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,16 1,77070100200700ff@1,Volt P1,V,Volt_p1,1 1,77070100340700ff@1,Volt P2,V,Volt_p2,1 1,77070100480700ff@1,Volt P3,V,Volt_p3,1 1,770701001f0700ff@1,Ampere P1,A,Ampere_p1,2 1,77070100330700ff@1,Ampere P2,A,Ampere_p2,2 1,77070100470700ff@1,Ampere P3,A,Ampere_p3,2 ;1,77070100510704ff@1,Phaseangle I-L1/U-L1,deg,phase_angle_p1,1 ;1,7707010051070fff@1,Phaseangle I-L27I-L2,deg,phase_angle_p2,1 ;1,7707010051071aff@1,Phaseangle I-L3/I-L3,deg,phase_angle_p3,1 1,770701000e0700ff@1,Frequenz,Hz,frequency,1 #Die Datenabfrage dann so:
C:\Program Files (x86)\mosquitto>mosquitto_sub -h 192.168.1.133 -t tasmota/#
-
@chaot
Vielen Dank für Deine Antwort.
Bei den Einstellungen unter Telemetrieperiode habe ich aktuell 30, habe aber auch schon 10, 100 und 300 probiert.
Mein Script schaut so aus (ich hoffe, das passt so mit der Darstellung) :>D >B ->sensor53 r >M 1 +1,4,s,16,9600,SML 1,77070100010800ff@1000,Bezug Gesamt,kWh,Total_in,1 1,77070100020800ff@1000,Einspeisung,kWh,Total_out,4 1,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,16 1,77070100200700ff@1,Volt P1,V,Volt_p1,1 1,77070100340700ff@1,Volt P2,V,Volt_p2,1 1,77070100480700ff@1,Volt P3,V,Volt_p3,1 1,770701001f0700ff@1,Ampere P1,A,Ampere_p1,2 1,77070100330700ff@1,Ampere P2,A,Ampere_p2,2 1,77070100470700ff@1,Ampere P3,A,Ampere_p3,2 ;1,77070100510704ff@1,Phaseangle I-L1/U-L1,deg,phase_angle_p1,1 ;1,7707010051070fff@1,Phaseangle I-L27I-L2,deg,phase_angle_p2,1 ;1,7707010051071aff@1,Phaseangle I-L3/I-L3,deg,phase_angle_p3,1 1,770701000e0700ff@1,Frequenz,Hz,frequency,1 #Die Datenabfrage dann so:
C:\Program Files (x86)\mosquitto>mosquitto_sub -h 192.168.1.133 -t tasmota/#
-
Eigenartiger Weise sind die Daten auf der Weboberfläche gefühlt sekündlich aktuell. Über mqtt kommen immer nur die Daten nach dem letzten Neustart des ESP.
Grüße
Torsten@henni774
Hast du JSON Export aktiviert?#ifndef USE_SML_M #define USE_SML_M #endif #ifndef USE_SML_SCRIPT_CMD #define USE_SML_SCRIPT_CMD #endif #ifndef USE_SCRIPT_WEB_DISPLAY #define USE_SCRIPT_WEB_DISPLAY #endif #ifndef USE_SCRIPT_JSON_EXPORT #define USE_SCRIPT_JSON_EXPORT #endifDas dann im Script dazu:
>J ,"Verbrauch Tag":"%sd%" ,"Verbrauch Monat":"%smn%" ,"Verbrauch Jahr":"%syn%" ,"Zählerstand 0:00Uhr":"%2sm%" ,"Zählerstand Monatsanfang":"%2sma%" ,"Zählerstand Jahrenanfang":"%2sya%" ,"Kosten dieses Jahr":"%2yspr%"Soweit ich mich erinnere habe ich das für MQTT gebraucht.
-
@henni774
Hast du JSON Export aktiviert?#ifndef USE_SML_M #define USE_SML_M #endif #ifndef USE_SML_SCRIPT_CMD #define USE_SML_SCRIPT_CMD #endif #ifndef USE_SCRIPT_WEB_DISPLAY #define USE_SCRIPT_WEB_DISPLAY #endif #ifndef USE_SCRIPT_JSON_EXPORT #define USE_SCRIPT_JSON_EXPORT #endifDas dann im Script dazu:
>J ,"Verbrauch Tag":"%sd%" ,"Verbrauch Monat":"%smn%" ,"Verbrauch Jahr":"%syn%" ,"Zählerstand 0:00Uhr":"%2sm%" ,"Zählerstand Monatsanfang":"%2sma%" ,"Zählerstand Jahrenanfang":"%2sya%" ,"Kosten dieses Jahr":"%2yspr%"Soweit ich mich erinnere habe ich das für MQTT gebraucht.
-
Eigenartiger Weise sind die Daten auf der Weboberfläche gefühlt sekündlich aktuell. Über mqtt kommen immer nur die Daten nach dem letzten Neustart des ESP.
Grüße
Torsten -
@chaot
Oh, ich glaube, das könnte zielführend werden, danke schön!
Wo führe die Aktivierung des JSON Exports durch? -
@henni774
Die Aktivierungen musst du beim Erstellen der Firmware angeben. Du hast ja auch SML aktiviert. Also in der userconfig -
@chaot
Hallo Chaote, bin jetzt auf Tasmota 12.0, Json Export ist drin. Aber derzeit ohne Besserung - die mqtt-Daten kommen nur einmal nach dem Neustart.
Wobei ich zu mqtt im Scipt nichts drinnen habe. Erklärt sich mir nicht, warum er dann am Anfang sendet ... .
Es ist zum Mäuse melken ... das aber erscheint mir komisch (kommt aus der Konsole):17:17:44.424 MQT: tele/tasmota_0D4704/STATE = {"Time":"2022-07-31T17:17:44","Uptime":"0T00:15:40","UptimeSec":940,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":25,"MqttCount":1,"Wifi":{"AP":1,"SSId":"o2-WLAN08","BSSId":"B0:EA:BC:FE:2C:A3","Channel":11,"Mode":"11n","RSSI":96,"Signal":-52,"LinkCount":1,"Downtime":"0T00:00:04"}}Der mqtt-Zähler steht und bleibt auf 1 ....
Hier mal die user_config:
#ifndef _USER_CONFIG_OVERRIDE_H_ #define _USER_CONFIG_OVERRIDE_H_ #ifndef USE_SCRIPT #define USE_SCRIPT //# adds about 17k flash size, variable ram size #endif #ifdef USE_RULES #undef USE_RULES #endif #define USE_SML_M #undef STA_SSID1 #define STA_SSID1 "o2-WLAN08"// [Ssid1] Wifi SSID #undef STA_PASS1 #define STA_PASS1 "********" // [Password1] Wifi password #undef MQTT_HOST #define MQTT_HOST "192.168.1.133" // [MqttHost] #undef MQTT_PORT #define MQTT_PORT 1883 // [MqttPort] MQTT port (10123 on CloudMQTT) #undef MQTT_USER #define MQTT_USER "" // [MqttUser] Optional user #undef MQTT_PASS #define MQTT_PASS "" // [MqttPassword] Optional password #define USE_SCRIPT_WEB_DISPLAY #define USE_SCRIPT_JSON_EXPORT #define USE_EXPRESSION #define SUPPORT_IF_STATEMENT #ifndef USE_SML_SCRIPT_CMD #define USE_SML_SCRIPT_CMD #endif #endif -
@chaot
Hallo Chaote, bin jetzt auf Tasmota 12.0, Json Export ist drin. Aber derzeit ohne Besserung - die mqtt-Daten kommen nur einmal nach dem Neustart.
Wobei ich zu mqtt im Scipt nichts drinnen habe. Erklärt sich mir nicht, warum er dann am Anfang sendet ... .
Es ist zum Mäuse melken ... das aber erscheint mir komisch (kommt aus der Konsole):17:17:44.424 MQT: tele/tasmota_0D4704/STATE = {"Time":"2022-07-31T17:17:44","Uptime":"0T00:15:40","UptimeSec":940,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":25,"MqttCount":1,"Wifi":{"AP":1,"SSId":"o2-WLAN08","BSSId":"B0:EA:BC:FE:2C:A3","Channel":11,"Mode":"11n","RSSI":96,"Signal":-52,"LinkCount":1,"Downtime":"0T00:00:04"}}Der mqtt-Zähler steht und bleibt auf 1 ....
Hier mal die user_config:
#ifndef _USER_CONFIG_OVERRIDE_H_ #define _USER_CONFIG_OVERRIDE_H_ #ifndef USE_SCRIPT #define USE_SCRIPT //# adds about 17k flash size, variable ram size #endif #ifdef USE_RULES #undef USE_RULES #endif #define USE_SML_M #undef STA_SSID1 #define STA_SSID1 "o2-WLAN08"// [Ssid1] Wifi SSID #undef STA_PASS1 #define STA_PASS1 "********" // [Password1] Wifi password #undef MQTT_HOST #define MQTT_HOST "192.168.1.133" // [MqttHost] #undef MQTT_PORT #define MQTT_PORT 1883 // [MqttPort] MQTT port (10123 on CloudMQTT) #undef MQTT_USER #define MQTT_USER "" // [MqttUser] Optional user #undef MQTT_PASS #define MQTT_PASS "" // [MqttPassword] Optional password #define USE_SCRIPT_WEB_DISPLAY #define USE_SCRIPT_JSON_EXPORT #define USE_EXPRESSION #define SUPPORT_IF_STATEMENT #ifndef USE_SML_SCRIPT_CMD #define USE_SML_SCRIPT_CMD #endif #endif -
verdammt, dann hab ich mir das Script falsch "zusammengeklaut".

aktuell hab ich den Sensor an den beiden oberen linken Pins angeschlossen:

nun hab ich auch folgendes nach etwas ruckeln am Sensor in der Console (ohne Änderung am Script):
17:09:30.227 CMD: zz 17:09:30.236 RSL: RESULT = {"Command":"Unknown"} 17:09:30.304 CMD: 17:09:30.352 CMD: RTGz UTG rprq=qr=rxTq~zpyzwp< DWT rprq=pw=rxTprzppzpp< WTD rprq=qp=wqTpwzppzpp 17:09:30.372 RSL: RESULT = {"Command":"Unknown"} 17:09:30.399 CMD: zz 17:09:30.409 RSL: RESULT = {"Command":"Unknown"} 17:09:30.473 CMD: G]Dz 17:09:30.482 RSL: RESULT = {"Command":"Unknown"} 17:09:30.527 CMD: 17:09:31.205 CMD: zz ... 17:10:00.174 CMD: z 17:10:00.183 RSL: RESULT = {"Command":"Unknown"} 17:10:00.227 CMD: zz 17:10:00.236 RSL: RESULT = {"Command":"Unknown"} 17:10:00.297 CMD: G]Dz 17:10:00.306 RSL: RESULT = {"Command":"Unknown"} 17:10:00.454 CMD: zz 17:10:00.464 RSL: RESULT = {"Command":"Unknown"} 17:10:00.854 CMD: zz 17:10:00.864 RSL: RESULT = {"Command":"Unknown"} 17:10:00.998 CMD: zz 17:10:01.008 RSL: RESULT = {"Command":"Unknown"} 17:10:01.121 CMD: zz 17:10:01.131 RSL: RESULT = {"Command":"Unknown"} 17:10:01.230 CMD: 17:10:01.276 CMD: zz 17:10:01.284 RSL: RESULT = {"Command":"Unknown"} 17:10:01.350 CMD: G]Dz 17:10:01.358 RSL: RESULT = {"Command":"Unknown"} 17:10:01.480 CMD: zz 17:10:01.488 RSL: RESULT = {"Command":"Unknown"} 17:10:01.747 CMD: zz 17:10:01.755 RSL: RESULT = {"Command":"Unknown"} 17:10:01.826 CMD: z 17:10:01.834 RSL: RESULT = {"Command":"Unknown"} 17:10:01.883 CMD: zz 17:10:01.891 RSL: RESULT = {"Command":"Unknown"} 17:10:02.017 CMD: zz 17:10:02.025 RSL: RESULT = {"Command":"Unknown"} 17:10:02.142 CMD: zz 17:10:02.150 RSL: RESULT = {"Command":"Unknown"} 17:10:02.266 CMD: zz 17:10:02.274 RSL: RESULT = {"Command":"Unknown"} 17:10:02.412 CMD: zz 17:10:02.420 RSL: RESULT = {"Command":"Unknown"} 17:10:02.545 CMD: zz 17:10:02.553 RSL: RESULT = {"Command":"Unknown"} 17:10:02.672 CMD: zz 17:10:02.680 RSL: RESULT = {"Command":"Unknown"} 17:10:02.804 CMD: zz 17:10:02.812 RSL: RESULT = {"Command":"Unknown"} 17:10:02.953 CMD: zz 17:10:02.961 RSL: RESULT = {"Command":"Unknown"} 17:10:03.071 CMD: zz 17:10:03.079 RSL: RESULT = {"Command":"Unknown"} 17:10:03.209 CMD: zz 17:10:03.217 RSL: RESULT = {"Command":"Unknown"} 17:10:03.355 CMD: zz 17:10:03.363 RSL: RESULT = {"Command":"Unknown"} 17:10:03.502 CMD: zz 17:10:03.510 RSL: RESULT = {"Command":"Unknown"} 17:10:03.633 CMD: zz 17:10:03.641 RSL: RESULT = {"Command":"Unknown"} 17:10:03.761 CMD: zz 17:10:03.769 RSL: RESULT = {"Command":"Unknown"} 17:10:03.907 CMD: zz 17:10:03.915 RSL: RESULT = {"Command":"Unknown"} 17:10:04.001 CMD: 17:10:04.047 CMD: zz 17:10:04.056 RSL: RESULT = {"Command":"Unknown"} 17:10:04.130 CMD: 17:10:04.177 CMD: zz 17:10:04.186 RSL: RESULT = {"Command":"Unknown"} 17:10:04.252 CMD: G]Dz 17:10:04.261 RSL: RESULT = {"Command":"Unknown"} 17:10:04.301 CMD: z 17:10:04.310 RSL: RESULT = {"Command":"Unknown"} 17:10:04.382 CMD: z 17:10:04.391 RSL: RESULT = {"Command":"Unknown"} 17:10:04.443 CMD: zz 17:10:04.453 RSL: RESULT = {"Command":"Unknown"} 17:10:04.509 CMD: G]Dz 17:10:04.518 RSL: RESULT = {"Command":"Unknown"} 17:10:04.959 CMD: zz 17:10:04.969 RSL: RESULT = {"Command":"Unknown"} 17:10:05.234 CMD: zz 17:10:05.243 RSL: RESULT = {"Command":"Unknown"} 17:10:05.480 CMD: zz 17:10:05.490 RSL: RESULT = {"Command":"Unknown"} 17:10:05.632 CMD: zz 17:10:05.642 RSL: RESULT = {"Command":"Unknown"} 17:10:05.779 CMD: zz 17:10:05.788 RSL: RESULT = {"Command":"Unknown"} 17:10:05.930 CMD: zz 17:10:05.940 RSL: RESULT = {"Command":"Unknown"} 17:10:06.075 CMD: zz 17:10:06.085 RSL: RESULT = {"Command":"Unknown"} 17:10:06.203 CMD: zz 17:10:06.213 RSL: RESULT = {"Command":"Unknown"} 17:10:06.351 CMD: zz 17:10:06.359 RSL: RESULT = {"Command":"Unknown"} 17:10:06.498 CMD: zz 17:10:06.506 RSL: RESULT = {"Command":"Unknown"} 17:10:06.645 CMD: zz 17:10:06.653 RSL: RESULT = {"Command":"Unknown"} 17:10:06.772 CMD: zz 17:10:06.780 RSL: RESULT = {"Command":"Unknown"} 17:10:06.912 CMD: zz 17:10:06.920 RSL: RESULT = {"Command":"Unknown"} 17:10:06.981 CMD: z 17:10:06.989 RSL: RESULT = {"Command":"Unknown"} 17:10:07.035 CMD: zz 17:10:07.043 RSL: RESULT = {"Command":"Unknown"} 17:10:07.132 CMD: 17:10:07.179 CMD: zz 17:10:07.188 RSL: RESULT = {"Command":"Unknown"} 17:10:07.433 CMD: zz 17:10:07.443 RSL: RESULT = {"Command":"Unknown"} 17:10:07.537 CMD: z 17:10:07.546 RSL: RESULT = {"Command":"Unknown"} 17:10:07.599 CMD: zz 17:10:07.609 RSL: RESULT = {"Command":"Unknown"} 17:10:07.670 CMD: G]Dz 17:10:07.679 RSL: RESULT = {"Command":"Unknown"} 17:10:07.823 CMD: zz 17:10:07.832 RSL: RESULT = {"Command":"Unknown"} 17:10:07.974 CMD: zz 17:10:07.984 RSL: RESULT = {"Command":"Unknown"} 17:10:08.120 CMD: zz 17:10:08.130 RSL: RESULT = {"Command":"Unknown"} 17:10:08.269 CMD: zz 17:10:08.278 RSL: RESULT = {"Command":"Unknown"} 17:10:08.415 CMD: zz 17:10:08.425 RSL: RESULT = {"Command":"Unknown"} 17:10:08.564 CMD: zz 17:10:08.574 RSL: RESULT = {"Command":"Unknown"} 17:10:08.713 CMD: zz 17:10:08.721 RSL: RESULT = {"Command":"Unknown"} 17:10:08.800 CMD: z 17:10:08.809 RSL: RESULT = {"Command":"Unknown"} 17:10:08.861 CMD: zz 17:10:08.869 RSL: RESULT = {"Command":"Unknown"} 17:10:08.936 CMD: z 17:10:08.944 RSL: RESULT = {"Command":"Unknown"} 17:10:08.999 CMD: zz 17:10:09.007 RSL: RESULT = {"Command":"Unknown"} 17:10:09.133 CMD: zz 17:10:09.141 RSL: RESULT = {"Command":"Unknown"} 17:10:09.229 CMD: 17:10:09.272 CMD: zz 17:10:09.281 RSL: RESULT = {"Command":"Unknown"} 17:10:09.336 CMD: z 17:10:09.345 RSL: RESULT = {"Command":"Unknown"} 17:10:09.390 CMD: zz 17:10:09.400 RSL: RESULT = {"Command":"Unknown"} 17:10:09.535 CMD: zz 17:10:09.545 RSL: RESULT = {"Command":"Unknown"} 17:10:09.613 CMD: G]Dz 17:10:09.623 RSL: RESULT = {"Command":"Unknown"} 17:10:09.766 CMD: zz 17:10:09.777 RSL: RESULT = {"Command":"Unknown"}Ich hätte gesagt, jetzt kommt schon mal was an, aber es kann nicht interpretiert werden?
@m4
Hallo M4,
ich möchte über einen WT32-ETH01 und eine Hichi-Lesekopf meinen Stromzähler per SML auslesen.
Arbeiten soll das Ganze über LAN, da kein ausreichender Empfang per WLAN im Sicherungskasten vorhanden ist.
Diese Konstellation scheinst Du ja auch zu nutzen.
Jetzt zu meinem Problem: Egal wie ich das bin-File für den ESP32 auch compiliere (TasmoCompiler, Tasmota Installer oder über Visual Studio Code),
es funktioniert immer nur entweder Ethernet oder Script (SML). Es gelingt mir nicht beides zu Laufen zu bringen.
Wie hast Du das denn geschafft ? Kannst Du mir vielleicht eine nachvollziehbare Lösung nennen ?
Ich wäre wirklich dankbar dafür...
Hugo
