NEWS
Stromzähler per Sonoff ESP8266 auslesen
-
@Jaschkopf
hatte ich auch schon mehrmals probiert.
Morgen versuche ich es mal auf einer NodeMCU. -
Also bei mir geht das Script nach probieren. Es waren bei mir zu viele Leerzeichen im Script versteckt. Nachdem ich alle entfernt hatte lief es. Hier mal nochmal mein Script.
>D s1="Tagesverbrauch: {m}<b><span style=" v2=0 hr=0 md=0 yr=0 ;Strom p:sm=0 sd=0 sma=0 smn=0 sya=0 syn=0 sspr=0.2393 yspr=0 ysgp=0.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,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0 #
-
@Jaschkopf Ich habe jetzt den neuen Volkszähler zusammengebaut und angeschlossen. Sieht gut aus
Allerdings bekomme ich die aktuelle Leistung nicht angezeigt.
21:06:56 : 77 07 81 81 c7 82 03 ff 01 01 01 01 04 45 4d 48 01 21:06:56 : 77 07 01 00 00 00 09 ff 01 01 01 01 0b 06 45 4d 48 01 02 71 59 4a 30 01 21:06:56 : 77 07 01 00 01 08 00 ff 63 01 82 01 62 1e 52 ff 56 00 1e 0c 8e d3 62 1e 52 ff 56 00 00 00 00 00 01 21:06:56 : 77 07 01 00 0f 07 9a 7d db 29 4f 8f 09 d8 c9 7a c8 54 35 9e 1d 7d 19 b2 16 bb 4a 56 f1 ed 63 e0 35 00 76 07 00 29 03 a0 bc 2e 62 00 62 00 72 63 02 01 71 01 63 ae 8e 00 00 1b 1b 1b 1b 1a 01 21:06:57 : 1b 21:06:57 : 1b 1b 1b 01 01 01 01 76 07 00 29 03 a0 bc 30 62 00 62 00 72 63 01 01 76 01 01 07 00 29 0f 8d 94 10 0b 06 45 4d 48 01 02 71 59 4a 30 01 01 63 21:06:57 : 5c 2d 00 76 07 00 29 03 a0 bc 31 62 00 62 00 72 63 07 01 21:06:58 : 77 01 0b 06 45 4d 48 01 02 71 59 4a 30 01 72 62 01 65 0f 8d bb da 21:06:58 : 77
Das sind die Rohdaten.
Den String für den aktuelle Leistung (1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0) kann ich aber nicht finden?!
Der Zähler ist ein EMH HW8E2A5L0EK2P -
@RalfTh Laut Doku vom Hersteller lautet dein String für die momentane Leistung: 770701000f0700ff. Probier das mal aus.
Gruß Jaschkopf
-
@Jaschkopf sagte in Stromzähler per Sonoff ESP8266 auslesen:
770701000f0700ff
Danke Jaschi, es funktioniert jetzt. Ich habe mir die falsche Bedienungsanleitung angeschaut, da stand statt "f" eine "7". Hast du den Link noch?
-
@RalfTh Ja hier: http://www.nzr.de/download.php?id=612
Kleiner Tipp: Die Schnittstelle auf der Rückseite des Zählers gibt noch viel mehr Daten aus. Wenn du einen Elektriker kennst der dir den Zähler demontiert und hinterher neu Verplombt kannst du den Lesekopf auch auf die rückseitige Schnittstelle aufsetzen
-
@Jaschkopf Vielen Dank. Auf der Seite von EMH haben sie nur die Generation K und P und ich habe in meinem Wahn das K als ein H gelesen. Bei diesem Zähler steht eine "10" statt eine "0f". Ich wäre jetzt nicht auf die Idee gekommen, bei NZR zu schauen.
-
@Jaschkopf Ich habe da ein paar Fragen zu deinem Skript. Weshalb hast du denn sma und sya als permanente Variable angelegt? Da ich meine Zählerstände bisher täglich durch ablesen registriert habe kenne ich den Zählerstand zum Monatsanfang und natürlich den Zählerstand zum laufenden Abrechnungsbeginn. Allerdings hatte die Änderung von p:sma und p:sya keinen Effekt. Ich musste erst das p: entfernen, um die Übernahme der Werte zu erreichen. Vorher hatte das Skript immer von Zählerstand 0 angefangen zu rechnen und damit natürlich falsche Werte für den aktuellen Abrechnungszeitraum ausgegeben. Bei einem Restart des D1 wird der Tagesverbrauch gelöscht. Wäre da evtl. die Definition p:sd=0 hilfreich??
Die in der Sektion <M angegebenen Zeilen erscheinen als Datenpunkte im ioBroker. Wie kann ich z.B. den Tagesverbrauch als Datenpunkt im ioBroker erzeugen? ich suche schon die ganze Zeit im Wiki und finde nichts.
Ich möchte auch das Skript um den Tagesverbrauch vom Vortag ergänzen. Dachte da an die Variable sdy. Habe nur noch nicht ganz verstanden wann ich das wo berechne.
Bisher habe ich konfiguriert:
in <D (p:)sdy=0
in <J unterhalb von Verbrauch Tag die neue Zeile ,"Verbrauch Vortag":%sdy%
in <W unterhalb des Tagesverbrauch neue Zeile Vortagesverbrauch: {m}%sdy% KWh
-
Hallo zusammen,
da ich auf meinen letzten Post keine Antwort erhalten habe, musste ich mir eine andere Lösung einfallen lassen. Ich habe das Problem für mich jetzt mit Blockly und eigenen Datenpunkten gelöst. Ich poste mal meinen Lösungsansatz.
Meine Datenpunkte im ioBroker:
Und hier mein Blockly dazu:
Und hier noch das XML:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="5R`M]^^]KJ`7$#6%5=rE">Akt_Zaehlerstand</variable> <variable type="" id="hw|:6+#ri,90iH0u!T0e">Akt_Leistung</variable> </variables> <block type="comment" id="+8:x5xXlgL{2VF1oFxXN" x="87" y="88"> <field name="COMMENT">Aktualisiert alle 10 Sekunden die Zählerstände</field> <next> <block type="schedule" id="JAbYj59_gH?5n2TDnMu+"> <field name="SCHEDULE">*/10 * * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="Pzp8I)nFt27=k|mRGpuy"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> <value name="VALUE"> <block type="get_value" id=".[3/UxK9~BGE=s*T@dw3"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Stromzähler.SML_DJ_TPWRIN</field> </block> </value> <next> <block type="variables_set" id="k#%gg8KXcM)/pfzm^5Gs"> <field name="VAR" id="hw|:6+#ri,90iH0u!T0e" variabletype="">Akt_Leistung</field> <value name="VALUE"> <block type="get_value" id="p65y1)isT/onGtMeT7M["> <field name="ATTR">val</field> <field name="OID">sonoff.0.Stromzähler.SML_DJ_TPWRCURR</field> </block> </value> <next> <block type="update" id="8-qCC^-w!H~!TRZE~:4O"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Aktuell</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Pk+0wxb+Bi;]D9Rtc]V;"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <next> <block type="update" id="Kk?~4wU8(0vVJ,F;K{{o"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Heute</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="PmR7c|]T_yYXK[(!@HA$"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="PhFgH^bN]_ZB+=7:Y=ZQ"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="|1Q/[-p1/2d3A$F*W-@C"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="LQx(4[3IAXWMFv~b/=?8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Urhr[FlmlwH,-`3%*oTY"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <value name="B"> <shadow type="math_number" id="=ho-N:ZU{9.L#@yO-j[|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="fs{*S,3OYzK@/7Ky~4MW"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_0:00</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="jRLRiZ6:^9j0~+enR]zA"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Leistung_Aktuell</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="5XR.pF9}I.oMHTAhB,*h"> <field name="VAR" id="hw|:6+#ri,90iH0u!T0e" variabletype="">Akt_Leistung</field> </block> </value> <next> <block type="update" id="]E=cPfNz{KVp%B-#=:mQ"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Monat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="uB%.#)xmgn/#6`}WaR71"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="qMW9@P!mis?2Toz%-r?y"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="f(sf($emS)dr6OaZ=F_z"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="LQx(4[3IAXWMFv~b/=?8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="wm;RT0{JL4W^DNpJFZRd"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <value name="B"> <shadow type="math_number" id="=ho-N:ZU{9.L#@yO-j[|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="8Aqy]SC~|j%)-F6VM6)n"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Monatsanfang</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="G=I:~2#DV[+SJ)p)~~VP"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Abrechnungsjahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id=",Oq;YRS8XO@KaMKQ7!]f"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id=".kW~OzajFi3^%aFqkFXs"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="1OFp4Q,cjKo6]s_imeZ3"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="LQx(4[3IAXWMFv~b/=?8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="#bA6YSq#9mH{A6g2A8+z"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <value name="B"> <shadow type="math_number" id="=ho-N:ZU{9.L#@yO-j[|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="3EVb!rK9K+B3$,yq!w9k"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Abrechnungsbeginn</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="fRi!1KfW2B*;g`w0Y!?n"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Kosten_Abrechnungsjahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="mXqm#^`pB$l1`k//:agF" inline="false"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="e.YrmNgG`aCTcs7v652k"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="!NPxK]iaOK%$ndixnR!3" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Bb%uMFto,dx!TJ#0k.y="> <field name="NUM">1</field> </shadow> <block type="get_value" id="$i4PYLYC)04[*f,ycc{V"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Kosten_Grundpreis</field> </block> </value> <value name="B"> <shadow type="math_number" id="TQ5:ZE^%izvGFry,l8zh"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="6]^},qK?q%F.66U0f]=k"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="FyqV9?KvO*8KFQUAn-3`"> <field name="NUM">1</field> </shadow> <block type="get_value" id="d,oEYFJ4^1e:mz{;H{k%"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Kosten_kWh_in_Euro</field> </block> </value> <value name="B"> <shadow type="math_number" id="xebVJ7IVS$habfTl/Si3"> <field name="NUM">1</field> </shadow> <block type="get_value" id="D?|1DE7;OXYdtGD_/!*-"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Abrechnungsjahr</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="!H(TM~7]E+7pAHl%2`dV"> <field name="COMMENT">Aktualisiert dei Zählerstände täglich um 0:00</field> <next> <block type="schedule" id="b2FC_`#h3RpW*UgbbIds"> <field name="SCHEDULE">55 59 23 * * *</field> <statement name="STATEMENT"> <block type="update" id="CFf2|!Ys1HXkth{}Tdq#"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Gestern</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="SAAH5P,=24!RuQ@L;0X|"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Heute</field> </block> </value> <next> <block type="update" id="//mD6cYd9NGc$1iakvX-"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_0:00</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Rj0N+DXRd7:-t~%$cmL-"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="vO19-![t:Mt+/XLZbrF_"> <field name="COMMENT">Aktualisert den Zählerstand jeden 1. im Monat</field> <next> <block type="schedule" id="#lHUl+IJ+^{vV9f%SX~+"> <field name="SCHEDULE">0 0 1 * *</field> <statement name="STATEMENT"> <block type="update" id="hH;jN3S#b|VSVWvT4YRh"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Vormonat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="$3BH*r*[+J;7K]L!MdqI"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Monat</field> </block> </value> <next> <block type="update" id="g2xtn0!!J}G_kvUx8+=n"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Monatsanfang</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="nnG=yOpi:RWL,IAxB9dg"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Da ich meine Zählerstände bereits seit längerem erfasse, habe ich den Zählerstand zum Beginn des Abrechnungsjahres in den Datenpunkt eingetragen. Ebenso habe ich den Zählerstand zum Monatsanfang eingetragen. Alles Andere wird ab dann automatisch berechnet. Mit der der aktuellen Leistung und deren Aufzeichnung in Influx ermittle ich Leistungsspitzen. In einem nächsten Schritt gleiche ich dies mit den Leistungsaufzeichnungen meiner Gosund SP111 Stecker. Diese habe ich bei verschiedensten Verbrauchern (Kaffeemaschine, Kühlschrank, Geschirrspüler, Waschmaschine etc.) zwischengeschaltet. Ich hoffe, dass ich damit etwas Transparenz über meinen Verbrauchswerte erhalte. Derzeit habe ich noch unerklärliche Leistungsspitzen.
Mein nächstes Projekt starte ich mit meinem Gaszähler.
-
@RalfTh Tut mir leid das ich auf den letzten Post nicht geantwortet hab. Muss die Mailbenachrichtigung irgendwie übersehene haben. Das p: vor dem Name definiert eine Permanente Variable die auch bei Neustart des ESP gespeichert bleibt. Soll die Variable neu beschrieben werden kann man das jederzeit machen, es muss nur das Kommando svars hinterher geschoben werden. Bei mir Läuft das Script einwandfrei. Theoretisch sollte es copy&paste auch bei dir laufen.
Gruß Jaschkopf
-
@Jaschkopf vielen Dank für die ausführliche Anleitung,
leider bekomme ich beim flashen diese Fehlermeldung:Error: Invalid 'C:\Users\Manu\Downloads\Sonoff-Tasmota-universal8\Sonoff-Tasmota-universal8\platformio.ini' (project configuration file): 'No option 'platform_packages' in section: 'common''
kannst du mir sagen wo hier der Fehler liegt?
-
@Polo1501 lad doch bitte mal deine platformio.ini hier hoch dann gucke ich mal rein.
Gruß Jaschkopf
-
@Jaschkopf
habe sie her mal angehangen.
platformio.ini -
@Polo1501 Tut mir leid aber ich kann da keinen Fehler erkennen. Aber prüf mal deinen Port ob der ESP wirklich an COM3 angeschlossen ist.
Wenn es das nicht ist, geh am besten die Anleitung nochmal Schritt für Schritt durch. Wenn du wirklich keinen Fehler findest probier mal Atom komplett neu zu installieren und starte nochmal von vorne mit einem frischen Download von Github.
Gruß Jaschkopf
-
@Jaschkopf Port habe ich nochmal geprüft, Atom neu installiert und die Anleitung nochmal durchgegangen.
Leider wieder ohne erfolg. -
@Polo1501 Ich hatte auch mal so einen seltsamen Fehler. Ich habe mir die geänderten Dateien gesichert und das Verzeichnis gelöscht. Danach habe das Sonoff-Tasmota-universal8 nochmals entpackt und die gesicherten Dateien reinkopiert. Danach lief das alles wieder einwandfrei. Musst dann das Build nochmals laufen lassen. Falls du mehrfach ein Build erstellst, vergiss bitte nicht den CFG_Holder in user_config_override.h zu erhöhen.
Ich hoffe, es hilft.
-
Hallo @Jaschkopf
ich habe nun einen Sensor fertig und am laufen, leider sehen die Daten irgendwie komisch aus:
Mein Skript sieht aktuell so aus:>D >B ->sensor53 r tper=10 >M 1 +1,13,s,0,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 #
Zähler habe ich die ISKRA MT681
Angeschloßen an einen D1 Mini (von AZ-Delivery), RXD an D7 (GPIO13), GND und 3.3V.
Mit einer Handykamera ist es sichtbar dass die Sendediode jede Sekunde blinkt, kann es sein dass ich noch den Zähler freischalten muss (mit einer PIN)?
Oder passt einfach die Konfiguration im Skript nicht?Ich danke Dir für die Hilfe.
Gruß
Steffen -
@steffen_dec ich würde jetzt mal drauf tippen das dein Sensor defekt ist. Einzelne Bytes sehen korrekt aus aber der Rest ist Schrott.
Du kannst den Sensor testen indem du in deinem Skript ein Kommando schreibst alle paar Sekunden und wenn du den Lesekopf dann ca 1cm über ein weißes Blatt Papier hältst muss er die Daten zurück lesen. Alternativ geht das auch mit einem ftdi Adapter am Computer mit hterm.
Gruß Jaschkopf
-
Tag zusammen,
habe meine Wemos nun auch geflasht und eigentlich alle Punkte beachtet. Allerdings sehen die Werte, die vom Sensor kommen sehr komisch aus. Hier mal ein Auszug:
17:54:00 MQT: tele/tasmota/STATE = {"Time":"2020-03-04T17:54:00","Uptime":"0T00:12:37","UptimeSec":757,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":278,"MqttCount":3,"Wifi":{"AP":1,"SSId":"Strunz","BSSId":"2C:3A:FD:CD:79:0A","Channel":1,"RSSI":68,"Signal":-66,"LinkCount":1,"Downtime":"0T00:00:13"}} 17:54:00 MQT: tele/tasmota/SENSOR = {"Time":"2020-03-04T17:54:00","SML":{"DJ_TPWRIN":0.0000,"DJ_TPWROUT":0.000,"DJ_TPWRCURR":0}} 17:54:02 : ff ff ff ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff 0f ff ff 07 ff ff ff ff 3f ff ff 17:54:05 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f 0f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff 17:54:05 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 17:54:05 : ff ff ff ff 3f ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff 0f ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff 17:54:05 : ff ff ff 3f ff ff ff ff ff ff 1f 1f ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 17:54:05 : ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff 1f 1f ff ff ff ff ff ff ff ff ff ff 01 1f ff ff ff ff ff ff ff ff ff 3f ff ff 17:54:05 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff 1f ff ff 17:54:05 : ff ff ff 3f 0f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 17:54:07 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff 17:54:10 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff ff ff ff 07 ff ff ff ff ff 3f 0f ff ff 17:54:12 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff 17:54:17 : ff ff ff ff 1f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff 1f 1f ff ff ff ff ff ff ff 3f ff ff ff ff ff ff ff 17:54:19 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff 0f ff 1f ff ff ff ff ff 3f ff ff ff ff 17:54:19 : ff ff ff ff ff ff ff ff ff 3f ff ff 3f 07 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 17:54:19 : ff 3f ff ff ff ff ff ff 1f ff ff 3f ff ff ff ff ff ff 3f ff ff ff ff ff 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 3f
Woran kann das liegen? Script sieht so aus:
>D s1="Tagesverbrauch: {m}<b><span style=" v2=0 hr=0 md=0 yr=0 ;Strom p:sm=0 sd=0 sma=0 smn=0 sya=0 syn=0 sspr=0.2709 yspr=0 ysgp=15.40 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,1,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,4 1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,3 1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0 #
Zähler ist ein Landis&Gyr E320. Das drehen des TTL-Kopfes hat leider auch nichts gebracht. Vielne Dank schonmal für eure Hilfe.
-
@Patrick-Barthel bekommst du die Daten auch wenn du den Lesekopf vom Zähler abnimmst? Vermutlich ist dein Lesekopf defekt. Ich tippe auf Transistor zu heiß gelötet.
Gruß Jaschkopf