NEWS
Stromzähler per Sonoff ESP8266 auslesen
-
Hallo zusammen,
habt ihr teilweise auch extreme Angaben? Teilweise bekomme ich im iobroker + oder - 99999Watt / kwh angezeigt.
Mein Aufbau:
ESP8266 mit Tasmota 8.2.0.3 von Theo Arends.
Im Einsatz habe ich einen TTL IR Lesekop der wie folgt angeschlossen ist:
Strom auf VCC (+3,3V)
GND auf GND
RX auf D7
TX gar nicht angeschlossenIch habe also keinen Widerstand etc. im Einsatz. alles ist unmittel im Einsatz.
Mein Skript sieht wie folgt aus:
>D >B ->sensor53 r tper=45 >M +1,13,s,1,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,3 1,77070100100700ff@1,Current consumption,W,Power_curr,0 #
Hat jemand eine Idee wo der Fehler liegt`? Kann ich das irgendwie nachvollziehen oder im loggen?
Viele Grüße
Jan -
@allgrind durch deinen "low budget" Lesekopf bekommst du falsche Bits rein und die Daten werden dann unplausibel. Entweder besorgst du dir einen vernünftigen Lesekopf mit Schmitttrigger oder du versuchst erstmal den Median Filter. Musst du mal in Thread weiter oben gucken. Da wurde das schon beschrieben.
Gruß Jaschkopf
-
@Jaschkopf
Danke für deine Rückmeldung. Eigentlich dachte ich, dass ich schon einen guten Lesekopf habe. Hatte auch gut 40 Euro gekostet :(.Hast du zufällig einen Link wo entsprechende Leseköpfe angeboten werden?
Viele Grüße
Jan -
Ich habe bei mir einen Wemos D1 und einen Phototransistor sowie einen 2k2 Widerstand auf eine Platine gelötet und auf den Wemos gesteckt. Das alles in eine Filmdose und über einen Magneten auf den Kopf befestigt. Bisher habe ich keine fehlenden Bits. Läuft seit 2 Wochen störungsfrei.
-
@toki1973 said in Stromzähler per Sonoff ESP8266 auslesen:
Ich habe bei mir einen Wemos D1
sag, könntest du mir die .bin für den für den d1 zukommen lassen? ich bin einfach zu dämlich mir die selbst zu erstellen...
-
@da_woody in der bin stehen meine WLAN Daten...
-
@toki1973 hrnz. geht das nicht ohne, das ich das erst nachher eintrage auf der oberfläche? wenn ich den nach dem flashen aufrufe kann ich doch WLAN konfigurieren...
-
@da_woody Nimm doch einfach die fertige, offizielle sensors.bin...?
Alternativ gerade gleiches Thema...wie du online deine eigene Tasmota-Version erstellst.
https://forum.iobroker.net/topic/40700/tasmota-bmp280-am-wemos-d1-liefert-keine-werte/47 -
@oberfragger oi, thnx! werd ich mal belinsen...
-
Hallo,
für meinen da ich schon meine Pv Anlage in ioBroker habe, dachte ich mir ich baue mir auch noch den Leseadaper für den Stromzähler ein.
Stromzäjler ist dieser: https://www.heider-energie.de/attachments/article/165/Handbuch_Norax3D.pdfAls Lesekopf habe ich diesen von Hicham: https://www.ebay.de/itm/313460034498?ul_noapp=true
So weit so gut. Ich hab es erst mit ESPEasy versucht, aber die Verbindung war nicht gut, also dann Tasmota.
Da beginnt das Drama - Windows aufgemacht (bin Linux User) und Atom sowie PlatformIO installiert und wie in der Anleitung versucht die entsprechenden Dateien zu kompilieren.
Erste Hürde die Tasmota Version und die entsprechenden Dateien sehen nicht mehr so aus wie in der Beschreibung, da inzwischen einige Updates gelaufen sind. Die Links passen auch nicht mehr so wirklich.
Kompilieren klappte noch leidlich, aber hochladen wollte Platformio es nicht.
Das Programm wollte mit Com5 verbinden, obwohl ich Com3 angegeben hatte. Also den ganzen Windows Kram verflucht und Tasmota mit dem Tasmotizer mit einer Bin von hier http://ota.tasmota.com/tasmota/release/
geflasht.
Das funktioniert auch soweit, dass ich den ESP8266 ansprechen kann und er auch im Mqtt im ioBroker auftaucht.
Nur fehlt mir jetzt die Möglichkeit mit dem Sensor zu kommunizieren, ein Script kann ich auch nicht eingeben.
Kann mir jemand eine Bin erstellen die dann flashen kann? -
Ich habe den Stromzähler nun direkt mit dem Raspi verbunden und es läuft.
Also bleibt es jetzt so. -
@c1olli In der Anleitung des ersten Posts ist es noch eine ältere Tasmota version. Daran habe ich mich auch bereits verzweifeln lassen.
Mit folgenden Einstellungen hat es aber nun funktioniert.Zuerst bearbeiten wir die Datei „tasmota/my_user_config.h“. Dort müssen folgende Änderungen gemacht werden:
Zeile 39:
ALT: //#define USE_CONFIG_OVERRIDE
NEU: #define USE_CONFIG_OVERRIDE
Nicht mehr nötig.
So wie ich verstanden habe wird abgefragt ob diese Datei vorhanden ist oder nicht.
anschließend musste die use_config_override_sample.h umbenannt werden ->use_config_override.h
Anschließend muss vor der letzten #endif Zeile folgendes eingtragen werden
// -- Timezone ------------------------------------ #undef APP_TIMEZONE 1 #define APP_TIMEZONE 99 // -- Serial sensors ------------------------------ // Add support für Smart Message Language // (SmartMetering für Stromzähler xsns_53_SML.ino) #undef USE_SML_M #define USE_SML_M // -- WEB_Display -------------------------- #define USE_SCRIPT_WEB_DISPLAY //--Rules oder Scripter benutzen: ----------------- //um rules zu verwenden gar nichts tun // -- um scripter zu verwenden #undef USE_RULES #define USE_SCRIPT
Bitte nicht an den Zeilennummer orientieren.
Zum Schluß Build und fertig. -
Hallo zusammen,
danke für die Anleitung. Leider habe ich noch einige Schwierigkeiten und hoffe mir kann jemand behilflich sein.
Folgende Situation.
-
Leskopf: https://www.ebay.de/itm/313460034498
-
Zähler Iskra MT681 https://www.lackmann.de/sites/default/files/2018-09/MT681_2016_schräg.png
-
China Kopie Wemos D1
Script:
>D >B ->sensor53 r tper=10 >M +1,21,s,1,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,3 1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,3 1,77070100100700ff@1000,Akt. Verbrauch,W,DJ_TPWRCURR,3 #
Nach ersten Schwierigkeiten konnte ich die neueste Tasmota version mit SML Unterstützung die Firmware bauen.
Ich habe die Pins so angelötet:
GND-> Wemos GND
VCC->Wemos 5V
TX-> Wemos TX
RX-> Wemos RX
Leider erhalte ich keine Rohdaten mit sysnsor53 d1, ich habe auch versucht mit einer IR Fernbedienung "Daten" zu erzeugen um zu prüfen ob etwas ankommt.
Kann mir jemand einen Tipp geben wo ich noch angreifen kann ?
Vielen Dank
-
-
mit deinen Daten (skript) bekomme ich auch keine Ausgabe.
Versuch mal meine :>D >B =>sensor53 r >M 1 +1,13,s,0,9600,Strom 1,=h=================| 1,77070100010800ff@1000,Verbrauch gesamt,KWh,Total_in,2 1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0 1,=h=================| #
-
@theduke Danke, ich habe es getestet, leider funktioniert es nicht.
Ich habe den IR Kopf von TX an Wemos TX und von RX an Wemos RX angeschlossen, Müsste Ja PIN 21 und 22 sein. Leider erhalte ich hier keine Daten, auch keine Daten von einer IR Fernbedienung.Ich habe mal den IR Kopf an ein Raspi 2 angeschlossen und geprüft ob er funktioniert, konnte "Daten" von einer IR Fernbedienung empfangen.
Hat jemand noch weitere Ideen ?
-
@treff-and-nix IMHO sollten rx und tx aber schon ausgekreuzt sein...
-
@da_woody ja so kenne ich das auch, in der Anleitung stand aber mehrmals das man es hier nicht machen soll. Ich habe es auch auf dem Raspi2 so getestet, hat funktionert. Ich möchte es aber gern mit dem ESP auf Tasmota betreiben
-
@treff-and-nix
Hast Du das Kabel nach unten oder oben geführt?
Denn so wie auf dem Bild muß das Kabel oben sein.
Also den Sensor ggf. mal um 180° drehen. -
ich habe einen Zähler eHZ Generation K.
Dein Script habe ich angepasst und bekomme "nur2 diese Anzeige.Wieso werden mir die anderen Daten wie Kosten usw. nicht angezeigt?
Das Script sieht jetzt so aus.
>D s1="Tagesverbrauch: {m}<b><span style=" v2=0 hr=0 md=0 yr=0 ;Strom sm=0 sd=0 sma=111.000 smn=0 sya=222.000 syn=0 sspr=0.251601 yspr=0 ysgp=71.09 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":"%2sma%" ,"Zählerstand Jahrsenanfang":"%2sya%" >W ============== Tagesverbrauch: {m} %2sd% KWh Monatsverbrauch: {m} %2smn% KWh Jahresverbrauch: {m} %2syn% KWh ============== Preis/kWh: {m} %4sspr% € Grundpreis: {m} %2ysgp% € -------------- Kosten lfd. Jahr:{m} %2yspr% € ============== Zählerstände: aktuell: {m} %2v2% KWh 0:00 Uhr: {m} %2sm% KWh Monatsanfang: {m} %2sma% KWh Jahresanfang: {m} %2sya% KWh ============== >M +1,3,s,16,9600,eHZ 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,1 1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,1 1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,1 1,77070100000009ff@#,Zaehler Nr,,Meter_number,0 #
Danke für Deine Hilfe
JUF -
@testpaul999
Moin, moin.
So auf Anhieb kann ich dir das nicht sagen. Durch die vielen Leerzeichen sieht das Skript auch nicht mehr besonders strukturiert aus. Am besten vergleichst du noch mal beide Skripte direkt miteinander. Es könnte auch sein, dass du beim Anpassen ein wichtiges Zeichen gelöscht hast. Der Teil zum Auslesen des Zählers funktioniert einwandfrei, d.h. das Skript versteht sich mit deinem Zähler. Dein Fehler liegt voraussichtlich bei der Ausgabe, weil von all den, im Skript berechneten, Dingen nichts angezeigt wird.Bei mir läuft das Skript unter Tasmota 8.1.0.4 einwandfrei.
Viel Erfolg bei der Fehlersuche.
Ralf