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.
    • J
      Jaschkopf @Guano Apes last edited by

      @Guano-Apes Ja das ist möglich.

      Die Links in der Anleitung muss ich bei Zeiten mal aktualisieren.

      Gruß Jaschkopf

      Guano Apes 1 Reply Last reply Reply Quote 0
      • Guano Apes
        Guano Apes @Jaschkopf last edited by

        @Jaschkopf

        Ihr arbeitet hier aber alle mit den Ferraris D0 Opto Zählern, oder?

        Wäre für Tipps dankbar, wie das beim S0 gehen würde.

        J 1 Reply Last reply Reply Quote 0
        • J
          Jaschkopf @Guano Apes last edited by

          @Guano-Apes Nein wir arbeiten hier alle mit einem Schreib-Lesekopf der die Daten aus einer optischen Schnittstelle direkt am Zähler bzw. der Modernen Messeinrichtung empfängt. Ferraris nutzt hier soweit ich weiß keiner.

          Um deine S0 Impulse auslesen zu können brauchst du einen passenden Empfänger der dann einen Pin des ESP auf GND zieht. Findet man alles bei google wenn man sich ein bisschen Mühe gibt. Gibts sowohl für Ferraris als auch Digitale Zähler.

          Gruß Jaschkopf

          Guano Apes 1 Reply Last reply Reply Quote 0
          • Guano Apes
            Guano Apes @Jaschkopf last edited by

            @Jaschkopf

            Ja, einen ESPeasy habe ich hier schon und einen Drehstromzähler mit s0 Port auch.
            Läuft soweit alles mit der ESPeasy Soft.
            Tasmota sieht da allerdings besser aus...

            Ja gut, dann werde ich mal googeln... Wobei dort nicht viel rauskommt mit Tasmota und S0........ Alles immer nur D0......

            1 Reply Last reply Reply Quote 0
            • M
              MasterAndi0815 last edited by MasterAndi0815

              Hallo,

              dank der tollen Anleitung läuft bei mir nun auch schon einige Wochen ein Wemos für das Auslesen des Stromzählers.
              Zum Zeitpunkt des Flashens war Tasmota 8.2 aktuell.
              Inzwischen gibt es Tasmota 8.3.1.
              Kann man dieses jetzt einfach per Standard Online Update einspielen oder muss man das Flashfile für die aktuelle Version auch immer erst nach der Anleitung erstellen ?
              Einspielen müsste dann ja manuell über das Webinterface möglich sein.

              Gruß
              MasterAndi

              J 1 Reply Last reply Reply Quote 0
              • J
                Jaschkopf @MasterAndi0815 last edited by

                @MasterAndi0815 also grundsätzlich wur5de ich sagen "never Change a running system" 😅😅. Wenn es dringende Bugfix oder neue Features gibt die du brauchst solltest du unbedingt vorher Backups machen. Ist im tasmota wiki beschrieben. Beim Update sollte die userconfig_override bestehen bleiben. Alles was du in der normalen userconfig angepasst hast wird beim Update vermutlich überschrieben.

                Gruß Jaschkopf

                1 Reply Last reply Reply Quote 0
                • S
                  sportfreund @Jaschkopf last edited by sportfreund

                  Hallo zusammen und danke für dieses spannende Projekt 🙂 Das hat mich heute gut durch den verregneten Samstag begleitet, leider bin ich elektronisch nicht ganz 100% bewandert und "es geht noch nicht". Da ich momentan noch zuviele Fehlerquellen habe, könnte mich vielleicht einer auf den richtigen Weg bringen?

                  Tasmota mit SML kompiliert und auf NodeMCU v3 geflasht. Soweit, so gut.
                  Ich habe hier ein EasyMeter Q3M und habe dazu einen passenden IR-Lesekopf, welcher RS232 spricht (Lingg Janke 87220).
                  Die PIN-Belegung sieht hierbei wie folgt aus:
                  ir.PNG
                  Hier ist schonmal die erste Fehlerquelle, wie ich auf den Western-Stecker schauen muss, damit die PIN-Reihenfolge passt. Ich gehe mal davon aus, dass der die Frontalansicht mit Kabel nach unten gemeint ist, dann passen immerhin die Adernfarben (rot = V, schwarz = GND, grün = RxD, gelb = TxD).
                  oder ist hier der Blick "von vorne" gemeint?
                  ir2.PNG
                  Dann wäre gelb = V, grün = GND, schwarz = RxD, rot = TxD.

                  Das Ganze habe ich mit einem RS232-to-TTL-Adapter verbunden und wie folgt verkabelt:
                  frage.PNG
                  Könnte ich hier auch direkt die seriellen PINs auf der NodeMCU nehmen oder grille ich mir da was mit 5 Volt? Wie hiesse dieser "RX" Pin (auf der NodeMCU rechts der dritte von unten) in Tasmota?

                  Momentan erhalte ich nur Null-Werte. auch auf der Konsole. Ich habe aber viele potentielle Fehlerquellen:

                  1. ist die Belegung des Western-Steckers von mir richtig interpretiert?
                  2. Ist die Belegung der RS232-Steckers richtig interpretiert? Habe auch schon PIN 2 verwendet. Auf der Platine ist aber female montiert, nicht male.
                  3. Ich muss von RX auf dem TTL-Board zum NodeMCU, richtig?
                  4. PIN "D7" ist im Script schon als "PIN13" zu bezeichnen, oder bezeichne ich den mit D7?

                  Ich wäre ja schon froh, wenn ich überhaupt Daten hereinkommen sähe, um die passende Formatierung kann ich mich danach ja kümmern.
                  Vielleicht kann ja einer das Brett vor meinem Kopf nehmen 🙂
                  Danke!

                  1 Reply Last reply Reply Quote 0
                  • Holger Etzel
                    Holger Etzel last edited by

                    Hallo,
                    als Neuling habe ich überhaupt keine Ahnung wie man flashed mit Atom. Vielleicht kann einer mal eine Beschreibung geben was genau zu tun ist. Die diversen Dateien ändern bekomme ich gerade noch so hin.
                    Wie geht es dann weiter, Wie ist die Vorgehensweise im Programm?
                    Gruß
                    Holger

                    RalfTh 1 Reply Last reply Reply Quote 0
                    • RalfTh
                      RalfTh @Holger Etzel last edited by RalfTh

                      @Holger-Etzel ich selbst habe das mit Visual Studio Code (VSC) gemacht, weil das bei mir mit Atom irgendwie nicht hingehauen hat.
                      Bei mir war das ein Wemos D1 Mini. Den habe ich über USB mit dem Rechner, auf dem VSC läuft verbunden. Dabei wird ein Com-Port erzeugt. Diesen musst du auswählen und darüber dein Gerät flashen.
                      Natürlich musst du, egal ob VSC oder Atom, gewisse Vorbereitungen bei den Editoren durchführen. Diese hat Jaschkopf in seinem Artikel beschrieben.

                      Spezifischer geht es unter den Umständen leider nicht.

                      Holger Etzel 1 Reply Last reply Reply Quote 0
                      • Holger Etzel
                        Holger Etzel @RalfTh last edited by

                        @RalfTh Die Dateien habe ich soweit geändert, wie funktioniert der Flash-Vorgang. was muss ich im VSC drücken?

                        1 Reply Last reply Reply Quote 0
                        • Holger Etzel
                          Holger Etzel last edited by

                          Hallo, als neuling versuche ich schon seit etlichen Stunden das ganze zu Flaschen und bekomme es nicht hin. Bin schon am verzweifeln.
                          Entweder startet das ganze nicht oder es wird geflashed., aber nichts funktioniert. Zumindest die Zählerauslesung. Wlan geht.
                          Ganz zu schweigen ist bei mir dann was zum Skript aktivieren und eingeben zu sehen.

                          Entweder habe ich die falsche Datei oder ich mache generell was falsch. Gibt es irgendwo eine flashbare Version ohne WLAN-Daten?

                          Wäre voll begeistert wenn es das gäbe

                          Gruss
                          Holger

                          RalfTh 1 Reply Last reply Reply Quote 0
                          • RalfTh
                            RalfTh @Holger Etzel last edited by

                            @Holger-Etzel So, jetzt mal der Reihe nach.

                            Hast du jetzt erfolgreich geflasht, oder nicht?
                            Aus deinem Post ist nämlich nicht mit Sicherheit zu entnehmen, welchen Stand dein Gerät hat.
                            Und gebe mal eine Info, welchen Zählertyp du hast, weil man in der Sektion >M nämlich entsprechende Anpassungen machen muss.

                            Holger Etzel 1 Reply Last reply Reply Quote 0
                            • Holger Etzel
                              Holger Etzel @RalfTh last edited by Holger Etzel

                              @RalfTh also ich komme zumindest mit der IP auf den tasmota. da ich mich mit dem Thema flashen nicht so auskenne kann ich nicht sagen ob ich alles richtig gemacht habe. Habe alles nach der Anleitung im ersten Post gemacht.

                              Zählertyp muss ich heute abend mal nachsehhen.

                              RalfTh 1 Reply Last reply Reply Quote 0
                              • RalfTh
                                RalfTh @Holger Etzel last edited by

                                @Holger-Etzel Es kann dir allerdings keiner weiterhelfen, wenn du nicht mal ein Bild oder eine Typenbezeichnung deines Zählers sendest. Wenn du nämlich so was siehst

                                2533aa5a-3e25-468e-8628-8fdbce001f55-image.png

                                dann musst du das Skript unter dem Menüpunkt Einstellungen und dann Skript konfigurieren eingeben.

                                >D
                                s1="Tagesverbrauch: {m}<b><span style="
                                v2=0
                                hr=0
                                md=0
                                yr=0
                                ;Strom
                                sm=0
                                sd=0
                                sma=50263.000
                                smn=0
                                sya=49239.000
                                syn=0
                                sspr=0.2502
                                yspr=0
                                ysgp=104.16
                                y€=0
                                
                                >T
                                v2=SML#DJ_TPWRIN
                                
                                >B
                                ->sensor53 r
                                tper=10
                                
                                >S
                                ;Tagesverbrauch
                                hr=hours
                                if chg[hr]>0
                                and hr==0
                                and v2>0
                                then
                                sm=v2
                                svars
                                endif
                                if upsecs%tper==0{
                                sd=v2-sm
                                }
                                
                                ;Monatsverbrauch
                                md=day
                                if chg[md]>0
                                and md==1
                                and v2>0
                                then
                                sma=v2
                                svars
                                endif
                                if upsecs%tper==0{
                                smn=v2-sma
                                } 
                                
                                ;Jahresverbrauch
                                yr=year
                                if chg[yr]>0
                                and hr==0
                                and md==1
                                and v2>0
                                then
                                sya=v2
                                svars
                                endif
                                if upsecs%tper==0{
                                syn=v2-sya
                                ;Kosten
                                yspr=syn*sspr+ysgp
                                }
                                
                                >J
                                ,"Verbrauch Tag":"%sd%"
                                ,"Verbrauch Monat":"%smn%"
                                ,"Verbrauch Jahr":"%syn%"
                                ,"Zählerstand 0:00Uhr":"%3sm%"
                                ,"Zählerstand Monatsanfang":"%2sma%"
                                ,"Zählerstand Jahrsenanfang":"%2sya%"
                                
                                >W
                                
                                ==============
                                
                                Tagesverbrauch:  {m} %2sd%  KWh
                                
                                Monatsverbrauch: {m} %2smn% KWh
                                
                                Jahresverbrauch: {m} %2syn% KWh
                                
                                ==============
                                
                                Preis/kWh:       {m} %4sspr% €
                                
                                Grundpreis:      {m} %2ysgp% €
                                
                                --------------
                                
                                Kosten lfd. Jahr:{m} %2yspr% €
                                
                                ==============
                                
                                Zählerstände:
                                
                                aktuell:         {m} %2v2% KWh
                                
                                0:00 Uhr:        {m} %2sm% KWh
                                
                                Monatsanfang:    {m} %2sma% KWh
                                
                                Jahresanfang:    {m} %2sya% KWh
                                
                                ==============
                                
                                
                                >M
                                
                                +1,13,s,16,9600,SML
                                
                                1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,2
                                
                                1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,2
                                
                                1,770701000f0700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0
                                
                                1,77070100000009ff@#,Zaehler Nr,,Meter_number,0
                                
                                #
                                

                                Besonders für den letzten Teil, ab >M, ist es wichtig, welchen Stromzähler du hast sonst geht da gar nichts.

                                1 Reply Last reply Reply Quote 0
                                • F
                                  Feinfinger last edited by

                                  N’Abend zusammen,

                                  Erstmal danke für das tolle Tutorial, hab den Lesekopf in Betrieb und er liefert fleißig Daten.

                                  Hab jetzt aber den ganzen Thread durchgearbeitet und keine Möglichkeit gefunden, die Werte für den Jahresverbrauch zu ändern. Dort steht jetzt mein aktueller Zählerstand, was natürlich etwas hoch ist. Gibt es überhaupt eine Möglichkeit, diese Werte beim Start anzugeben?

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

                                    @Feinfinger Ich habe mir das mittlerweile alles in ein Blockly geschrieben und berechne dort. Das hat auch den Vorteil, dass du noch flexibler bist und die Daten Aufzeichnen kannst.

                                    Reicht dir das Skript aus, dann kannst du im Script ganz oben in der Variablen sya den Zählerwert deiner letzten Abrechnung eingeben (falls ungerade Werte bitte das "," durch "." ersetzen.)

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

                                      Hallo zusammen ,
                                      erst mal danke für die Anleitung .

                                      Mein Zähler ist ein MT691
                                      MT691.png
                                      Funktioniert soweit alles nur ich bekomme leider nur den Zählerstand und den Verbrauch ausgelesen.

                                      Wenn ich logge bekomme ich folgenden Code :

                                      13:49:48 : 77 07 01 00 60 32 01 01 01 01 01 01 04 49 53 4b 01 
                                      13:49:48 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 49 53 4b 00 04 20 2f f5 01 
                                      13:49:48 : 77 07 01 00 01 08 00 ff 65 00 1d 69 04 01 62 1e 52 ff 65 09 e4 ad aa 01 
                                      13:49:48 : 77 07 01 00 10 07 00 ff 01 01 62 1b 52 00 53 fd cd 01 01 01 63 55 f7 00 76 05 0e cc 8d 4b 62 00 62 00 72 63 02 01 71 01 63 29 cc 00 00 00 1b 1b 1b 1b 1a 02 80 
                                      13:49:49 : 8a 1b 1b 1b 1b 01 01 01 01 76 05 0e cc 8d 4c 62 00 62 00 72 63 01 01 76 01 01 05 04 ee d9 c4 0b 0a 01 49 53 4b 00 04 20 2f f5 
                                      13:49:49 : 72 62 01 65 04 ee dc 6e 01 63 43 f9 00 76 05 0e cc 8d 4d 62 00 62 00 72 63 07 01 
                                      13:49:49 : 77 01 0b 0a 01 49 53 4b 00 04 20 2f f5 07 01 00 62 0a ff ff 72 62 01 65 04 ee dc 6e 74 
                                      13:49:49 : 77 07 01 00 60 32 01 01 01 01 01 01 04 49 53 4b 01 
                                      

                                      Kann es sein das der nicht mehr ausspuckt ?

                                      lG TheDuke

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        MyMeyer last edited by MyMeyer

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

                                        Lesekopf (Volkszähler

                                        Hi, welchen Lesekopf kann ich von Volkszähler nehmen ? USV ,RS232 TDL oder welche Version ist die Richtige ? NodeNCU ist bereits vorhanden. 5V kommen direkt aus dem Sicherungskasten. Nur beim Lesekopf tue mich schwer. Erst wollte ich eine zusammenbauen , aber jetzt möchte ich doch ein fertiges Gerät kaufen.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MyMeyer last edited by MyMeyer

                                          Hallo, habe jetzt den Volkszähler zusammen gebaut und alles angeschlossen inkl. Flash.
                                          Ich habe folgenden Zähler: Iskra MT175 SML

                                          Script sieht so aus:

                                          >D
                                          >B
                                          ->sensor53 r
                                          tper=10
                                          >M
                                          +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
                                          #
                                          

                                          Leider kommt nichts an.

                                          Hier mein Log:


                                          16:53:25 CMD: sensor53 d1
                                          16:53:25 MQT: stat/Stromzähler_V2/RESULT = {"Time":"2020-08-15T16:53:25","SML":{"CMD":"dump: 1"}}
                                          16:53:31 MQT: tele/Stromzähler_V2/STATE = {"Time":"2020-08-15T16:53:31","Uptime":"0T00:00:59","UptimeSec":59,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":99,"MqttCount":1,"Wifi":{"AP":1,"SSId":"FRITZ-Smart","BSSId":"2A:E8:29:67:35:2D","Channel":1,"RSSI":100,"Signal":-34,"LinkCount":1,"Downtime":"0T00:00:03"}}
                                          16:53:31 MQT: tele/Stromzähler_V2/SENSOR = {"Time":"2020-08-15T16:53:31","SML":{"DJ_TPWRIN":0.000,"DJ_TPWROUT":0.000,"DJ_TPWRCURR":0.000}}
                                          16:53:41 MQT: tele/Stromzähler_V2/STATE = {"Time":"2020-08-15T16:53:41","Uptime":"0T00:01:09","UptimeSec":69,"Heap":21,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":99,"MqttCount":1,"Wifi":{"AP":1,"SSId":"FRITZ-Smart","BSSId":"2A:E8:29:67:35:2D","Channel":1,"RSSI":100,"Signal":-34,"LinkCount":1,"Downtime":"0T00:00:03"}}
                                          16:53:41 MQT: tele/Stromzähler_V2/SENSOR = {"Time":"2020-08-15T16:53:41","SML":{"DJ_TPWRIN":0.000,"DJ_TPWROUT":0.000,"DJ_TPWRCURR":0.000}}
                                          16:53:51 MQT: tele/Stromzähler_V2/STATE = {"Time":"2020-08-15T16:53:51","Uptime":"0T00:01:19","UptimeSec":79,"Heap":21,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":99,"MqttCount":1,"Wifi":{"AP":1,"SSId":"FRITZ-Smart","BSSId":"2A:E8:29:67:35:2D","Channel":1,"RSSI":100,"Signal":-33,"LinkCount":1,"Downtime":"0T00:00:03"}}
                                          16:53:51 MQT: tele/Stromzähler_V2/SENSOR = {"Time":"2020-08-15T16:53:51","SML":{"DJ_TPWRIN":0.000,"DJ_TPWROUT":0.000,"DJ_TPWRCURR":0.000}}

                                          521f135a-c1a6-4fdb-ac38-998b8b4c9aff-image.png
                                          kann ich irgentzwie die Diode testen ? Vielleicht habe ich ja beim zusammen löten nicht sauber (zu heiss) gearbeitet. 😞

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            Jaschkopf @MyMeyer last edited by

                                            @MyMeyer Du kannst den Lesekopf mit einem FTDI Adapter am Computer direkt testen. Wenn der Lesekopf mit 1cm Abstand über einem weißen Blatt Papier liegt und du Daten sendest, sollte er durch die Reflektion auf dem Papier den identischen Wert zurück lesen. So kannst du einen Hardwarefehler ausschließen.

                                            Gruß Jaschkopf

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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