NEWS
Stromzähler per Sonoff ESP8266 auslesen
-
@Jaschkopf : wofür steht in Deinem Skript "tper=10" ?
Finde dazu in der Anleitung keine Beschreibung. -
@mkrobe mit tper=10 wird die teleperiod auf 10sek gesetzt. Das ist der Intervall in dem die Daten per MQTT gesendet werden. 10 ist kleinst mögliche Wert.
Hier sind noch ein paar sehr nützliche Links:
Syntax für das Skript:
https://github.com/arendst/Tasmota/wiki/smart-meter-interface
Beispielskripte für verschiedene Zähler:
https://github.com/arendst/Tasmota/wiki/Smart-Meter-Interface-Descriptors
Wiki für Skript Sprache:
https://github.com/arendst/Tasmota/wiki/Scripting-Language
Kommandos für Sensor53:
https://github.com/arendst/Tasmota/wiki/Commands#sensor53Wenn man mal die Wiki's durch geht findet man eigentlich alles sehr gut beschrieben was der Skripter so kann.
Hier nochmal ein Screenshot von meinem Webinterface und dazu mein Skript. Da kann man gut sehen was alles (und noch viel mehr!!) möglich ist. Die Skript Sektion ist ein sehr mächtiges Tool in Tasmota!
>D s1="Tagesverbrauch: {m}<b><span style=" v2=0 hr=0 md=0 yr=0 ;Strom p:sm=0 sd=0 p:sma=0 smn=0 p:sya=0 syn=0 sspr=0.2583 yspr=0 ysgp=156.00 y€=0 >T v2=SML#DJ_TPWRIN >B ->sensor53 r tper=10 >S ;Tagesverbrauch hr=hours if chg[hr]>0 and hr==0 and v2>0 then sm=v2 svars endif if upsecs%tper==0{ sd=v2-sm } ;Monatsverbrauch md=day if chg[md]>0 and md==1 and v2>0 then sma=v2 svars endif if upsecs%tper==0{ smn=v2-sma } ;Jahresverbrauch yr=year if chg[yr]>0 and hr==0 and md==1 and v2>0 then sya=v2 svars endif if upsecs%tper==0{ syn=v2-sya ;Kosten yspr=syn*sspr+ysgp } >J ,"Verbrauch Tag":"%sd%" ,"Verbrauch Monat":"%smn%" ,"Verbrauch Jahr":"%syn%" ,"Zählerstand 0:00Uhr":"%3sm%" ,"Zählerstand Monatsanfang":"%3sma%" ,"Zählerstand Jahrenanfang":"%3sya%" >W ============== Tagesverbrauch: {m} %3sd% KWh Monatsverbrauch: {m} %3smn% KWh Jahresverbrauch: {m} %3syn% KWh ============== Preis/kWh: {m} %4sspr% € Grundpreis: {m} %2ysgp% € -------------- Kosten lfd. Jahr:{m} %2yspr% € ============== Zählerstände: aktuell: {m} %3v2% KWh 0:00 Uhr: {m} %3sm% KWh Monatsanfang: {m} %3sma% KWh Jahresanfang: {m} %3sya% KWh ============== >M +1,13,s,16,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,4 1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,4 1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0 #
Gruß Jaschkopf
-
@Jaschkopf In deiner ersten Beschreibung habe ich nichts von PIN 15 und Tx gefunden. Deshalb habe ich das überhaupt nicht angeschlossen. Und in deinem ersten Skript habe ich den PIN 15 (Zeile 6) auch nicht gefunden. Ich probier das jetzt mal mit deinem anderen Skript und werde berichten.
-
@RalfTh lass dich davon bitte nicht verwirren. Es gibt Zähler die senden ihre Daten nicht freiwillig. Da dein Zähler aber unaufgefordert die Daten alle 1sek sendet kannst du TX völlig vernachlässigen. Dein Problem liegt wo anders weil dein Zähler offensichtlich eine Betättigung der optischen Taste registriert sobald du den Lesekopf aufsetzt. Das darf nicht sein! Da stimmt garantiert etwas mit deiner Platine nicht. Mach mal bitte ein Foto von deiner Platine, vielleicht kann man darauf etwas erkennen. Bitte von beiden Seiten!
Gruß Jaschkopf
-
Hier übrigens ein weiteres Tutorial. Wenn man nicht unbedingt eine Sendediode benötigt für deinen Zähler, um diesen anzustoßen überhaupt etwas zu senden, reicht auch ein normaler fototransistor für ein paar Cent zum auslesen der Zähler.
Und selbst für den zweiten Fall, kann man mit etwas Elektro Verständnis auch eine ir led zum leuchten->senden bekommen. -
@Kugelkopf ist schon richtig, kann man so machen. Aber mit einem simplen Fototransistor mit Pullup Widerstand sind die Flanken der Signale doch schon etwas verzerrt was zu Fehlern in der Übertragung kommen kann. Das kann dazu führen das die Daten gar nicht oder Fehlerhaft (unrealistische Werte) gelesen werden. Der Volkszähler Lesekopf gibt saubere Flanken durch Schitttrigger aus wenn man sich schon die Mühe macht sollte man doch die paar Euro dazu noch investieren und hat dann eine zuverlässige Lösung!
Gruß Jaschkopf
-
@Jaschkopf Danke! So laaangsam blicke ich durch;-)
Mit dem Skript war mir nicht klar und habe verzweifelt danach gesucht wo man das eingeben kann. Erst heute gelesen das man ein paar Optionen in der "user_config_override.h" eintragen muß. Nun habe ich das auch am laufen. Leider zählt er noch nicht, und wenn ich "sensor53 d1" versuche, bekomme ich lediglich:stat/Stromzaehler/RESULT = {"Time":"2020-02-11T16:20:12","SML":{"CMD":"dump: 1"}} 1,"SSId":"Route56","BSSId":"34:81:C4:3F:7B:8F","Channel":6,"RSSI":62,"Signal":-69,"LinkCount":1,"Downtime":"0T00:00:06"}} 16:20:14 MQT: tele/Stromzaehler/SENSOR = {"Time":"2020-02-11T16:20:14","":{"DJ_Power_IN":0.000,"DJ_Power_OUT":0.000,"DJ_Power_akt":0}} 1,"SSId":"Route56","BSSId":"34:81:C4:3F:7B:8F","Channel":6,"RSSI":62,"Signal":-69,"LinkCount":1,"Downtime":"0T00:00:06"}} 16:20:24 MQT: tele/Stromzaehler/SENSOR = {"Time":"2020-02-11T16:20:24","":{"DJ_Power_IN":0.000,"DJ_Power_OUT":0.000,"DJ_Power_akt":0}} 1,"SSId":"Route56","BSSId":"34:81:C4:3F:7B:8F","Channel":6,"RSSI":62,"Signal":-69,"LinkCount":1,"Downtime":"0T00:00:06"}}
Das 90° verdrehen des Kopfes führte dazu, dass der Zähler spinnte und irgendwelche Werte anzeigte. Zum Glück sprang er nach 1 Minute wieder in den normalen Mode zurück.
(löte TX wieder ab, da ich die Sendediode z.Zt. nicht brauche)Verwende diese Skript für den ED300L:
>D >B =>sensor53 r tper=10 >M 1 +1,3,s,1,9600,ED300L 1,77070100010800ff@1000,Gesamtverbrauch,kWh,DJ_Power_IN,3 1,77070100020800ff@1000,eingespeist,kWh,DJ_Power_OUT,3 1,77070100100700ff@1,akt. Verbrauch,W,DJ_Power_akt,0 #
@Kugelkopf Danke, das Tutorial hatte ich auch entdeckt und danach waren mir die Parameter klar. Eine schöne und Nutzerfreundliche Anleitung!
-
@Jaschkopf Stimme ich dir zu. Allerdings habe ich es so bereits bei drei Leuten und bei mir selbst installiert und bisher keine Probleme mit Lesefehlern gehabt.
-
@Kugelkopf sagte in Stromzähler per Sonoff ESP8266 auslesen:
@Jaschkopf Stimme ich dir zu. Allerdings habe ich es so bereits bei drei Leuten und bei mir selbst installiert und bisher keine Probleme mit Lesefehlern gehabt.
Das wäre meine nächste Option, einen einfachen IR-Leser zu bauen...
-
@mkrobe kannst du gerne auch probieren. Theoretisch kannst du dazu auch den Fototransistor aus dem Volkszähler auslöten und mit Pullup direkt an den ESP anschließen.
Gruß Jaschkopf
-
@Jaschkopf sagte in Stromzähler per Sonoff ESP8266 auslesen:
@mkrobe kannst du gerne auch probieren. Theoretisch kannst du dazu auch den Fototransistor aus dem Volkszähler auslöten und mit Pullup direkt an den ESP anschließen.
Gruß Jaschkopf
Nö, die Platine bekomme ich ohne weiteres nicht mehr aus dem Gehäuse raus.... werde wohl alles nochmal aufbauen.
-
@mkrobe hast du die verklebt oder warum? Du kannst von unten vorsichtig mit einem Schraubendreher oder Kugelschreiber auf die LED drücken um die Platine aus dem Gehäuse zu schieben
-
@Jaschkopf ..das check ich mal, wäre ja gelacht dat muß doch fluppen
-
@mkrobe die Platine sitzt zwar straff im Gehäuse aber was rein geht muss auch wieder raus kommen
-
@Jaschkopf jou, irgendwie geht dat schon.. Laaaangsam näher ich mich dem ganzen, es macht Spaß (!!!) aber auch seehr viel zu lesen. An Visualisierung denke ich noch gar nicht, bin froh, dass iobroker jetzt aufm alten ThinClient stabil läuft! Was macht eigentlich deine PV ??
-
@mkrobe Umbau bzw Erweitung von 5kwp auf 9.76kwp kommt nächsten Monat. Ist soweit alles geplant. Muss jetzt das Material beschaffen und aufbauen
-
@Jaschkopf ...unsere Module kommen Freitag.. 19.2 kWp hoffe, das sie im März installiert werden können (Grüsse an Sabine) ... Da kommt ein zusätzlicher Zähler, den ich hoffentlich auch mit nem Lesekopf bestücken kann. Aber wer weiss, was der Versorger liefert... vielleicht auch einen, wo ich TX Signal brauchen werde... wer weiss...
-
@mkrobe bei mir passt leider nicht mehr auf die Süd-West Seite vom Dach. Hab schon überlegt die Nord-Ost Seite auch zu belegen bei der Größe von deiner Anlage müsste der Netzbetreiber eigentlich eine moderne Messeinrichtung einbauen (glaube ab 10kwp?) Die sollten die Daten eigentlich unaufgefordert 1x pro Sekunde ausspucken.
-
Hallo Jaschkopf
Danke, Bausatz kam an und war auch sehr schnell zusammen gebaut.
Am Anfang habe ich nur in jeder Zeile ein "J" bekommen. Bis ich den Hinweis erneut gelesen hatte, das der RX vom Demos D1 nicht direkt funktioniert. Somit auf den Gpio 13 = D7 geändert und siehe da, es kommen die Daten an .Nun habe ich leider das Problem, im Tasmota werden
SML Verbrauch
SML Einspeisung
SML Akt. Verbrauch
angezeigt,
aber im iobroker / Sonoff Adapter werden diese Daten nicht übermittelt /aktuallisiert.Es gibt nur folgende drei Datensätze die aber auf "0" bleiben:
OBIS_PoWER_curr
OBIS_Total_in
OBIS_Total_out.Alive und uptime wird aktualisiert. Hat sonst jemand das Problem?
Ich habe aber wie im 1. Post vom Jaschkopf +1,13,s,1,9600,SML in meinem Skript.
Keine Ahnung warum dann OBIS Punkte im iobroker auftauchen.Danke
VG Fruehwi -
@fruehwi aktiviert mal im sonoff Adapter die drei checkboxen damit die states erstellt werden. Die Mqtt verbindung scheint ja zu passen wenn er andere States Updated.
Gruß Jaschkopf