NEWS
Stromzähler per Sonoff ESP8266 auslesen
-
@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
-
Falscher Post
-
Hi,
also das script rennt auch mit 9.x
Entscheidender Hinweis ist, das diese beiden Parameter mit in die Firmware gehören.J
The lines in this section are published via MQTT in a JSON payload on TelePeriod. Requires compiling with
#define USE_SCRIPT_JSON_EXPORT.W
The lines in this section are displayed in the web UI main page. Requires compiling with
#define USE_SCRIPT_WEB_DISPLAY.Zusammen damit
#ifndef USE_SML_M#define USE_SML_M
#endif
Neu Compeliert und OTA Update und schon..
Danke...
-
Hallo,
Ich nochmal.
Nachdem ich die Daten jetzt auf dem Web-Ui habe, musste ich leider feststellen, dass irgendwie das summieren nicht hinhaut.
Die Werte 0:00 Uhr werden nicht geschrieben und dadurch stimmen auch die Werte Tages/Monat und Jahresverbrauch nicht.
Das aktuelle script
>D rssi=0 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.2516 yspr=0 ysgp=71.09 y€=0 >T v2=SML#DJ_TPWRIN rssi=Wifi#RSSI >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":"%2sm%" ,"Zählerstand Monatsanfang":"%2sma%" ,"Zählerstand Jahrenanfang":"%2sya%" ,"Kosten dieses Jahr":"%2yspr%" >W ============== WLAN Empfang: {m}%rssi% ============== Tagesverbrauch: {m} %2sd% KWh Monatsverbrauch: {m} %2smn% KWh Jahresverbrauch: {m} %2syn% KWh ============== Strom Preis/kWh: {m} %4sspr% € Strom Grundpreis: {m} %2ysgp% € -------------- Strom kosten lfd. Jahr:{m} %2yspr% € ============== Strom Zählerstände: aktuell: {m} %2v2% KWh 0:00 Uhr: {m} %2sm% KWh Monatsanfang: {m} %2sma% KWh Jahresanfang: {m} %2sya% KWh ============== >M 1 +1,3,s,16,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,2 1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,2 1,77070100100700ff@1,Akt.Verbrauch,W,DJ_TPWRCURR,0 1,=h============== 1,77070100000009ff@#,Zaehler Nr,,Meter_number,0 #
Danke für jedwede Unterstützung
Jens -
Moin,
ich bin jetzt nicht der Spezialist beim Scripting.
Weshalb sin in deinem Script unter ">D" die Variablen sm, sma und sya mit einem "p:" versehen?
Bei der Berechnung der Werte konnte ich keinen Fehler finden, wobei ich nur den Tagesverbrauch geprüft habe.
-
Danke für das Feedback.
Leider habe ich noch weniger Ahnung vom Scripten.
Welche Bedeutung hat p:?
Permanent?Danke
-
@testpaul999 said in Stromzähler per Sonoff ESP8266 auslesen:
Danke für das Feedback.
Leider habe ich noch weniger Ahnung vom Scripten.
Habe mal p: raus genommen..
Sieht vile besser aus.
Danke -
@testpaul999 said in Stromzähler per Sonoff ESP8266 auslesen:
Danke für das Feedback.
Leider habe ich noch weniger Ahnung vom Scripten.
Habe mal p: raus genommen..
Sieht viel besser aus.Habe aber auch noch diese Parameter mit compeliert
USE_SML_M
USE_SCRIPT_JSON_EXPORT
USE_SCRIPT_WEB_DISPLAY
SML_MAX_VARS n
USE_SML_SCRIPT_CMD
SML_REPLACE_VARS
Danke -
Ich habe mal eine allgemeine Frage:
Nach dem Wechsel meines Stromzählers habe ich mir einen TTL Lesekopf über Ebay (Hichi HB0014) besorgt. Da sich die Zähler in einem Nachbarraum befinden würde ich gerne den Wemos im anderen Raum platzieren. Hat jemand Erfahrung wie lange ich das Kabel zum TTL Lesekopf machen kann wenn ich geschirmte Kabel verwende?
Ich müsste so ca. 6-7 m Kabellänge erreichen. -
@testpaul999 Das sieht doch aber jetzt gut aus, oder?
-
@ralfth
Guten Morgen,
Jain.
Es werden irgendwie keinen Daten geschrieben.
Tagesverbrauch und 0:00 Uhr.
Warum?
Danke
-
@testpaul999 Der Fehler kann eigentlich nur in der Ermittlung des Tageserbrauchs liegen, da hier beide Werte genau um 0:00 Uhr ermittelt werden. ich poste dir noch mal diese Stelle aus meinem Script. ```
>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 }
v2 wird ja regelmäßig aktualisiert, das sieht man in deiner Anzeige. Die Variable sm erhält nicht den Wert von v2 und damit wird sd immer mit dem Wert von v2 (aktueller Zählerstand) gesetzt. Kopiere es mal und ersetze die Stelle in deinem Script. Sonst fällt mir auch nichts mehr ein.
-
-
tja irgendwie scheint es alles nicht zu funktionieren.
Leider auch heute kein wert für 0:00 Uhr.Aber danke für Deine Unterstützung.
-
@ralfth
Hi also für mich habe ich jetzt ein funktionierendes setup gefunden.>S ;Tagesverbrauch hr=hours if chg[hr]>0 and hr==0 and v2>0 then sm=v2 svars endif if upsecs%tper==0 then sd=v2-sm endif
Ich habe die Geschweiften Klammern durch „then“ und „endif“ ersetzt und es klappt. Natürlich auch in den anderen Berechungen.
Danke für die Unterstützung