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.
    • Armilar
      Armilar Most Active Forum Testing @oberfragger last edited by

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

      Der hier sollte es ja tun, oder?

      Ja, den ESP kannst du auch selbst verlöten. Gibt ja genügend Anleitungen und bestenfalls wird auch dafür noch eine mitgesendet.

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

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

        Das sind dann nur 20 Euro und und mit ein wenig Glück werde ich den IR -> USB für nen 20er los.

        Naja. Sind alles keine Reichtümer, möchte nur nicht so viel ungenutzes Zeugs rumliegen haben.

        Prüfe mal mit deiner Handy Kamera, ob dein Zähler in regelmäßigen Abständen Info-Daten per SML sendet. Die meisten Zähler machen das, meist nach Eingabe einer PIN.
        Falls das der Fall ist, nimmst du einfach einen ESP8266 und einen IR-Phototransistor. Die Software dafür gibt es auf Github: https://github.com/mruettgers/SMLReader

        Der ESP sendet dann jedes Mal, wenn der Zähler die Info-Daten ausgibt die Daten per MQTT an iobroker.
        Gruß Lars

        P.S.: Falls du die Elektronik brauchst, ich habe hier noch 8 Magnetringe, ESP´s und Fotodioden rumliegen. Die 3D Druckteile könnte ich dir auch für Selbstkosten drucken. Falls Interesse PN!

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

          @armilar Hat funktioniert. Der Hichi 1.1 wurde echt schnell verschickt. Da ich sowieso einen NodeMCU da im Einsatz habe, wollte ich das ja damit auslesen.
          Jetzt das Script noch "schick" machen.
          90baf306-b93e-48b0-8d63-6347c2546a50-image.png

          Armilar 1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing @oberfragger last edited by Armilar

            @oberfragger

            Das sieht doch sehr gut aus. L1-L3 müssten eigentlich auch möglich sein. 🙄 Sind ja aktuell 0

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

              @armilar Keine Ahnung.
              Ich bekomme recht wenig Werte. Auch Netzfrequenz bekomme ich nicht rein.
              Aber wenigstens TotalIn und actual und die ZählerID.

              1 Reply Last reply Reply Quote 0
              • 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 1
                  • H
                    higginsd @Chaot last edited by

                    @chaot

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

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @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 @Guest 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            421
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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