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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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.
    • da_Woody
      da_Woody @toki1973 last edited by da_Woody

      @toki1973 hrnz. geht das nicht ohne, das ich das erst nachher eintrage auf der oberfläche? wenn ich den nach dem flashen aufrufe kann ich doch WLAN konfigurieren...

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

        @da_woody Nimm doch einfach die fertige, offizielle sensors.bin...?

        Alternativ gerade gleiches Thema...wie du online deine eigene Tasmota-Version erstellst.
        https://forum.iobroker.net/topic/40700/tasmota-bmp280-am-wemos-d1-liefert-keine-werte/47

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

          @oberfragger oi, thnx! werd ich mal belinsen...

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

            Hallo,

            für meinen da ich schon meine Pv Anlage in ioBroker habe, dachte ich mir ich baue mir auch noch den Leseadaper für den Stromzähler ein.
            Stromzäjler ist dieser: https://www.heider-energie.de/attachments/article/165/Handbuch_Norax3D.pdf

            Als Lesekopf habe ich diesen von Hicham: https://www.ebay.de/itm/313460034498?ul_noapp=true

            So weit so gut. Ich hab es erst mit ESPEasy versucht, aber die Verbindung war nicht gut, also dann Tasmota.
            Da beginnt das Drama - Windows aufgemacht (bin Linux User) und Atom sowie PlatformIO installiert und wie in der Anleitung versucht die entsprechenden Dateien zu kompilieren.
            Erste Hürde die Tasmota Version und die entsprechenden Dateien sehen nicht mehr so aus wie in der Beschreibung, da inzwischen einige Updates gelaufen sind. Die Links passen auch nicht mehr so wirklich.
            Kompilieren klappte noch leidlich, aber hochladen wollte Platformio es nicht.
            Das Programm wollte mit Com5 verbinden, obwohl ich Com3 angegeben hatte. Also den ganzen Windows Kram verflucht und Tasmota mit dem Tasmotizer mit einer Bin von hier http://ota.tasmota.com/tasmota/release/
            geflasht.
            Das funktioniert auch soweit, dass ich den ESP8266 ansprechen kann und er auch im Mqtt im ioBroker auftaucht.
            Nur fehlt mir jetzt die Möglichkeit mit dem Sensor zu kommunizieren, ein Script kann ich auch nicht eingeben.
            Kann mir jemand eine Bin erstellen die dann flashen kann?

            C treff and NIX 2 Replies Last reply Reply Quote 0
            • C
              c1olli @c1olli last edited by

              Ich habe den Stromzähler nun direkt mit dem Raspi verbunden und es läuft.
              Also bleibt es jetzt so.

              1 Reply Last reply Reply Quote 0
              • treff and NIX
                treff and NIX @c1olli last edited by

                @c1olli In der Anleitung des ersten Posts ist es noch eine ältere Tasmota version. Daran habe ich mich auch bereits verzweifeln lassen.
                Mit folgenden Einstellungen hat es aber nun funktioniert.

                Zuerst bearbeiten wir die Datei „tasmota/my_user_config.h“. Dort müssen folgende Änderungen gemacht werden:
                Zeile 39:
                ALT: //#define USE_CONFIG_OVERRIDE
                NEU: #define USE_CONFIG_OVERRIDE

                Nicht mehr nötig.
                So wie ich verstanden habe wird abgefragt ob diese Datei vorhanden ist oder nicht.
                738ee07b-b174-4b71-a956-6ab8286f7d52-image.png

                anschließend musste die use_config_override_sample.h umbenannt werden ->use_config_override.h

                Anschließend muss vor der letzten #endif Zeile folgendes eingtragen werden

                // -- Timezone ------------------------------------
                #undef APP_TIMEZONE 1
                #define APP_TIMEZONE 99
                
                // -- Serial sensors ------------------------------
                // Add support für Smart Message Language
                // (SmartMetering für Stromzähler xsns_53_SML.ino)
                #undef USE_SML_M
                #define USE_SML_M
                
                // -- WEB_Display --------------------------
                #define USE_SCRIPT_WEB_DISPLAY
                //--Rules oder Scripter benutzen: -----------------
                //um rules zu verwenden gar nichts tun
                // -- um scripter zu verwenden
                #undef USE_RULES
                #define USE_SCRIPT
                

                0613854e-3081-4bec-becd-7f3f57f8526e-image.png

                Bitte nicht an den Zeilennummer orientieren.
                Zum Schluß Build und fertig.

                treff and NIX 1 Reply Last reply Reply Quote 0
                • treff and NIX
                  treff and NIX @treff and NIX last edited by

                  Hallo zusammen,

                  danke für die Anleitung. Leider habe ich noch einige Schwierigkeiten und hoffe mir kann jemand behilflich sein.

                  Folgende Situation.

                  • Leskopf: https://www.ebay.de/itm/313460034498

                  • Zähler Iskra MT681 https://www.lackmann.de/sites/default/files/2018-09/MT681_2016_schräg.png

                  • China Kopie Wemos D1

                  Script:

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

                  Nach ersten Schwierigkeiten konnte ich die neueste Tasmota version mit SML Unterstützung die Firmware bauen.
                  2be05509-51af-4954-a56c-8e2b47fbb02b-image.png

                  Ich habe die Pins so angelötet:
                  GND-> Wemos GND
                  VCC->Wemos 5V
                  TX-> Wemos TX
                  RX-> Wemos RX
                  443ffc26-ab82-4143-88d0-eda868ebf4ae-image.png

                  Leider erhalte ich keine Rohdaten mit sysnsor53 d1, ich habe auch versucht mit einer IR Fernbedienung "Daten" zu erzeugen um zu prüfen ob etwas ankommt.

                  Kann mir jemand einen Tipp geben wo ich noch angreifen kann ?

                  Vielen Dank

                  TheDuke C 3 Replies Last reply Reply Quote 0
                  • TheDuke
                    TheDuke @treff and NIX last edited by

                    @treff-and-nix

                    mit deinen Daten (skript) bekomme ich auch keine Ausgabe.
                    Versuch mal meine :

                    >D
                    >B
                    =>sensor53 r
                    >M 1
                    +1,13,s,0,9600,Strom
                    1,=h=================|
                    1,77070100010800ff@1000,Verbrauch gesamt,KWh,Total_in,2
                    1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                    1,=h=================|
                    
                    
                    #
                    
                    treff and NIX 1 Reply Last reply Reply Quote 0
                    • treff and NIX
                      treff and NIX @TheDuke last edited by

                      @theduke Danke, ich habe es getestet, leider funktioniert es nicht.
                      Ich habe den IR Kopf von TX an Wemos TX und von RX an Wemos RX angeschlossen, Müsste Ja PIN 21 und 22 sein. Leider erhalte ich hier keine Daten, auch keine Daten von einer IR Fernbedienung.

                      Ich habe mal den IR Kopf an ein Raspi 2 angeschlossen und geprüft ob er funktioniert, konnte "Daten" von einer IR Fernbedienung empfangen.

                      Hat jemand noch weitere Ideen ?

                      da_Woody 1 Reply Last reply Reply Quote 0
                      • da_Woody
                        da_Woody @treff and NIX last edited by

                        @treff-and-nix IMHO sollten rx und tx aber schon ausgekreuzt sein...

                        treff and NIX 1 Reply Last reply Reply Quote 1
                        • treff and NIX
                          treff and NIX @da_Woody last edited by

                          @da_woody ja so kenne ich das auch, in der Anleitung stand aber mehrmals das man es hier nicht machen soll. Ich habe es auch auf dem Raspi2 so getestet, hat funktionert. Ich möchte es aber gern mit dem ESP auf Tasmota betreiben

                          1 Reply Last reply Reply Quote 0
                          • C
                            c1olli @treff and NIX last edited by

                            @treff-and-nix
                            Hast Du das Kabel nach unten oder oben geführt?
                            Denn so wie auf dem Bild muß das Kabel oben sein.
                            Also den Sensor ggf. mal um 180° drehen.

                            1 Reply Last reply Reply Quote 1
                            • testpaul999
                              testpaul999 last edited by

                              @RalfTh

                              ich habe einen Zähler eHZ Generation K.
                              Dein Script habe ich angepasst und bekomme "nur2 diese Anzeige.

                              bf42bdd4-13a8-41c0-85c0-b93f887ebb70-grafik.png

                              Wieso werden mir die anderen Daten wie Kosten usw. nicht angezeigt?

                              Das Script sieht jetzt so aus.

                              >D
                              
                              s1="Tagesverbrauch: {m}<b><span style="
                              
                              v2=0
                              
                              hr=0
                              
                              md=0
                              
                              yr=0
                              
                              ;Strom
                              
                              sm=0
                              
                              sd=0
                              
                              sma=111.000
                              
                              smn=0
                              
                              sya=222.000
                              
                              syn=0
                              
                              sspr=0.251601
                              
                              yspr=0
                              
                              ysgp=71.09
                              
                              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,3,s,16,9600,eHZ
                              
                               
                              
                              1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,1
                              
                               
                              
                              1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,1
                              
                               
                              
                              1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,1
                              
                               
                              
                              1,77070100000009ff@#,Zaehler Nr,,Meter_number,0
                              
                               
                              
                              #
                              

                              Danke für Deine Hilfe
                              JUF

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

                                @testpaul999
                                Moin, moin.
                                So auf Anhieb kann ich dir das nicht sagen. Durch die vielen Leerzeichen sieht das Skript auch nicht mehr besonders strukturiert aus. Am besten vergleichst du noch mal beide Skripte direkt miteinander. Es könnte auch sein, dass du beim Anpassen ein wichtiges Zeichen gelöscht hast. Der Teil zum Auslesen des Zählers funktioniert einwandfrei, d.h. das Skript versteht sich mit deinem Zähler. Dein Fehler liegt voraussichtlich bei der Ausgabe, weil von all den, im Skript berechneten, Dingen nichts angezeigt wird.

                                Bei mir läuft das Skript unter Tasmota 8.1.0.4 einwandfrei.

                                Viel Erfolg bei der Fehlersuche.

                                Ralf

                                testpaul999 2 Replies Last reply Reply Quote 0
                                • C
                                  c1olli @treff and NIX last edited by c1olli

                                  Falscher Post

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

                                    @ralfth

                                    Hi,

                                    also das script rennt auch mit 9.x
                                    Entscheidender Hinweis ist, das diese beiden Parameter mit in die Firmware gehören.

                                    J
                                    The lines in this section are published via MQTT in a JSON payload on TelePeriod. Requires compiling with
                                    #define USE_SCRIPT_JSON_EXPORT.

                                    W
                                    The lines in this section are displayed in the web UI main page. Requires compiling with
                                    #define USE_SCRIPT_WEB_DISPLAY.

                                    Zusammen damit
                                    #ifndef USE_SML_M

                                    #define USE_SML_M

                                    #endif

                                    Neu Compeliert und OTA Update und schon..
                                    1f258b0f-d681-4d3d-b064-9f777c5ea920-grafik.png

                                    Danke...

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

                                      @ralfth

                                      Hallo,

                                      Ich nochmal.
                                      Nachdem ich die Daten jetzt auf dem Web-Ui habe, musste ich leider feststellen, dass irgendwie das summieren nicht hinhaut.
                                      92C99582-3F7C-4F52-A01E-7B0C7B49E6C7.png

                                      Die Werte 0:00 Uhr werden nicht geschrieben und dadurch stimmen auch die Werte Tages/Monat und Jahresverbrauch nicht.

                                      Das aktuelle script

                                      
                                      >D
                                      rssi=0
                                      s1="Tagesverbrauch: {m}<b><span style=>"
                                      v2=0
                                      hr=0
                                      md=0
                                      yr=0
                                      ;Strom
                                      p:sm=0
                                      sd=0
                                      p:sma=0
                                      smn=0
                                      p:sya=0
                                      syn=0
                                      sspr=0.2516
                                      yspr=0
                                      ysgp=71.09
                                      y€=0
                                       
                                      >T
                                      v2=SML#DJ_TPWRIN
                                      rssi=Wifi#RSSI 
                                       
                                      >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":"%2sm%"
                                      ,"Zählerstand Monatsanfang":"%2sma%"
                                      ,"Zählerstand Jahrenanfang":"%2sya%"
                                      ,"Kosten dieses Jahr":"%2yspr%"
                                       
                                      >W
                                      ==============
                                      WLAN Empfang: {m}%rssi%
                                      ==============
                                      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,16,9600,SML
                                      1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,2
                                      1,77070100020800ff@1000,Einspeisung,KWh,DJ_TPWROUT,2
                                      1,77070100100700ff@1,Akt.Verbrauch,W,DJ_TPWRCURR,0
                                      1,=h==============
                                      1,77070100000009ff@#,Zaehler Nr,,Meter_number,0
                                      
                                      #
                                      
                                      

                                      Danke für jedwede Unterstützung 🙂
                                      Jens

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

                                        Moin,

                                        ich bin jetzt nicht der Spezialist beim Scripting.

                                        Weshalb sin in deinem Script unter ">D" die Variablen sm, sma und sya mit einem "p:" versehen?

                                        Bei der Berechnung der Werte konnte ich keinen Fehler finden, wobei ich nur den Tagesverbrauch geprüft habe.

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

                                          @ralfth

                                          Danke für das Feedback.
                                          Leider habe ich noch weniger Ahnung vom Scripten.
                                          Welche Bedeutung hat p:?
                                          Permanent?

                                          Danke

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

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

                                            @ralfth

                                            Danke für das Feedback.
                                            Leider habe ich noch weniger Ahnung vom Scripten.
                                            Habe mal p: raus genommen.. 🙂
                                            Sieht vile besser aus.
                                            Danke

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            690
                                            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
                                            165187
                                            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