Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Stromzähler per Sonoff ESP8266 auslesen

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

      Hallo Zusammen!

      Ich versuche (erfolglos) meinen Iskra AM550 mit dem Tasmoat WiFi-ESP und dem IR-Lesekopf von bitShake auszulesen.

      Zur Situation: das Lese-/WiFi-Modul funktioniert einwandfrei an einem EMH eBZD-W23E8 Stromzähler. Ich bekomme die Hex-Werte über "sensor53 d1" angezeigt und kann sie über das Tasmota-Scricpt parsen. So weit, so gut, Modul richtig verlötet und korrekte GPIO-Parameter bekannt.

      Wenn ich jetzt den Sensor an meinem (leider von meinem Stromanbieter eingebauten Exoten) Iskra AM550 anbringe, kommt mal so gar nichts an Daten mit "sensor53 d1". Ich habe mit allen möglichen Einstellungen zu Sensor-auf den-Kopf-und andersherum, Baudrate, Parität, Stop-Bits, Init-Befehl/Ack-Befehl usw probiert - nichts.

      Ich weiß zuverlässig, daß der Iskra AM550 Daten auf der IR-Schnittstelle unverschlüsselt sendet, denn mit einem anderen Sensor (Device GmbH WMBus IR-Lesekopf) bekomme ich alle 12 Sekunden einen gültigen Auslesedatensatz zugesendet. Allerdings ist mir nicht bekannt, ob diese Daten im SML- oder IEC-Format vom Zähler gesendet werden, denn laut Hersteller Device GmbH unterstützt ihr Sensor beides automatisch.

      Auf Empfehlung in GitHub habe ich sogar die neueste Software-Version auf den ESP geflasht, weil es wohl ein Problem beim SML Dump gab, welches erst vor ein paar Tagen gefixt wurde. Keine Verbesserung.

      Was ich bei der Tasmota-Lösung nicht verstehe: wenn ich das Datenformat im Tasmoat-Script auf raw setze

      +1,5,r,0,9600,Strom

      sollten doch zumindest irgendwelche Daten im Dump sichtbar sein?

      Daher meine Fragen:

      • Hat jemand bereits Erfolge mit dem Iskra AM550 und Tasmota?
      • Was kann ich tun, um wenigstens irgendwelche Daten im Tasmota zu erhalten? Das weitere Parsing ist eher kein Problem für mich.

      Ich bin etwas ratlos. Danke für Tips.

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

        Ich bin zufällig auf eine kleine Webseite gestoßen die die SML Daten, also die Rohdaten aus dem Zähler vernünftig entschlüsselt damit man sich das Script selbst zusammenklempnern kann.

        https://tasmota-sml-parser.dicp.net/

        Hat der Entwickler dort richtig fein gemacht.

        @higginsd
        Hast du den Wemos mal auf Rohdaten umgestellt?

        sensor53 d1
        

        Kommt da was was du dann in der gerade angegebenen Webseite umsetzen kannst?

        H 1 Reply Last reply Reply Quote 2
        • H
          higginsd @Chaot last edited by

          @chaot

          Ja, habe ich. Auch nach "sensor53 d1" kommt nullkommagarnichts an Output.

          Neuschwansteini 1 Reply Last reply Reply Quote 0
          • Neuschwansteini
            Neuschwansteini @higginsd last edited by

            @higginsd ist es auch d1 ? ich hab mehrere dran und da gibts auch d2 usw.. 🙂

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

              Moin,
              ich bekomme leider die Scripte nicht hin bzw. dass die Zählerstände automatisch angezeigt werden.
              Außerdem noch paar andere Sachen. Ich verwende einen ISKRA 681.

              Wie bekomme ich mindestens eine Leerzeile zwischen dem Sensor und dem Zählerstand hin?
              Warum liest er die Zählernummer nicht aus?
              Warum bekomme ich keine Netzfrequenz rein?
              Warum wird weder Spannung L1...L3 noch Strim L1...L3 angezeigt? Oder ist das nur für die Einspeisung gedacht?
              Dann muss das natürlich raus.
              efb5289d-2d8c-4d3d-90b3-678bff2ba41f-image.png

              >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.4779
              yspr=0
              ysgp=152.18
              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,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,Netzfrequenz,Hz,Freq,1
              1,=h===============|
              1,77070100000009ff@#,Zählernummer,,Meter_id,0
              1,=h===============|
              #
              

              Und hier natürlich die Teile der USER_CONFIG_OVERRIDE:

              #ifndef USE_SCRIPT
              #define USE_SCRIPT
              #endif
              
              #ifndef USE_SML_M
              #define USE_SML_M
              #endif
              
              #ifdef USE_RULES
              #undef USE_RULES
              #endif
              
              // -- Drivers  ---------------
              
              #define USE_SCRIPT_WEB_DISPLAY
              #define USE_SCRIPT_JSON_EXPORT
              
              #undef USE_EXPRESSION
              #define USE_EXPRESSION
              
              #define SUPPORT_IF_STATEMENT 
              #define USE_SML_SCRIPT_CMD
              #define SML_MAX_VARS 30
              
              #define USE_I2C
              

              Huch. Irgendwas hat er da gerade berechnet...!?!
              df7fe280-60ba-416d-9017-18f206fe3040-image.png

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

                Ich verstehe es nicht,
                wenn ich zusätzlichen Code einfüge...bekomme ich plötzlich auch Werte angezeigt...aber nicht dort wo cih was eingefügt habe.
                Hier wird plötzlich Strom L1..L3 angezeigt:
                69530024-f7c8-4074-8035-27cdc8fa4f00-image.png

                Das Script sieht nun so aus:

                >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.4779
                yspr=0
                ysgp=152.18
                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,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,77070100010800ff@1000,Gesamtverbrauch,kWh,Bezug_Gesamt,3
                1,77070100010801ff@1000,Verbrauch 1.8.1 NT,kWh,Bezug_NT,3
                1,77070100010802ff@1000,Verbrauch 1.8.2 HT,kWh,Bezug_HT,3
                1,77070100100700ff@1,Leistung,W,Power_cur,0
                1,77070100240700ff@1,Leistung P1,W,Power_p1,0
                1,77070100380700ff@1,Leistung P2,W,Power_p2,0
                1,770701004c0700ff@1,Leistung P3,W,Power_p3,0
                1,=h===============|
                1,770701000e0700ff@1,Netzfrequenz,Hz,Freq,1
                1,=h===============|
                1,77070100000009ff@#,Zählernummer,,Meter_id,0
                1,=h===============|
                #
                

                Ich habe nur diesen Code eingefgt:

                1,77070100010800ff@1000,Gesamtverbrauch,kWh,Bezug_Gesamt,3
                1,77070100010801ff@1000,Verbrauch 1.8.1 NT,kWh,Bezug_NT,3
                1,77070100010802ff@1000,Verbrauch 1.8.2 HT,kWh,Bezug_HT,3
                1,77070100100700ff@1,Leistung,W,Power_cur,0
                1,77070100240700ff@1,Leistung P1,W,Power_p1,0
                1,77070100380700ff@1,Leistung P2,W,Power_p2,0
                1,770701004c0700ff@1,Leistung P3,W,Power_p3,0
                1,=h===============|
                
                Chaot 1 Reply Last reply Reply Quote 0
                • Chaot
                  Chaot @oberfragger last edited by

                  @oberfragger Sieht so aus als würden deine SML Codes nicht stimmen.
                  Strom L1 ist offensichtlich der Zählerstand und L3 scheint der aktuelle Verbrauch zu sein.

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

                    @chaot Ich habe da gestern so eine SML-Übersetzungsseite gefunden.
                    Und beim Zusammenstellen von neuem Code erstmal den NodeMCU geschrottet 😞

                    Ist nicht mehr flashbar, erreichbar etc. So ein Mist.

                    Muss dann ein anderes Mal weitermachen.

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

                      @ilovegym

                      Ja.

                      Ich habs mittlerweile drangegeben. Der Iskra AM550 funktioniert nicht mit dem Tasmota. Trotzdem danke für die Tips.

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

                        @oberfragger Wenn das script abschmiert dann kann man oft nach ein paar Sekunden stromlos wieder auf das Teil draufkommen. Hat zumindest bei meinen ESPs oft so funktioniert.
                        Eine Übersetzungsseite habe ich erst vor ein paar Tagen hier im Tread gepostet.

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

                          @chaot bei mir leider nicht.
                          Hab auch den reset via 6 mal off und beim 7. Mal probiert, alle möglichen Knöpfe auf dem NodeMCU bei flashen gedrückt etc.
                          Faile dto read packet header... doof.

                          1 Reply Last reply Reply Quote 0
                          • D
                            DasMoritz last edited by

                            Hallo zusammen,

                            man gut das ich diesen Faden gefunden habe.
                            Ich würde gerne meine beiden Apator Norax 3D Zweirichtungszähler auslesen - das funktioniert auch fast.
                            Leider erhalte ich nur kWh Werte und keine aktuellen Verbrauchswerte, Frequenzen etc.

                            Aber der Reihe nach:

                            ESP8266 geflasht mit Tasmota gemäß "Anleitung" von @jaschkopf weiter oben und Youtube, dann im Script-Bereich für meinen Zähler gemäß Tasmota Vorgabe des Script eingetragen.

                            Ergebnis von dem was nun kommt ist folgendes:
                            fcc66c88-d5b8-40d4-bb94-5b71a05d28b5-image.png

                            Wenn ich nun unter der Console mal sensor53 d1 eingebe, dann bekomme ich dies hier:

                            17:57:47.367 : 77 07 01 00 02 08 00 ff 01 01 62 1e 52 03 69 00 00 00 00 00 00 03 6b 01 01 01 63 c6 4e 00 76 05 01 51 0e e6 62 00 62 00 
                            17:57:47.397 : 77 01 0b 0a 01 41 50 41 01 04 ec 03 73 07 01 00 62 0a ff ff 72 62 01 65 00 70 5a 4f 74 
                            17:57:47.414 : 77 07 01 00 60 32 01 01 01 01 01 01 04 41 50 41 01 
                            17:57:47.439 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 41 50 41 01 04 ec 03 73 01 
                            17:57:47.469 : 77 07 01 00 01 08 00 ff 65 00 1c 81 04 01 62 1e 52 03 69 00 00 00 00 00 00 00 07 01 
                            

                            Wenn ich das ganze mal durch den SML Dekoder schiebe, dann bekomme ich folgendes Ergebnis:

                            75745979-8e76-4acc-b8b0-359cc7ede009-image.png

                            Nun bin ich ein wenig "überfragt".
                            Kann es sein, dass ich den Stromzähler irgendwie noch dazu bringen muss, dass er "mehr" liefert oder was ist hier genau Phase? Oder habe ich trotz PIN nur einen eingeschränkten Zugriff auf den die aktuellen Werte wie z.B. Watt, Frequenz, etc.?

                            Mir kommt das auch sehr "wenig" an Daten vor. Die oben abgebildeten Daten sind eine Abfrage, es kommen dann zyklisch weitere Zeilen, aber mit dem gleichen OBIS-Hexwert.

                            Danke,
                            Moritz

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

                              @dasmoritz Bei manchen Zählern muss man noch sowas wie eine erweiterte Datenausgabe freischalten. Schau mal in die Anleitung. Da müsste das stehen.

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

                                @chaot Hallo und danke dir. Es gibt wohl einen normalen Betriebsmodus und einen erweiterten Betriebsmodus.

                                Die Ausgabe von W, A, V, Hz. usw. gibt es anscheinend nur im erweiterten Modus. Anscheinend legt aber der VNB fest, welcher Modus eingestellt wird, bei mir anscheinend nur der normale Modus und nicht der erweiterte.

                                Mist!

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

                                  @dasmoritz Na ja, oft lohnt sich auch eine höfliche Nachfrage.
                                  Die Betreiber haben nichts davon wenn Daten gesperrt werden, also dürfte das denen recht egal sein welcher Modus läuft.
                                  Was bisher hier zu lesen war scheinen die meisten Betreiber da recht bereitwillig zu sein was Freischaltungen angeht.

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

                                    @chaot Hallo, da muss ich mal kurz einhaken. Mein Versorger hat mir ohne Probleme den Code zugeschickt, allerdings ist bei mir die dauerhafte Abschaltung der Pin Abfrage deaktiviert. Das heißt für 3 Minuten kann ich im erweiterten Modus auslesen, danach fällt es zurück in den Standard Modus. Der Versorger ist auch nicht bereit es mir zu ermöglichen, da sie die Stromzähler so eingekauft haben.

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

                                      @marc_el_k Ui. Ich dachte die Versorger haben eine Pflicht die Auslesung zu ermöglichen. Nach 3 Minuten zurück ist schon -fies-.

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

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

                                        @marc_el_k Ui. Ich dachte die Versorger haben eine Pflicht die Auslesung zu ermöglichen. Nach 3 Minuten zurück ist schon -fies-.

                                        Ich habe extra beim Hersteller angerufen und tatsächlich kann man die Menü Option ausblenden lassen, damit man die Pin Abfrage nicht deaktivieren kann. Absolut bescheuert! Nun habe ich mir eine LED angebaut, die alle 2 Minuten einen Lichtimpuls setzt, damit ich im Menü "angemeldet" bleibe.

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

                                          @marc_el_k Na ja, ganz ehrlich gesagt wäre ich mit denen blitzschnell durch.
                                          Blöde Sprüche können sie dann kloppen wenn sie keine Kunden mehr haben.
                                          Verantwortlich für den Zähler ist der Messtellenbetreiber. Und den kannst du genauso schnell wechseln wie den Stromanbieter:
                                          https://www.node.energy/blog/messstellen-betreiber-wechseln
                                          Also bekäme der von mir ne kurze mail - Freigabe oder Kündigung egal was der für nen Schrott einkauft oder mit welcher Ausrede er dich abspeisen will. Man kann ja zusätzlich im Vorfeld klären ob man vom neuen Messtellenbetreiber den Wunschzähler in der erforderlichen Ausführung bekommt.

                                          Das derzeitige Konzept fällt denen spätestens dann auf die Füße wenn du einen Anbieter hast der flexiblen Tarif anbietet.

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

                                            @chaot das habe ich jetzt nicht verstanden. Was bringt mir der Wechsel zu einem anderen Stromanbieter? Der Zähler bleibt doch. Oder hab ich jetzt etwas falsch verstanden? Das was ich bräuchte ist ein Servicetechniker, der die Firmware updaten kann, damit ich die fehlenden Funktion erhalte.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            781
                                            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
                                            166381
                                            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