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.
    • T
      treckerfahrer31 @Jaschkopf last edited by

      @Jaschkopf

      Wie gesagt, wenn die Leistung positiv ist >= 0 (bzw. -300) W zeigt er mir die Werte einwandfrei an. Das ist Nachts der Fall.
      Wenn tagsüber die PV Anlage läuft und ich einspeise, sprich negative Leistung, kommen diese unplausiblen Werte.

      Habe auch schon diesen Artikel gefunden (https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/dzg_dvs74), in dem ein Problem beschrieben wird, welches meiner Meinung aber anders ist, wie meins.

      Hab auch schon mal versucht, die Rohdaten manuell zu decodieren, um zu sehen ob der Fehler beim EHZ liegt, oder bei der Software, aber das scheiterte an meiner Kompetenz .

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

        @Jaschkopf
        Hallo!
        Habe mir bei Google einen Wolf gesucht um etwas brauchbares für meine NodeMCU als Pulse Counter zu finden.
        Besitze schon mehere sOnOffs mit Tasmota...

        Leider gibt es ja im Github keine flashbare Version mit SML.

        Mir gefällt deine Version von Tasmota echt super!
        Könntest du mir wohl bitte die fertige bin Datei zur Verfügung stellen?
        Ich habe einen Drehstromzähler mit S0 Schnittstelle.
        Es wäre ein Träumchen, wenn die Pulsefrequenz bei 1000 für die Anzeige sein würde. Oder kann man das per Befehl in der Konsole ändern?

        Hoffe du kannst mir weiterhelfen.
        Mit diesen ganzen Atom ino Dingens komme ich leider nicht klar 😞

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

          @Guano-Apes Servus. Also erstmal ist das nicht meine Entwicklung. Den SML Treiber hat @gemu2015 entwickelt und Tasmota ist ja bekanntlich von Theo Arends. Ich hab lediglich die Anleitung hier im Forum verfasst wobei ich da auch viele Infos dem CreationX Forum übernommen habe. Eine Fertige .bin kann ich dir leider nicht geben, da vor dem Kompilieren zu viele Einstellungen gemacht werden müssen. Aber mit dem Tutorial haben es bis jetzt alle hin bekommen.

          Da das keine Plug&Play Lösung ist, muss man sich da schon etwas mit auseinander setzen. Andere Hersteller (z.B. Homematic) nehmen für fertige Lösungen viel Geld. Wer es günstiger will, muss Eigenleistung erbringen 😉

          Was du dann für einen Zähler hast kannst du über die Weboberfläche im Skript festlegen.

          Gruß Jaschkopf

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

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

            @Guano-Apes Servus. Also erstmal ist das nicht meine Entwicklung. Den SML Treiber hat @gemu2015 entwickelt und Tasmota ist ja bekanntlich von Theo Arends. Ich hab lediglich die Anleitung hier im Forum verfasst wobei ich da auch viele Infos dem CreationX Forum übernommen habe. Eine Fertige .bin kann ich dir leider nicht geben, da vor dem Kompilieren zu viele Einstellungen gemacht werden müssen. Aber mit dem Tutorial haben es bis jetzt alle hin bekommen.

            Da das keine Plug&Play Lösung ist, muss man sich da schon etwas mit auseinander setzen. Andere Hersteller (z.B. Homematic) nehmen für fertige Lösungen viel Geld. Wer es günstiger will, muss Eigenleistung erbringen 😉

            Was du dann für einen Zähler hast kannst du über die Weboberfläche im Skript festlegen.

            Gruß Jaschkopf

            Danke für deine Antwort 🙂

            Kannst du mir auch sagen, ob es generell möglich ist, mit der von dir beschriebenen Methode auch Impluse vom s0 meines Drehstromzählers abzugreifen?
            Hier ist ja eigentlich vom D0 die Rede, das ist ja alles etwas anders...

            Leider sind auch die ganzen Links zum Wiki nicht mehr brauchbar, weil dort in Github wohl etwas geändert wurde...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            751
                                            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
                                            166193
                                            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