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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Stromzähler per Sonoff ESP8266 auslesen

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

      @chaot
      Vielen Dank für Deine Antwort.
      Bei den Einstellungen unter Telemetrieperiode habe ich aktuell 30, habe aber auch schon 10, 100 und 300 probiert.
      Mein Script schaut so aus (ich hoffe, das passt so mit der Darstellung) :

      >D
      >B
      ->sensor53 r
      >M 1
      +1,4,s,16,9600,SML
      1,77070100010800ff@1000,Bezug Gesamt,kWh,Total_in,1
      1,77070100020800ff@1000,Einspeisung,kWh,Total_out,4
      1,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,16
      1,77070100200700ff@1,Volt P1,V,Volt_p1,1
      1,77070100340700ff@1,Volt P2,V,Volt_p2,1
      1,77070100480700ff@1,Volt P3,V,Volt_p3,1
      1,770701001f0700ff@1,Ampere P1,A,Ampere_p1,2
      1,77070100330700ff@1,Ampere P2,A,Ampere_p2,2
      1,77070100470700ff@1,Ampere P3,A,Ampere_p3,2
      ;1,77070100510704ff@1,Phaseangle I-L1/U-L1,deg,phase_angle_p1,1 
      ;1,7707010051070fff@1,Phaseangle I-L27I-L2,deg,phase_angle_p2,1  
      ;1,7707010051071aff@1,Phaseangle I-L3/I-L3,deg,phase_angle_p3,1 
      1,770701000e0700ff@1,Frequenz,Hz,frequency,1
      #
      

      Die Datenabfrage dann so:

      C:\Program Files (x86)\mosquitto>mosquitto_sub -h 192.168.1.133 -t tasmota/#
      

      44b42668-a152-4f81-b7e2-a00646b659c3-grafik.png

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

        Eigenartiger Weise sind die Daten auf der Weboberfläche gefühlt sekündlich aktuell. Über mqtt kommen immer nur die Daten nach dem letzten Neustart des ESP.
        Grüße
        Torsten

        Chaot 2 Replies Last reply Reply Quote 0
        • Chaot
          Chaot @henni774 last edited by Chaot

          @henni774
          Hast du JSON Export aktiviert?

          #ifndef USE_SML_M
          #define USE_SML_M
          #endif
          #ifndef USE_SML_SCRIPT_CMD
          #define USE_SML_SCRIPT_CMD
          #endif
          #ifndef USE_SCRIPT_WEB_DISPLAY
          #define USE_SCRIPT_WEB_DISPLAY
          #endif
          #ifndef USE_SCRIPT_JSON_EXPORT
          #define USE_SCRIPT_JSON_EXPORT
          #endif
          

          Das dann im Script dazu:

          >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%"
          

          Soweit ich mich erinnere habe ich das für MQTT gebraucht.

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

            @chaot
            Oh, ich glaube, das könnte zielführend werden, danke schön!
            Wo führe die Aktivierung des JSON Exports durch?

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

              @henni774 Noch was gemerkt:
              Bei mir läuft web log level auf "2"
              Dann siehst du zumindest in der Konsolenansicht ob dort aktualisiert wird.

              Geh auch mal mit der Tasmotaversion auch über 10. Da gab es gerade bei den Scripts einige Veränderungen.

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

                @henni774
                Die Aktivierungen musst du beim Erstellen der Firmware angeben. Du hast ja auch SML aktiviert. Also in der userconfig

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

                  @chaot
                  Besten Dank, ich werd mich da nachher mal drum kümmern 👍

                  H 1 Reply Last reply Reply Quote 0
                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            900
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            d0-schnittstelle esp8266 sml sonoff stromzähler stromzähler auslesen tasmota volkszähler
                                            83
                                            562
                                            178241
                                            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