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.
    • Christian Röckel
      Christian Röckel last edited by

      Hey ich bin neu hier und wollte mir auch einen smarten Stromzähler mit einem ESP8266 Bauen.

      Leider bin ich noch nicht ganz fündig geworden ob mein vorhandener Stromzähler kompatibel ist.

      Es handelt sich dabei um einen dzg dws7412.1.

      Hat den jemand von euch schon zum laufen gebracht und gibt es dann dabei was zu beachten?

      Mit freundlichen Grüßen

      Christian

      1 Reply Last reply Reply Quote 0
      • E
        euro last edited by

        such mal hier im Thread und schau dir Beitrag 187 an 🙂

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

          Hallo zusammen - super Arbeit mit dem Script.

          Ich bekomme aber das Tasmota-Projekt im Atom im Bezug auf
          USE_SCRIPT_WEB_DISPLAY etc. nicht richtig konfiguriert.
          Daher meine Frage, könnte jemand eine BIN hier veröffentlichen?

          Danke schon mal.

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

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

            @bobofet
            Das 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,12,s,1,9600,SML
            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===============|
            #
            

            Sieht dann so aus:
            zaehler.jpg

            Servus,

            Ist es möglich die Berechnung der Zählerständer (00:00Uhr ,Monatsanfang usw.) für 2 Zähler zu berechnen.
            Wenn ja, was müsste ich anpassen dass er das für 2 Zähler macht?

            Gruß
            sangandi

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

              @sangandi Ich verstehe die Frage nicht.
              Der ESP liest einen einzelnen Zähler aus mit einem Lesekopf. Willst du zwei Zähler mit einem ESP auslesen?

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

                @chaot

                Ja genau, das ist mein Plan. Aktuell kann ich schon 2 Zähler mit einem esp auslesen.

                Nur hätte ich gern für beide Zähler die Zählerstände:
                00:00Uhr
                Monatsanfang
                Jahresanfang
                Tagesverbrauch
                Wochenverbrauch
                Monatsverbrauch

                Ist das möglich?

                Gruß
                Sangandi

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

                  @sangandi Das ist möglich. Ich habe das im ioBroker mit einem Skript gelöst. Natürlich kannst du das auch in einem Skript auf dem ESP lösen, da bin ich allerdings überfragt, wie du die zwei Zähler trennst.
                  Ich finde es im ioBroker eleganter gelöst, da du alle Skripte an einem Platz hast. Die entsprechenden Datenpunkte habe ich mir als Objekte in 0_userdata angelegt.
                  b3fde3d4-f003-41a1-b728-a004cb6a6f94-image.png
                  234edc3f-1a1d-46e0-a99f-dec74233fd9b-image.png

                  1 Reply Last reply Reply Quote 0
                  • B
                    blueTNT @blueTNT last edited by

                    Ich habe noch einmal ins Handbuch geschaut. Im Menü des Zählers gibt es den Eintrag "InF OFF (On)" "...kann der Datensatz an der INFO Schnittstelle Ein (On) oder aus (OFF) geschaltet werden."

                    Nun werden die meisten Daten auch übermittelt. Tagesverbrauch jedoch immer noch nicht, aber Hauptsache ich bekomme die aktuelle Lesitung 🙂

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

                      @sangandi Das müsste theoretisch möglich sein. Über den Parameter M stellst du den Zähler bzw. die Anzahl der Zähler ein.
                      Aber wie genau da bin ich ehrlich gesagt überfragt. So tief bin ich in das Script nie eingestiegen. Da wäre es sinnvoll mal im Discord Channel bei Tasmota nachzufragen. Dort sitzt der Entwickler des Scripts.

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

                        Ich habe es soweit geschafft.
                        Zähler wird ausgelesen
                        im ESP32 zeigt Tasmota die Werte an und sendet an IOBroker.

                        im Objekt SENSOR erhalte ich jedoch dass:

                        {
                        "Time": "2022-07-08T14:57:20",
                        "SML": {
                        "Total_in": 68055.5349,
                        "Power_curr": 854
                        },
                        "ESP32": {
                        "Temperature": 74.4
                        },
                        "TempUnit": "C"
                        }

                        Was muss ich ändern, damit ich den aktuellen Bezug (Power_curr) und den Gesamtbezug (Total_in) einfach nur als Wert bekomme?
                        Oder muss ich in einem Skript den Inhalt zerlegen und "auswerten"?

                        C 1 Reply Last reply Reply Quote 0
                        • C
                          ctnnemo @ctnnemo last edited by

                          @ctnnemo

                          Ich habe den "Sensor" aus dem MQTT - Adapter genommen und nutze jetzt den
                          Sonoff - Adapter. Dort wird er korrekt dargestellt.

                          1 Reply Last reply Reply Quote 0
                          • Steffen Demmin
                            Steffen Demmin @toki1973 last edited by

                            @toki1973 Wie sieht dein Skript ITRON für Tasmota aus?

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

                              Ich versuche mich auch gerade am Tasmota-Zähler. Dafür verwende ich einen NodeMCU.
                              Der Infrarot-Sensor hat einen USB-A Ausgang.

                              Sehe ich das richtig, dass die erste zeile im Script schon auf die GPIOs referenziert? Was muss ich dementsprechend in Tasmota konfigurieren? Nichts? Ich habe die beiden Datenanschlüsse an GPIO1 und GPIO3. Wenn ich Serial RX und TX belege, dann wird im Hauptmenu garnichts angezeigt, da heisst es RX1 ist bereits konfiguriert...oder irgendwie so. Ich habe auch mal im Script 1 und 3 vertauscht (da ich nicht weiss, welcher USB-Anschluss wohin auf dem Empfänger landet... leider kein Erfolg.

                              Via ioBroker Smartmeter Adapter funktioniert der Sensor problemlos.

                              Habt ihr noch Tips/ Anregungen?

                              64c4d81f-c56e-4af3-9a11-903776c48e27-image.png

                              >D
                              >B
                              =>sensor53 r
                              >M 1
                              +3,1,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,77070100000009ff@#,Service ID,,Meter_id,0|
                              #
                              

                              Leider kann ich den Sensor nicht auseinandernehmen. Der scheint mir verklebt... Das ist vmt. ein Selbstbau IR-Sender/Empfänger mit 3D-Druck. Da das ganze Ding im ioBroker funktioniert, muss ich das doch nciht freileuchten, oder doch?

                              Ergänzung. Ich habe den Empfänger an 3,3v, GND, RX und TX angeschlossen. Oder läuft das Teil auf 5V?
                              0d9c3637-71c9-473c-bd8c-a24939440027-image.png

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

                                @ralfth
                                Hi, sehr gut das Script. Hast du eventuell eine passende Visualisierung dazu, oder einen Link?
                                ba0adb37-5542-4e91-8306-b27b73752fa7-image.png

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

                                  @uli-geins Hallo, ich habe das in Jarvis visualisiert.
                                  ebd59f2f-474f-4f71-90f3-392c9474a4d4-grafik.png
                                  Ich lege nicht sehr großen Wert auf eine "schicke" Visualisierung, obwohl das mit Jarvis sicherlich auch funktioniert. Ich verwende die Daten für Verbrauchs- und Temperaturstatistiken. Ich habe auch noch einen Kalender für Termine und Müll integriert. Ich bin da eher Purist was die smarte Steuerung des Hauses anbelangt.
                                  1c8e8d50-0f47-4cbb-b244-53495c96f347-grafik.png
                                  VIS hatte ich mal versucht, allerdings ist mir das zu aufwendig gewesen. Wobei der Müllkalender in VIS gemacht wurde und als iFrame in Jarvis integriert wurde.

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

                                    Hallo zusammen erstmal an das Forum!
                                    Ich bin fleissiger Leser und hab schon solch manch brauchbare Info hier gefunden!
                                    Jetzt komme ich nicht weiter und denke, dass ich hier richtig aufgehoben bin.
                                    Ich versuche, mit tasmota meinen smarten Stromzähler auszulesen.
                                    Das klappt auch gut über das Webinterface.
                                    75d10b80-61f9-49b3-b384-4f855e539642-grafik.png
                                    Jedoch sind für meine Anwendung die mqtt-Daten interessanter. Diese werden jedoch von dem ESP8266 nur nach einem Neustart aktualisiert bzw. bereitgestellt.

                                    C:\Program Files (x86)\mosquitto>mosquitto_sub -h 192.168.1.133 -t tasmota/#
                                    {"ip":"192.168.1.31","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_0DF0CF-4303","mac":"4417930DF0CF","md":"Generic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.2.0.3","t":"tasmota_0DF0CF","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
                                    {"sn":{"Time":"2022-07-30T10:13:46","SML":{"Total_in":61.6,"Total_out":677.6891,"Power_curr":-1191,"Volt_p1":235.4,"Volt_p2":234.9,"Volt_p3":235.8,"Ampere_p1":1.66,"Ampere_p2":1.73,"Ampere_p3":1.93,"frequency":49.9}},"ver":1}
                                    {"ip":"192.168.1.118","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_0D4704-1796","mac":"4417930D4704","md":"Generic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.2.0.3","t":"tasmota_0D4704","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
                                    {"sn":{"Time":"2022-07-30T20:13:39","SML":{"Total_in":63.1,"Total_out":686.0649,"Power_curr":161,"Volt_p1":233.9,"Volt_p2":234.9,"Volt_p3":234.8,"Ampere_p1":0.70,"Ampere_p2":0.71,"Ampere_p3":0.86,"frequency":50.0}},"ver":1}

                                    Da für gewöhnlich das Problem eher vor dem Bildschirm sitzt: Hat jemand einen Rat für mich, wo ich da den Bock drinnen habe?
                                    Bei Tasmota unter Logging habe ich schon diverse Telemetry-Periods getestet, alles ohne Erfolg ;-( .
                                    Viele Grüße
                                    Torsten

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

                                      @henni774 Mal abgesehen davon das du auf einer uralten Version von Tasmota unterwegs bist wäre es noch recht schön wenn du die Ausgabe in Code Tags packen würdest die man dann besser lesen kann.

                                      Was steht in den Einstellungen unter "Telemetrieperiode" (Bei Logging der unterste Punkt)?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            943
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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