NEWS
Stromzähler per Sonoff ESP8266 auslesen
-
Danke für die schnelle Antwort
werde ich testen und wieder berichten ...
-
Leider bekomme ich einen Fehler
-
@mgm Dann musst du zuerst die "minimal" hochladen und danach die aktuelle Firmware.
-
super die neue Firmware ist drauf, leider immer noch keine Antwort
-
@mgm ,
ich tippe dann auf Hardwarefehler oder falscher Pin. Ich nutze diese Firmware mit einem Iskra Zähler. -
@mgm Hardwarefehler oder die Position stimmt nicht genau. Hast du den auch schon mal um 180° verdreht ausprobiert?
-
Danke für die Tips
@Wal Hardware muss ich noch prüfen Pin ist OK da der Zähler mir den aktuellen Verbrauch anzeigt ...
@Chaot Ja den Lesekopf habe ich auch schon gedreht und ich denke die Position ist auch OK
Der Zähler hat eine Vertiefung für die Position.Ich werde als erstes mal einen anderen ESP ausprobieren ... und dann den Lesekopf auseinender nehmen.
-
@mgm Hast du im ESP irgendwelche PINs definiert? Das funktioniert nur dann wenn explizit kein Pin definiert ist in der Weboberfläche. Der Abfragepin wird über das Script ausgewählt.
Die Firmware muss ausdrücklich die Scripte aktiviert haben. Hast du für das Update die Firmware von Wal genommen? Ich denke mal, dass er das passend kompiliert hat. -
@chaot sagte in Stromzähler per Sonoff ESP8266 auslesen:
Die Firmware muss ausdrücklich die Scripte aktiviert haben. Hast du für das Update die Firmware von Wal genommen? Ich denke mal, dass er das passend kompiliert hat.
Ja habe ich, die läuft bei mir.
00:00:00.001 HDW: ESP8266EX 00:00:00.050 CFG: aus Flash geladen von F7, Anzahl 270 00:00:00.056 QPC: Count 1 00:00:00.063 SRC: Restart 00:00:00.065 Projekt tasmota - Haus.Stromzähler Version 12.4.0.1(tasmota)-2_7_4_9(2023.03.03 08:22:36) 00:00:00.068 Script: nv=0, tv=0, vns=0, vmem=16, smem=2560 00:00:00.069 SRC: Rule 00:00:00.071 CMD: Grp 0, Cmd 'SENSOR', Idx 53, Len 1, Pld -99, Data 'r' 00:00:00.111 SNS: Hardware Serial 00:00:00.111 meters: 1 , decode lines: 9, memory used: 1805 bytes 00:00:00.113 RSL: RESULT = {"Time":"1970-01-01T00:00:00","SML":{"CMD":"restart"}} 00:00:00.118 SNS: Hardware Serial 00:00:00.119 meters: 1 , decode lines: 9, memory used: 1805 bytes 00:00:00.232 WIF: Prüfe Verbindung... 00:00:00.233 WIF: Verbindungsversuch... 00:00:00.236 WIF: Network (re)scan started... 00:00:01.156 WIF: Prüfe Verbindung... 00:00:01.157 WIF: Verbindungsversuch... 00:00:04.804 WIF: Prüfe Verbindung... 00:00:04.805 WIF: verbunden 00:00:05.463 WIF: Sending Gratuitous ARP 00:00:05.465 NTP: Sync time... 00:00:05.490 WIF: DNS resolved 'pool.ntp.org' (136.243.202.118) in 23 ms 00:00:05.534 RTC: UTC 2023-03-04T19:31:02, DST 2023-03-26T02:00:00, STD 2023-10-29T03:00:00 20:31:02.000 RTC: Synced by NTP 20:31:02.093 CFG: in Flash gespeichert an F6, Anzahl 271, Bytes 4096 20:31:02.033 MQT: Verbindungsversuch... 20:31:02.053 MQT: verbunden 20:31:02.057 MQT: tele/Haus.Stromzähler/LWT = Online (beibehalten) 20:31:02.060 MQT: cmnd/Haus.Stromzähler/POWER = 20:31:02.062 MQT: abonniere cmnd/Haus.Stromzähler/# 20:31:02.064 MQT: abonniere cmnd/tasmotas/# 20:31:02.066 MQT: abonniere cmnd/Haus.Stromzähler_fb/# 20:31:02.071 MQT: tele/Haus.Stromzähler/INFO1 = {"Info1":{"Module":"Generic","Version":"12.4.0.1(tasmota)","FallbackTopic":"cmnd/Haus.Stromzähler_fb/","GroupTopic":"cmnd/tasmotas/"}} 20:31:02.532 QPC: Reset 20:31:02.560 HTP: Hauptmenü 20:31:04.469 APP: Anzahl Startvorgänge 95 20:31:04.576 HTP: Konsolen 20:31:04.747 CFG: in Flash gespeichert an F5, Anzahl 272, Bytes 4096 20:31:06.196 HTP: Konsole 20:31:06.492 MQT: tele/Haus.Stromzähler/STATE = {"Time":"2023-03-04T20:31:06","Uptime":"0T00:00:11","UptimeSec":11,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":35,"MqttCount":1,"Wifi":{"AP":1,"SSId":"1GBit","BSSId":"2C:91:AC:89:AC:B1","Channel":6,"Mode":"11n","RSSI":56,"Signal":-72,"LinkCount":1,"Downtime":"0T00:00:06"}} 20:31:06.499 MQT: tele/Haus.Stromzähler/SENSOR = {"Time":"2023-03-04T20:31:06","MT175":{"E_in":21192.0,"E_in_HT":10301.0,"E_in_NT":10891.0,"E_out":0.0,"P":0.00,"L1":0.00,"L2":0.00,"L3":0.00,"Server_ID":"090149534b000000000"}}
Edit: Ich glaube das fehlt bei @mgm :
00:00:00.111 SNS: Hardware Serial 00:00:00.111 meters: 1 , decode lines: 9, memory used: 1805 bytes 00:00:00.113 RSL: RESULT = {"Time":"1970-01-01T00:00:00","SML":{"CMD":"restart"}} 00:00:00.118 SNS: Hardware Serial 00:00:00.119 meters: 1 , decode lines: 9, memory used: 1805 bytes
-
@Chaot Nein Ich habe keine Pins definiert und das Skript erscheint ja auch ...
Komme erst Morgen zum testen der Hardware .... Besuch ist da ....
Danke das Ihr Euch meinem Problem annehmt!
-
Erfolgsmeldung !!
Ich denke es war eine kalte Lötstelle beim GND-Kabel gewesen
Und mit dem "Thasmato SML Dekoder" konnte ich dann auch die empfangenen Daten richtig zuordnen!
Danke für ein so tolles TOOL!!Und vielen Dank für die Unterstützung ......
-
Guten Abend
ich hätte auch eine Frage zum Zähler, aber eher zum MQTT Abteil
Zähler läuft schon ne Zeit lang, nun wollte ich an der Wallbox solarladen ohne "Umweg" via ioBroker ändern.
Problem, mein Zähler hat keinen "Namen", was mit der Wallbox so nicht funktioniert=>sensor53 r
M 1
+1,3,s,0,9600,
setze ich nun hinter die 9600 noch nen Namen, legt ioBroker nen neuen MQTT Datenpunkt an (sonoff Adapter), hier am Beispiel bekam er einmal den Namen emh und einmal D12
ohne Namen sind die Einträge mit "_"kann mir jemand sagen, was ich anpassen muss wenn ich den Namen eintrage, aber die Datenpunkte sich nicht ändern sollen? Geht das?
Hab ein paar Berechnungen für PV / Tageszähler Statistik etc. in ioBroker umgesetzt, die ich jetzt ungern alle anfassen will, wenn irgendwie möglichmfg
Stefan -
Hallo Gemeinde, ich hab ein kleines Problem, es fing alles mit einen Gaszähler an, wollte Ihn Smart machen und dacht ich nehme Tasmota, Zähler ist drin und Zählt. Nun habe ich das Problem das die ganzen Datenpunkte fehlen bis auf den Counter. der wird immer aktualisiert. Ich hab ein Scripting Tasmota auf einen D1MINI. Soweit funktioniert alles, bis auf die fehlenden Datenpunkte. Vielen dank. Das markierte ist der counter der im IObroker via Mqtt broker angezeigt wird. Ich möchte das die berechneten Werte via MQTT übertragen werden.
-
@Chaot Eine kleine Frage
muss ich bei der Anpassung bin für die Erweiteren Daten (user_config_override.h):
das hier eingeben oder das letzteres
#ifndef USE_SCRIPT #define USE_SCRIPT #endif #ifndef USE_SML_M #define USE_SML_M #endif #ifdef USE_RULES #undef USE_RULES #endif
#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 #endif
-
@basti97 Soweit ich mich erinnere hatte ich das Untere Beispiel benötigt.
-
@chaot Super vielen Dank das war schon meine Frage.
Dir noch einen schönen Abend -
Hallo zusammen,
ich habe ein Tasmota LEsekopf zum Laufen gebracht und der sendet via MQTT an IOBroker MEssage aus als String/JSON mit mehreren Parametern:
>D >B =>sensor53 r >M 1 +1,3,s,0,9600,Haus 1,77070100600100ff@#,Zählernummer,,Meter_Number,0 1,77070100010800ff@1000,Verbrauch,kWh,Total_in,4 1,77070100100700ff@1,Leistung,W,Power_curr,0 1,77070100020800ff@1000,Erzeugung,kWh,Total_out,4 #
Hier Beispiel aus der Konsole, was Tasmota an MQTT/IOBroker weiter gibt:
11:28:11.417 MQT: tasmota/Stromzaehler-Haus/tele/STATE = {"Time":"2023-04-23T11:28:11","Uptime":"0T10:38:04","UptimeSec":38284,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER":"ON","Wifi":{"AP":1,"SSId":"XXXXX","BSSId":"ZZZZ","Channel":6,"Mode":"11n","RSSI":88,"Signal":-56,"LinkCount":1,"Downtime":"0T00:00:03"}} 11:28:11.424 MQT: tasmota/Stromzaehler-Haus/tele/SENSOR = {"Time":"2023-04-23T11:28:11","Haus":{"Meter_Number":"0a0149545200034d1461","Total_in":5305.8626,"Power_curr":218,"Total_out":0.0000}}
Kann man den Skript so anpassen, dass er relevante Sensorwerte, Total_in, Power_curr, Total_out separat raussendet, damit man diese in IO-Broker/Datenbank als Werte gespeichert werden? Sonst muss man in IO-Broker die MQTT-Nachricht irgendwie verarbeiten...
-
@anonymous23 es gibt zwei Möglichkeiten. Smartmeter Adapter. Dieser erstellt Datenpunkte für die einzelnen Werte, die ausgelesen werden können.
Alias Datenpunkte erstellen und als Konvertierung den JSON-String parsen. bei dir müsste das heissen JSON.parse(val).Haus.Total_in zum Beispiel
-
Hallo zusammen,
ich habe seit einiger Zeit den Stromlesekopf (mit Tasmota ) problemlos am Laufen. Der Stromzähler ist vom Typ LK13BE. Nunmehr würde ich gerne die Einspeisung (280) mit im Iobroker angezeigt haben. In der Tasmota-umgebung habe ich das hinbekommen
dort habe die Zeile eingefügt.
>1,1-0:2.8.0*255(@1,Gesamt Einspeisung,KWh,total,4
Jedoch werden mit Iobroker nur die Datenpunkt des Netzbezugs angezeigt. Einen Datenpunkt Einspeisung fehlt. Ich nutze aktuell den Sonoff adpater (iobroker). Ich habe aber festgestellt, sobald ich die obengenannte Zeile eingefüge habe, dass der Datenpunkt im iobroker "Gesamtverbrauch" den Wert von der Einspeisung übernimmt. Der Wert des Gesamtverbrauchs vom Netzbezug fehlt dann.
>D >B =>sensor53 r >M 1 +1,3,o,0,9600,LK13BE,13,30,2F3F210D0A,063035310D0A 1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,4 1,1-0:1.8.0*96(@1,Verbrauch 1 Tag,KWh,total_1d,4 1,1-0:1.8.0*97(@1,Verbrauch 7 Tage,KWh,total_7d,4 1,1-0:1.8.0*98(@1,Verbrauch 30 Tage,KWh,total_30d,4 1,1-0:1.8.0*99(@1,Verbrauch 365 Tage,KWh,total_365d,4 1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,power,20 1,1-0:2.8.0*255(@1,Gesamt Einspeisung,KWh,total,4 # >
Hat jemand von euch eine Idee.
Gruß Sven
-
lass mal bitte die Leerzeile im Script weg und du hast schon eine Variable total
1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,4 1,1-0:2.8.0*255(@1,Gesamt Einspeisung,KWh,total,4