Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Stromzähler per Sonoff ESP8266 auslesen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Stromzähler per Sonoff ESP8266 auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      henni774 @henni774 last edited by

      @chaot
      Hallo Chaote, bin jetzt auf Tasmota 12.0, Json Export ist drin. Aber derzeit ohne Besserung - die mqtt-Daten kommen nur einmal nach dem Neustart.
      Wobei ich zu mqtt im Scipt nichts drinnen habe. Erklärt sich mir nicht, warum er dann am Anfang sendet ... .
      Es ist zum Mäuse melken ... das aber erscheint mir komisch (kommt aus der Konsole):

      17:17:44.424 MQT: tele/tasmota_0D4704/STATE = {"Time":"2022-07-31T17:17:44","Uptime":"0T00:15:40","UptimeSec":940,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":25,"MqttCount":1,"Wifi":{"AP":1,"SSId":"o2-WLAN08","BSSId":"B0:EA:BC:FE:2C:A3","Channel":11,"Mode":"11n","RSSI":96,"Signal":-52,"LinkCount":1,"Downtime":"0T00:00:04"}}
      

      Der mqtt-Zähler steht und bleibt auf 1 ....

      Hier mal die user_config:

      #ifndef _USER_CONFIG_OVERRIDE_H_
      #define _USER_CONFIG_OVERRIDE_H_
      
      
      #ifndef USE_SCRIPT
      #define USE_SCRIPT //# adds about 17k flash size, variable ram size
      #endif
      #ifdef USE_RULES
      #undef USE_RULES
      #endif
      #define USE_SML_M
      
      #undef STA_SSID1
      #define STA_SSID1 "o2-WLAN08"// [Ssid1] Wifi SSID
      #undef STA_PASS1
      #define STA_PASS1 "********" // [Password1] Wifi password
      #undef MQTT_HOST
      #define MQTT_HOST "192.168.1.133" // [MqttHost]
      #undef MQTT_PORT
      #define MQTT_PORT 1883 // [MqttPort] MQTT port (10123 on CloudMQTT)
      #undef MQTT_USER
      #define MQTT_USER "" // [MqttUser] Optional user
      #undef MQTT_PASS
      #define MQTT_PASS "" // [MqttPassword] Optional password
      
      #define USE_SCRIPT_WEB_DISPLAY
      #define USE_SCRIPT_JSON_EXPORT 
      #define USE_EXPRESSION
      #define SUPPORT_IF_STATEMENT 
      
      #ifndef USE_SML_SCRIPT_CMD
      #define USE_SML_SCRIPT_CMD
      #endif
      
      #endif
      
      H 1 Reply Last reply Reply Quote 0
      • H
        henni774 @henni774 last edited by

        Oha, ich habs ....

        H 1 Reply Last reply Reply Quote -1
        • H
          henni774 @henni774 last edited by

          Ich hab den Scriptaufruf völlig ignoriert, jetzt läufts ...

          =>publish %topic% %e%;%p%;%s%
          

          Vielen vielen Dank nochmal für die Hilfe.
          Torsten

          PS: Wiedermal saß das Problem vor dem Bildschirm .... .

          1 Reply Last reply Reply Quote 1
          • H
            HugoBecker @m4 last edited by

            @m4
            Hallo M4,
            ich möchte über einen WT32-ETH01 und eine Hichi-Lesekopf meinen Stromzähler per SML auslesen.
            Arbeiten soll das Ganze über LAN, da kein ausreichender Empfang per WLAN im Sicherungskasten vorhanden ist.
            Diese Konstellation scheinst Du ja auch zu nutzen.
            Jetzt zu meinem Problem: Egal wie ich das bin-File für den ESP32 auch compiliere (TasmoCompiler, Tasmota Installer oder über Visual Studio Code),
            es funktioniert immer nur entweder Ethernet oder Script (SML). Es gelingt mir nicht beides zu Laufen zu bringen.
            Wie hast Du das denn geschafft ? Kannst Du mir vielleicht eine nachvollziehbare Lösung nennen ?
            Ich wäre wirklich dankbar dafür...
            Hugo

            1 Reply Last reply Reply Quote 0
            • Uli Geins
              Uli Geins last edited by Uli Geins

              Hi zusammen. Danke an alle, für die wirklich gute Unterstützung und Anregung für's Scripten.
              Ich bräuchte bitte Hilfe, da ich irgendwie ein Problem habe die Autarkie meiner PV Anlage mit Speicher in das Script zu bringen.
              So schaut die Auswertung momentan aus.

              IMG-20220913-WA0013.jpg

              Wäre schön, wenn jemand eine Idee zur Formel hat und umsetzen könnte für das Script. Danke ...

              Hier noch mein Script.

              >D
              rssi=0
              s1="Tagesverbrauch: {m}<b><span style=>"
              v2=0
              v3=0
              sec=0
              hr=0
              md=0
              yr=0
              p:sm=0
              sd=0
              p:sme=0
              sde=0
              p:sma=0
              p:smb=0
              smn=0
              smo=0
              p:sya=0
              p:syb=0
              syn=0
              syo=0
              sspr=0.1993
              ssps=0.086
              yspr=0
              ysps=0
              yspt=0
              ysgp=150.00
              ystag=0
              yetag=0
              getmon=0
              yemon=0
              ysyear=0
              setoff=72
               
              >T
              v2=SML#Total_in
              v3=SML#Total_out
              rssi=Wifi#RSSI
              
              >B
              ->sensor53 r
               
              >S
               
              ;Tagesverbrauch
              hr=hours
              if chg[hr]>0
              and hr==0
              then
              sm=v2
              sme=v3
              svars
              endif
              if upsecs%tper==0
              then
              sd=v2-sm
              sde=v3-sme
              endif
               
              ;Monatsverbrauch
              md=day
              if chg[md]>0
              and hr==0
              and md==1
              then
              sma=v2
              smb=v3
              svars
              endif
              if upsecs%tper==0
              then
              smn=v2-sma+setoff
              smo=v3-smb
              endif
               
              ;Jahresverbrauch
              yr=year
              if chg[yr]>0
              and hr==0
              and md==1
              then
              sya=v2
              syb=v3
              svars
              endif
              if upsecs%tper==0
              then
              syn=v2-sya+setoff
              syo=v3-syb
              endif
               
              ;Kosten
              ystag=sd*sspr
              yetag=sde*ssps
              getag=ystag-yetag
              yspr=syn*sspr+ysgp
              getmon=smn*sspr
              yemon=smo*ssps
              ysps=syo*ssps
              yspt=yspr-ysps
              ysyear=syn*sspr
              endif
               
              >J
              ,"Verbrauch Tag":"%sd%"
              ,"Einspeisung Tag":"%sde%"
              ,"Verbrauch Monat":"%smn%"
              ,"Einspeisung Monat":"%smo%"
              ,"Verbrauch Jahr":"%syn%"
              ,"Kosten pro Tag":"%2ystag%"
              ,"Ertrag pro Tag":"%2yetag%"
              ,"Kosten pro Monat":"%2getmon%"
              ,"Ertrag pro Monat":"%2yemon%"
               
              >W
              WLAN Empfang: {m}%rssi% dBm
              ==============
              Tagesverbrauch: {m} %2sd%  KWh {m} %2ystag%  €
              Tagesertrag: {m} %2sde%  KWh {m} %2yetag%  €
              Monatsverbrauch: {m} %2smn% KWh {m} %2getmon%  €
              Monatsertrag: {m} %2smo% KWh {m} %2yemon%  €
              Jahresverbrauch: {m} %2syn% KWh {m} %2ysyear%  €
              Jahresertrag: {m} %2syo% KWh {m} %2ysps%  €
              ==============
              Strom Bezug Preis/kWh:       {m} %4sspr% €
              Strom Ertrag Preis/kWh:       {m} %4ssps% €
              Strom Grundpreis:      {m} %2ysgp% €
              --------------
              Strom Bezug lfd. Jahr:{m} %2yspr% €
              Strom Ertrag lfd. Jahr:{m} %2ysps% €
              Strom Gesamtkosten lfd. Jahr:{m} %2yspt% €
              ==============
              Strom Zählerstände:
              aktuell:         {m} %2v2% KWh
              0:00 Uhr:        {m} %2sm% KWh
              0:00 UhrEins:        {m} %2sme% KWh
              Monatsanfang:    {m} %2sma% KWh
              MonatsanfangEins:    {m} %2smb% KWh
              Jahresanfang:    {m} %2sya% KWh
              ==============
               
              
               
              >M 1
              +1,3,s,0,9600,SML
              1,77070100010800ff@1000,Total Bezug,KWh,Total_in,4  
              1,77070100020800ff@1000,Total Ertrag,KWh,Total_out,4  
              1,77070100100700ff@1,Current ,W,Power_curr,0
              #
              
              
              
              Michael Brunner _ 2 Replies Last reply Reply Quote 1
              • Michael Brunner
                Michael Brunner @Uli Geins last edited by

                Servus Zusammen,
                wie bekommt Ihr den Tagesverbrauch, Monats.... und Strom Zählerstände zum laufen?
                Bei mir werden nur die aktuellen Verbräuche angezeigt.
                Habe natürlich die versch. "Extensions" in der override Datei hinzugefügt.
                Muss man im Skript noch werte eintragen? Ausser dem Strompreis?
                Wäre um jede Hilfe Dankbar! 😉
                Hier mal mein 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.304
                yspr=0
                ysgp=120
                y€=0
                 
                >T
                v2=SML#Total_in
                rssi=Wifi#RSSI
                 
                >B
                ->sensor53 r
                 
                >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
                 
                ;Monatsverbrauch
                md=day
                if chg[md]>0
                and hr==0
                and md==1
                and v2>0
                then
                sma=v2
                svars
                endif
                if upsecs%tper==0
                then
                smn=v2-sma
                endif
                 
                ;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
                then
                syn=v2-sya
                 
                ;Kosten
                yspr=syn*sspr+ysgp
                endif
                 
                >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% dBµV
                ===============
                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,0,9600,,1
                1,77070100010800ff@1000,Zählerstand,kWh,Total_in,2
                1,77070100020800ff@1000,Einspeisung,kWh,Total_out,2
                1,77070100100700ff@1,Stromverbrauch,W,Power_curr,0
                1,77070100100700ff@1000,Aktuell,kW,Actual_pow,3
                1,=h===============|
                1,77070100200700ff@1,Spannung L1,V,Volt_p1,1
                1,77070100340700ff@1,Spannung L2,V,Volt_p2,1
                1,77070100480700ff@1,Spannung L3,V,Volt_p3,1
                1,=h===============|
                1,770701001f0700ff@1,Strom L1,A,Ampere_p1,1
                1,77070100330700ff@1,Strom L2,A,Ampere_p2,1
                1,77070100470700ff@1,Strom L3,A,Ampere_p3,1
                1,=h===============|
                1,770701000e0700ff@1,Netzfrquenz,Hz,Freq,1
                1,=h===============|
                #
                

                Bildschirm­foto 2022-10-12 um 10.39.32.png

                1 Reply Last reply Reply Quote 1
                • B
                  bernd78 last edited by

                  Ich hätte eine Frage, ich habe den WIFI-Lesekopf soweit installiert, und bekomme auch Werte in IOBROKER via MQTT gesendet. Allerdings kommen die Werte in IOBROKER nur alle 5 Minuten an. Kann man den Wert irgendwie verändert dass diese so alle Minute an IOBROKER via MQTT gesendet werden?

                  Chaot 1 Reply Last reply Reply Quote 0
                  • Chaot
                    Chaot @bernd78 last edited by

                    @bernd78 Das stellst du bei Tasmota ein unter:
                    Einstellungen - Logging - Telemetrieperiode.
                    Bei mir steht da 10 für 10 Sekunden. Original steht da 300 für 300 Sekunden = 5 Minuten

                    1 Reply Last reply Reply Quote 1
                    • _
                      _Paule_ @Uli Geins last edited by _Paule_

                      @MICHAEL BRUNNER

                      Hallo,

                      Ich hatte auch versucht die Werte für die Zählerstände des Monats- /Jahresanfang irgendwo im script file zu hinterlegen.
                      Habe allerdings nicht die passenden Stellen gefunden.

                      Letzendlich habe ich die Werte für die Zählerstände am Monats- /Jahresanfang über die normale Tasmota-Console gesetzt.

                      ;JAHRESANFANGSZÄHLERSTAND via Console setzen!
                      script >sya=xxxxxxx

                      ;MONATSANFANGSZÄHLERSTAND via Console setzen!
                      script >sma=yyyyyyy

                      Danach noch ein reboot und sobald neue Daten rein kommen werden auch der Monats- und Jahres-Verbrauch berechnet.

                      1 Reply Last reply Reply Quote 0
                      • Marc_el_K
                        Marc_el_K @da_ba_bw last edited by

                        @da_ba_bw hallo, ist bei deiner Nachfrage an die Stadtwerke was herausgekommen? Habe ebenfalls einen Smartmeter verbaut bekommen mit deaktivierten Funktionen im Menü. Alle 120 Sekunden schaltet er wieder auf den reduzierten Datensatz zurück.

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          da_ba_bw @Marc_el_K last edited by

                          @marc_el_k Ja das war erfolgreich. Da ist gleich einer mit dem Laptop vorbei gekommen und hat mir kostenlos die PIN-Abfrage deaktiviert und alle verfügbaren Daten auf der Info-Schnittstelle freigeschaltet.

                          1 Reply Last reply Reply Quote 0
                          • oberfragger
                            oberfragger last edited by oberfragger

                            Hallo,

                            ich hoffe jemand kann mir helfen.

                            1. Ich habe meinen ISKRA Iskra MT681-D4A51-K0p freigeleuchtet. Es werden auf dem Display die aktuellen Verbrauchswerte angezeigt
                            2. Ich habe einen NodeMCU angeschlossen. An diesem hängt ein Infrarot-Lesekopf. Dieser Lesekopf ist mittels Mini-USB via Kabel am NodeMCU verbunden. Das Mini-USB-Kabel hat 4 Adern (rot, schwarz, weiss, grün). Dieses habe ich gemäß Schema an den NodeMCU geschlossen.
                              7bf7d289-1200-4994-ae2f-e2768736491c-image.png
                            3. Ich habe folgendes Script (gemäß Tasmota-Homepage eingebunden und aktiviert:
                            >D
                            >B
                            =>sensor53 r
                            >M 1
                            +1,3,s,0,9600,MT681
                            1,77070100010800ff@1000,Gesamtverbrauch,KWh,Total_in,3
                            1,770701000f0700ff@1,Leistung,W,Power_cur,0
                            1,77070100150700ff@1,Leistung P1,W,Power_p1,0
                            1,77070100290700ff@1,Leistung P2,W,Power_p2,0
                            1,770701003d0700ff@1,Leistung P3,W,Power_p3,0
                            1,77070100020800ff@1000,Gesamteinspeisung,KWh,Total_out,3
                            1,77070100000009ff@#,Service ID,,Meter_id,0|
                            #
                            
                            1. Die Tasmota-Version habe ich "selbst gebaut", aber aus meiner Sicht alles notwendige, wie beschrieben in die config eingetragen.
                            2. Ich hab in der 5. Zeile des Scriptes auch die "3" durch eine "1" getauscht, da mir unklar ist, auf welchem Kabel der Reciever liegt. Hab den Infrarot-Reciever schon mal aufgeschraubt, leider sind die Lötstellen nicht beschriftet.
                            3. Der Infrarot-Empfänger funktioniert mit dem Smartmeter-Adapter problemlos.

                            Leider kommen keine Werte rein. Was mache ich falsch? Ist 3,3V nicht richtig? Ist die Stelle an der ich den GPIO 3 durch 1 tausche falsch?
                            a325ef73-1cd4-48d3-94c2-bfefe57448c4-image.png

                            Wal 1 Reply Last reply Reply Quote 0
                            • Wal
                              Wal Developer @oberfragger last edited by

                              @oberfragger ,
                              wenn du ein USB-Lesekopf hast, kannst du den nicht direkt an den NodeMCU anschließen.
                              Du brauchst ein RS232-Interface Lesekopf.

                              oberfragger 2 Replies Last reply Reply Quote 0
                              • oberfragger
                                oberfragger @Wal last edited by

                                @wal ;(
                                What. Das ist doof. Ärgerlich!
                                Aber wenigstens weiss ich endlich, dass ich nicht zu doof bin....vermutlich.

                                1 Reply Last reply Reply Quote 0
                                • oberfragger
                                  oberfragger @Wal last edited by oberfragger

                                  @wal Sorry dass ich nochmal fragen muss... gibts da ggf. einen "Adapter" (damit meine ich nicht ioBroker Adapter sondern sowas wie ne Kupplung...)?
                                  2. Frage - falls ich mich doch für den Hichi mit Esp entscheide- weiss jemand ob ich da noch 2 freie GPIO für SDA/ SCL habe damit das DIng noch mehr machen kann...!?!
                                  Ich habe diesen hier:
                                  https://shop.weidmann-elektronik.de/index.php?page=product&info=24

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @oberfragger last edited by Armilar

                                    @oberfragger sagte in Stromzähler per Sonoff ESP8266 auslesen:

                                    falls ich mich doch für den Hichi mit Esp entscheide- weiss jemand ob ich da noch 2 freie GPIO für SDA/ SCL habe damit das DIng noch mehr machen kann...!?!

                                    2481e201-7138-47c4-af75-62ba81576e3d-image.png

                                    Das ist der Hichi mit dem ESP-01 (zerlegt auf dem Gehäuse). Funktioniert perfekt, jedoch ist der komplett verbaut.

                                    EDIT: Dafür ist der auch sehr klein, schlank und unauffällig. 5V benötigt der natürlich trotzdem.

                                    oberfragger 1 Reply Last reply Reply Quote 0
                                    • oberfragger
                                      oberfragger @Armilar last edited by

                                      @armilar Ja. Den meinte ich. Habe ich da noch 2 freie GPIOs?

                                      Armilar 1 Reply Last reply Reply Quote 0
                                      • Armilar
                                        Armilar Most Active Forum Testing @oberfragger last edited by Armilar

                                        @oberfragger

                                        223c2af4-fb6f-4a16-895b-87455858c942-image.png

                                        Technisch gesehen schon, bin mir da aber nicht sicher, da bereits alle PINs mit dem unteren Board verbunden sind (evtl. oben auflöten).

                                        EDIT:
                                        Wahrscheinlich sind GPIO0 und GPIO1 noch frei.

                                        Andererseits ist das Tasmota in diesem Fall auch nicht sehr update-freundlich, da es immer individuell mit Script-Console kompiliert werden müsste.

                                        Würde dann für zusätzliche Anforderungen eher auf einen zusätzlichen ESP setzen

                                        oberfragger 1 Reply Last reply Reply Quote 0
                                        • oberfragger
                                          oberfragger @Armilar last edited by

                                          @armilar said in Stromzähler per Sonoff ESP8266 auslesen:

                                          @oberfragger

                                          223c2af4-fb6f-4a16-895b-87455858c942-image.png

                                          Technisch gesehen schon, bin mir da aber nicht sicher, da bereits alle PINs mit dem unteren Board verbunden sind (evtl. oben auflöten).

                                          EDIT:
                                          Wahrscheinlich sind GPIO0 und GPIO1 noch frei.

                                          Andererseits ist das Tasmota in diesem Fall auch nicht sehr update-freundlich, da es immer individuell mit Script-Condole kompiliert werden müsste.

                                          Würde dann eher auf einen zusätzlichen ESP setzen

                                          Nice. Das Schaubild kannte ich noch garnicht. Da ist ja genau das drauf was ich brauchte SDA & SCL! Da löte ich dann einfach dran.
                                          Auf einen zusätzlichen ESP möchte ich gern verzichten... den hab ich ja bereits. Möchte nur möglichst "viel" aus den ESPs rausholen.

                                          Oh. Da muss ich eine harte Entscheidung treffen ob ich die 35 Euro ausgeben möchte.

                                          Armilar 1 Reply Last reply Reply Quote 0
                                          • Armilar
                                            Armilar Most Active Forum Testing @oberfragger last edited by

                                            @oberfragger sagte in Stromzähler per Sonoff ESP8266 auslesen:

                                            Oh. Da muss ich eine harte Entscheidung treffen ob ich die 35 Euro ausgeben möchte.

                                            Ja, war nicht einfach... Hab's aber trotzdem gemacht und noch nicht bereut 😊

                                            Liefert sauber und kontinuierlich ohne Ausfälle Daten im 10 Sek. Takt an ioBroker...

                                            oberfragger 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            842
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            d0-schnittstelle esp8266 sml sonoff stromzähler stromzähler auslesen tasmota volkszähler
                                            83
                                            562
                                            165918
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo