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.
    • 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
                • 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 viel besser aus.

                  ac65552e-ed0f-4d28-94d2-99f2b00d8b14-grafik.png

                  Habe aber auch noch diese Parameter mit compeliert
                  USE_SML_M
                  USE_SCRIPT_JSON_EXPORT
                  USE_SCRIPT_WEB_DISPLAY
                  SML_MAX_VARS n
                  USE_SML_SCRIPT_CMD
                  SML_REPLACE_VARS
                  Danke

                  Chaot RalfTh 2 Replies Last reply Reply Quote 0
                  • Chaot
                    Chaot @testpaul999 last edited by

                    Ich habe mal eine allgemeine Frage:
                    Nach dem Wechsel meines Stromzählers habe ich mir einen TTL Lesekopf über Ebay (Hichi HB0014) besorgt. Da sich die Zähler in einem Nachbarraum befinden würde ich gerne den Wemos im anderen Raum platzieren. Hat jemand Erfahrung wie lange ich das Kabel zum TTL Lesekopf machen kann wenn ich geschirmte Kabel verwende?
                    Ich müsste so ca. 6-7 m Kabellänge erreichen.

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

                      @testpaul999 Das sieht doch aber jetzt gut aus, oder?

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

                        @ralfth
                        Guten Morgen,
                        Jain.
                        Es werden irgendwie keinen Daten geschrieben.
                        Tagesverbrauch und 0:00 Uhr.
                        BE22BCB7-A5FF-4410-BDE5-A3063D929230.jpeg

                        Warum?

                        Danke

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

                          @testpaul999 Der Fehler kann eigentlich nur in der Ermittlung des Tageserbrauchs liegen, da hier beide Werte genau um 0:00 Uhr ermittelt werden. ich poste dir noch mal diese Stelle aus meinem Script. ```

                          >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
                          }
                          

                          v2 wird ja regelmäßig aktualisiert, das sieht man in deiner Anzeige. Die Variable sm erhält nicht den Wert von v2 und damit wird sd immer mit dem Wert von v2 (aktueller Zählerstand) gesetzt. Kopiere es mal und ersetze die Stelle in deinem Script. Sonst fällt mir auch nichts mehr ein.

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

                            @ralfth

                            Thx 🙂
                            Habe den Teil ausgetauscht.
                            Schauen wir mal morgen früh.

                            Schönes WE.

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

                              @ralfth

                              😞 tja irgendwie scheint es alles nicht zu funktionieren.
                              Leider auch heute kein wert für 0:00 Uhr.

                              Aber danke für Deine Unterstützung.

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

                                @ralfth
                                Hi 🙂 also für mich habe ich jetzt ein funktionierendes setup gefunden.

                                
                                >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
                                endif
                                
                                

                                Ich habe die Geschweiften Klammern durch „then“ und „endif“ ersetzt und es klappt. Natürlich auch in den anderen Berechungen.

                                Danke für die Unterstützung

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

                                  @testpaul999 Super das freut mich. Da hat sich evtl. die Scriptsprache etwas geändert. Wo hast du die Lösung gefunden?

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

                                    @ralfth
                                    Hallo,

                                    Im Endeffekt habe ich das hier getestet.
                                    https://tasmota.github.io/docs/Smart-Meter-Interface/#hager-ehz363-sml-with-daily-values
                                    Und so klappt es dann halt auch.

                                    Grüße

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

                                      @testpaul999 Super und Danke für den Hinweis. Das kann auch anderen Mitgliedern hilfreich sein.

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

                                        @ralfth Ich benötige mal eure Hilfe.
                                        Ich nutze einen Wemos D1 Mini mit Tasmota 9.5.0
                                        SML wurde in der Firmware aktiviert.
                                        Lesekopf ist ein Hichi IR TTL (Ebay)
                                        Zähler ist ein EFR SGM-C4 4A920L
                                        Pin ist eingegeben und der Zähler zeigt auch Werte.

                                        Am Wemos wurden PIN TX und RX genutzt und bei Tasmota wurde
                                        RX - Serial RX
                                        TX - Serial TX eingestellt.

                                        Leider habe ich ab jetzt keine Ahnung mehr wie es weitergehen kann.
                                        Ich lese hier immer das man Rohdaten auslesen kann, aber leider habe ich keine Ahnung wie das gehen soll
                                        (über Konsole? Mit welchem Kommando?)

                                        Fertige Scripts scheint es für den Zählertyp nicht zu geben.
                                        Ich habe das hier zum Testen in Verwendung obwohl ich keine Ahnung habe was das macht:

                                        >D
                                        >>B
                                        >->sensor53 r
                                        >>M
                                        >+1,3,s,1,9600,SML
                                        >1,77070100010801ff@1000,Verbrauch,KWh,DJ_TPWRIN,3
                                        >1,77070100010801ff@1000,Einspeisung,KWh,DJ_TPWROUT,3
                                        >1,77070100010801ff@1000,Akt. Verbrauch,W,DJ_TPWRCURR,3
                                        >#
                                        
                                        @Jaschkopf  Kannst du mit den Zählerinfos was anfangen?
                                        https://www.mit-n.de/fileadmin/user_upload/Dateien/Messwesen/Messwesen_Strom/EFR-SGM-C4-Produkthandbuch.pdf
                                        RalfTh 1 Reply Last reply Reply Quote 0
                                        • RalfTh
                                          RalfTh @Chaot last edited by RalfTh

                                          @chaot Moin moin
                                          Mein Setup basiert auf einem anderen Softwarestand von Tasmota als auch anderer Hardware. Ich habe den Wemos D1(mit Tasmota 8.1.0.4) und mittlerweile einen EZH Zweirichtungszähler.

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

                                          Gnd, +3,3V und Rxd des Volkszählers an GPIO13(D7) des D1 Mini angeschlossen.

                                          26374a0f-3376-4db4-adb7-1816a867f15e-image.png

                                          Skriptteil:

                                          M

                                          +1,13,s,1,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,77070100000009ff@#,Zaehler Nr,,Meter_number,0

                                          Was mir auffällt, ist der Unterschied in der ersten Zeile der Sektion M (Fett markiert). Ich glaube mich zu erinnern, dass dies PIN 13(D7) angibt. Versuch vielleicht einmal einfach dieses Setup und schau was passiert.

                                          Wenn du die Konsole aufrufst, kannst du mit dem Befehl "sensor53 d0" den Dump einschalten und mit "sensor53 d0" wieder ausschalten.

                                          Auszug aus dem Ursprungspost:
                                          Der Lesekopf muss dann an +3,3V, GND und RX an Pin 13 des ESP angeschlossen werden.
                                          Was der Scripter noch alles kann ist im Wiki von Tasmota sehr gut beschrieben:
                                          https://github.com/arendst/Tasmota/wiki/smart-meter-interface
                                          https://github.com/arendst/Tasmota/wiki/Scripting-Language

                                          Grüße Ralf

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

                                            @ralfth Danke für die Tips.
                                            Irgendwas scheint da im Argen zu liegen.
                                            Offensichtlich kommt schon mit

                                            sensor53 d1
                                            

                                            überhaupt nichts an.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            418
                                            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
                                            166323
                                            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