Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Stromzähler per Sonoff ESP8266 auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Stromzähler per Sonoff ESP8266 auslesen

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
stromzähler auslesensonoffesp8266tasmotasmld0-schnittstellevolkszählerstromzähler
562 Posts 83 Posters 206.3k Views 84 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ChaotC Chaot

    @m4
    Zwei Einstellungen noch ändern:
    In der Einstellung das serielle logging abschalten.
    in den Einstellungen die Belegung der GPIOs abschalten (wird über das Script gemacht)

    Im Script die "12" gegen die "3 "austauschen.
    Den GPIO 0 solltest du nicht nutzen. Im Zweifelsfall die beiden Kabel austauschen. Besser wäre aber wirklich den GPIO12 zu nutzen. Weil GPIO3 und 0 haben noch ein paar Sonderfunktionen die eventuell stören könnten.

    M Offline
    M Offline
    m4
    wrote on last edited by
    #381

    Ist es möglich, mehrere Leseköpfe an einen ESP zu bereiben?

    ChaotC 1 Reply Last reply
    0
    • M m4

      Ist es möglich, mehrere Leseköpfe an einen ESP zu bereiben?

      ChaotC Offline
      ChaotC Offline
      Chaot
      wrote on last edited by
      #382

      @m4 Theoretisch müsste das eigentlich funktionieren. Der Port zur Abfrage wird ja im Script bestimmt. Wenn du es also schaffst das Script so aufzubauen dass zwei oder mehrere Zähler abgefragt werden sollte das das klappen.

      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

      WebrangerW M 2 Replies Last reply
      0
      • ChaotC Chaot

        @m4 Theoretisch müsste das eigentlich funktionieren. Der Port zur Abfrage wird ja im Script bestimmt. Wenn du es also schaffst das Script so aufzubauen dass zwei oder mehrere Zähler abgefragt werden sollte das das klappen.

        WebrangerW Offline
        WebrangerW Offline
        Webranger
        wrote on last edited by
        #383

        Ich muss mal leider diesen tread missbrauchen und hoffe es kann mir jemand helfen.

        Ich habe einen wlanlesekopf mit tasmota der auch funktioniert.
        Ich habe den an meinem Wärmemengenzähler. Leider bekomme ich nur ganz komische werte und weis nicht warum das so ist.

        So wie es aussieht muss ich mit 300 baud senden und mit 2400 baud lesen. Das habe ich hier rausgefunden: http://www.sedelmaier.at/node/112#comment-51657
        Das ist auch der Zähler den ich habe.

        Mein Script sieht so aus:

        >D
        >B  
         
        =>sensor53 r  
           
        >F
        ;count 100ms   
        scnt+=1  
        switch scnt  
        case 6  
        ;set sml driver to 300 baud and send /?! as HEX to trigger the Meter   
        res=sml(1 0 300)  
        res=sml(1 1 "2F3F210D0A")  
        
        ;1800ms later \> Send ACK and ask for switching to 2400 baud  
        case 18  
        res=sml(1 1 "00000000000000000000000000000000000000000000000000000000000000000000000000000000")  
        
        ;2000ms later \> Switching sml driver to 2400 baud    
        case 20  
        res=sml(1 0 2400)   
        
        ;Restart sequence after 50x100ms    
        case 50  
        ; 5000ms later \> restart sequence    
        scnt=0  
        ends 
         
        >M 1
        +1,3,o,0,300,LUGCUH50,1
        
        1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,0
        1,1-0:1.8.0*96(@1,Verbrauch 1 Tag,KWh,total_1d,0
        1,1-0:1.8.0*97(@1,Verbrauch 7 Tage,KWh,total_7d,0
        1,1-0:1.8.0*98(@1,Verbrauch 30 Tage,KWh,total_30d,0
        1,1-0:1.8.0*99(@1,Verbrauch 365 Tage,KWh,total_365d,0
        1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,current,20
        #
        

        Was jetzt in der Console raus kommt wenn ich sensor53 d1 eingeben ist folgendes:

        Bildschirmfoto 2022-02-08 um 16.53.58.png

        Weiß zufällig jemand was da falsch ist in meinem Gedankengang?

        Gruss Danyel

        Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

        Ralla66R 1 Reply Last reply
        0
        • ChaotC Chaot

          @m4 Theoretisch müsste das eigentlich funktionieren. Der Port zur Abfrage wird ja im Script bestimmt. Wenn du es also schaffst das Script so aufzubauen dass zwei oder mehrere Zähler abgefragt werden sollte das das klappen.

          M Offline
          M Offline
          m4
          wrote on last edited by
          #384

          @chaot
          OK, ich war mir jetzt erst mal hardwaretechnisch unsicher, da es ja auf den Pinouts meist nur einen TX / RX "Kanal" gibt.
          Heißt quasi ich könnte mehrer Pins als RX belegen, TX brauchen wir ja nicht.

          Laut Tasmota doku, müsst ich scheinbar bis zu 5 definieren können:

          Declare >M section with the number of connected meters (n = 1..5):

          M <n>

          Ralla66R ChaotC 2 Replies Last reply
          0
          • WebrangerW Webranger

            Ich muss mal leider diesen tread missbrauchen und hoffe es kann mir jemand helfen.

            Ich habe einen wlanlesekopf mit tasmota der auch funktioniert.
            Ich habe den an meinem Wärmemengenzähler. Leider bekomme ich nur ganz komische werte und weis nicht warum das so ist.

            So wie es aussieht muss ich mit 300 baud senden und mit 2400 baud lesen. Das habe ich hier rausgefunden: http://www.sedelmaier.at/node/112#comment-51657
            Das ist auch der Zähler den ich habe.

            Mein Script sieht so aus:

            >D
            >B  
             
            =>sensor53 r  
               
            >F
            ;count 100ms   
            scnt+=1  
            switch scnt  
            case 6  
            ;set sml driver to 300 baud and send /?! as HEX to trigger the Meter   
            res=sml(1 0 300)  
            res=sml(1 1 "2F3F210D0A")  
            
            ;1800ms later \> Send ACK and ask for switching to 2400 baud  
            case 18  
            res=sml(1 1 "00000000000000000000000000000000000000000000000000000000000000000000000000000000")  
            
            ;2000ms later \> Switching sml driver to 2400 baud    
            case 20  
            res=sml(1 0 2400)   
            
            ;Restart sequence after 50x100ms    
            case 50  
            ; 5000ms later \> restart sequence    
            scnt=0  
            ends 
             
            >M 1
            +1,3,o,0,300,LUGCUH50,1
            
            1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,0
            1,1-0:1.8.0*96(@1,Verbrauch 1 Tag,KWh,total_1d,0
            1,1-0:1.8.0*97(@1,Verbrauch 7 Tage,KWh,total_7d,0
            1,1-0:1.8.0*98(@1,Verbrauch 30 Tage,KWh,total_30d,0
            1,1-0:1.8.0*99(@1,Verbrauch 365 Tage,KWh,total_365d,0
            1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,current,20
            #
            

            Was jetzt in der Console raus kommt wenn ich sensor53 d1 eingeben ist folgendes:

            Bildschirmfoto 2022-02-08 um 16.53.58.png

            Weiß zufällig jemand was da falsch ist in meinem Gedankengang?

            Gruss Danyel

            Ralla66R Offline
            Ralla66R Offline
            Ralla66
            Most Active
            wrote on last edited by
            #385

            @webranger

            bei der SSiD sperrt dich das System aus 🙂
            falscher AscII Code.

            WebrangerW 1 Reply Last reply
            0
            • M m4

              @chaot
              OK, ich war mir jetzt erst mal hardwaretechnisch unsicher, da es ja auf den Pinouts meist nur einen TX / RX "Kanal" gibt.
              Heißt quasi ich könnte mehrer Pins als RX belegen, TX brauchen wir ja nicht.

              Laut Tasmota doku, müsst ich scheinbar bis zu 5 definieren können:

              Declare >M section with the number of connected meters (n = 1..5):

              M <n>

              Ralla66R Offline
              Ralla66R Offline
              Ralla66
              Most Active
              wrote on last edited by
              #386

              @m4

              Mit Softwareserial kann man andere Ports benutzen, aber auch nicht alle.
              Das wird nicht mit mehreren gehen.

              1 Reply Last reply
              0
              • Ralla66R Ralla66

                @webranger

                bei der SSiD sperrt dich das System aus 🙂
                falscher AscII Code.

                WebrangerW Offline
                WebrangerW Offline
                Webranger
                wrote on last edited by
                #387

                @ralla66 was meinst du mit falschem Ascii Code?
                Kann ich den einstellen irgendwo?

                Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                Ralla66R 1 Reply Last reply
                0
                • WebrangerW Webranger

                  @ralla66 was meinst du mit falschem Ascii Code?
                  Kann ich den einstellen irgendwo?

                  Ralla66R Offline
                  Ralla66R Offline
                  Ralla66
                  Most Active
                  wrote on last edited by
                  #388

                  @webranger

                  wenn du per Softwareserial reinkommst geht das mit SerialDelimiter 128 in der Console.

                  WebrangerW 1 Reply Last reply
                  0
                  • Ralla66R Ralla66

                    @webranger

                    wenn du per Softwareserial reinkommst geht das mit SerialDelimiter 128 in der Console.

                    WebrangerW Offline
                    WebrangerW Offline
                    Webranger
                    wrote on last edited by
                    #389

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

                    SerialDelimiter 128

                    hmmm

                    also nicht einfach in der Console?

                    Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                    Ralla66R 1 Reply Last reply
                    0
                    • WebrangerW Webranger

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

                      SerialDelimiter 128

                      hmmm

                      also nicht einfach in der Console?

                      Ralla66R Offline
                      Ralla66R Offline
                      Ralla66
                      Most Active
                      wrote on last edited by
                      #390

                      @webranger
                      in der Console senden

                      WebrangerW 1 Reply Last reply
                      0
                      • Ralla66R Ralla66

                        @webranger
                        in der Console senden

                        WebrangerW Offline
                        WebrangerW Offline
                        Webranger
                        wrote on last edited by
                        #391

                        @ralla66

                        CMD: SerialDelimiter 128
                        20:59:00.946 RSL: RESULT = {"SerialDelimiter":128}

                        ändert aber nichts an der Ausgabe

                        Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                        Ralla66R 1 Reply Last reply
                        0
                        • WebrangerW Webranger

                          @ralla66

                          CMD: SerialDelimiter 128
                          20:59:00.946 RSL: RESULT = {"SerialDelimiter":128}

                          ändert aber nichts an der Ausgabe

                          Ralla66R Offline
                          Ralla66R Offline
                          Ralla66
                          Most Active
                          wrote on last edited by
                          #392

                          @webranger

                          schau mal ob die Baud stimmt, in der Console Baudrate eingeben

                          WebrangerW 1 Reply Last reply
                          0
                          • Ralla66R Ralla66

                            @webranger

                            schau mal ob die Baud stimmt, in der Console Baudrate eingeben

                            WebrangerW Offline
                            WebrangerW Offline
                            Webranger
                            wrote on last edited by
                            #393

                            @ralla66

                            das ist meine ich das Problem

                            senden 300 hab ich aber lesen muss das script mit 2400

                            und ich weis nicht ob mein script dahingehend richtig ist.

                            Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                            WebrangerW 1 Reply Last reply
                            0
                            • WebrangerW Webranger

                              @ralla66

                              das ist meine ich das Problem

                              senden 300 hab ich aber lesen muss das script mit 2400

                              und ich weis nicht ob mein script dahingehend richtig ist.

                              WebrangerW Offline
                              WebrangerW Offline
                              Webranger
                              wrote on last edited by
                              #394

                              so sieht es gerade aus:

                              >D
                              >B  
                               
                              =>sensor53 r  
                                 
                              >F
                              ;count 100ms   
                              scnt+=1  
                              switch scnt  
                              case 6  
                              ;set sml driver to 300 baud and send /?! as HEX to trigger the Meter   
                              res=sml(1 0 300)  
                              res=sml(1 1 "2F3F210D0A")  
                              
                              ;1800ms later \> Send ACK and ask for switching to 2400 baud  
                              case 18  
                              res=sml(1 1 "000000000000000000000000000000000000000000000000000000000000000000000000000000002F3F210D0A")  
                              
                              ;2000ms later \> Switching sml driver to 2400 baud    
                              case 20  
                              res=sml(1 0 2400)   
                              
                              ;Restart sequence after 50x100ms    
                              case 50  
                              ; 5000ms later \> restart sequence    
                              scnt=0  
                              ends 
                               
                              >M 1
                              +1,3,o,0,300,LUGCUH50,1
                              
                              1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,0
                              1,1-0:1.8.0*96(@1,Verbrauch 1 Tag,KWh,total_1d,0
                              1,1-0:1.8.0*97(@1,Verbrauch 7 Tage,KWh,total_7d,0
                              1,1-0:1.8.0*98(@1,Verbrauch 30 Tage,KWh,total_30d,0
                              1,1-0:1.8.0*99(@1,Verbrauch 365 Tage,KWh,total_365d,0
                              1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,current,20
                              #
                              

                              Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                              Ralla66R 1 Reply Last reply
                              0
                              • WebrangerW Webranger

                                so sieht es gerade aus:

                                >D
                                >B  
                                 
                                =>sensor53 r  
                                   
                                >F
                                ;count 100ms   
                                scnt+=1  
                                switch scnt  
                                case 6  
                                ;set sml driver to 300 baud and send /?! as HEX to trigger the Meter   
                                res=sml(1 0 300)  
                                res=sml(1 1 "2F3F210D0A")  
                                
                                ;1800ms later \> Send ACK and ask for switching to 2400 baud  
                                case 18  
                                res=sml(1 1 "000000000000000000000000000000000000000000000000000000000000000000000000000000002F3F210D0A")  
                                
                                ;2000ms later \> Switching sml driver to 2400 baud    
                                case 20  
                                res=sml(1 0 2400)   
                                
                                ;Restart sequence after 50x100ms    
                                case 50  
                                ; 5000ms later \> restart sequence    
                                scnt=0  
                                ends 
                                 
                                >M 1
                                +1,3,o,0,300,LUGCUH50,1
                                
                                1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,0
                                1,1-0:1.8.0*96(@1,Verbrauch 1 Tag,KWh,total_1d,0
                                1,1-0:1.8.0*97(@1,Verbrauch 7 Tage,KWh,total_7d,0
                                1,1-0:1.8.0*98(@1,Verbrauch 30 Tage,KWh,total_30d,0
                                1,1-0:1.8.0*99(@1,Verbrauch 365 Tage,KWh,total_365d,0
                                1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,current,20
                                #
                                
                                Ralla66R Offline
                                Ralla66R Offline
                                Ralla66
                                Most Active
                                wrote on last edited by
                                #395

                                @webranger

                                Baud kannste ja setzen mit Baudrate 2400, dahinter mal SerialSend5 senden.
                                Sonst wüsste ich auch keinen Rat mehr.

                                WebrangerW 1 Reply Last reply
                                0
                                • Ralla66R Ralla66

                                  @webranger

                                  Baud kannste ja setzen mit Baudrate 2400, dahinter mal SerialSend5 senden.
                                  Sonst wüsste ich auch keinen Rat mehr.

                                  WebrangerW Offline
                                  WebrangerW Offline
                                  Webranger
                                  wrote on last edited by
                                  #396

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

                                  SerialSend5

                                  Das klappt sogar sodas ich werte bekomme.
                                  Aber das nur einmal

                                  Dann weis ich schonmal das es funktioniert aber nur das script falsch ist.

                                  Jetzt braucht es nur noch einen Fachman der mir da evtl helfen könnte.

                                  Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                  Ralla66R 1 Reply Last reply
                                  0
                                  • WebrangerW Webranger

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

                                    SerialSend5

                                    Das klappt sogar sodas ich werte bekomme.
                                    Aber das nur einmal

                                    Dann weis ich schonmal das es funktioniert aber nur das script falsch ist.

                                    Jetzt braucht es nur noch einen Fachman der mir da evtl helfen könnte.

                                    Ralla66R Offline
                                    Ralla66R Offline
                                    Ralla66
                                    Most Active
                                    wrote on last edited by Ralla66
                                    #397

                                    @webranger

                                    habe deinen Sensor nicht, aber wenn der IR macht prüfe mit der Händykamera wie oft die Sende IR am Zähler Daten sendet. In Tasmota stelle mal die Telemetrieperiode auf 10,
                                    Das Script von hier Landis hast du getestet ?

                                    WebrangerW 1 Reply Last reply
                                    0
                                    • Ralla66R Ralla66

                                      @webranger

                                      habe deinen Sensor nicht, aber wenn der IR macht prüfe mit der Händykamera wie oft die Sende IR am Zähler Daten sendet. In Tasmota stelle mal die Telemetrieperiode auf 10,
                                      Das Script von hier Landis hast du getestet ?

                                      WebrangerW Offline
                                      WebrangerW Offline
                                      Webranger
                                      wrote on last edited by
                                      #398

                                      ja da hab ich meine codeschnipsel her.

                                      So wie es da ist funktioniert es nicht bei mir

                                      Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                      Ralla66R 1 Reply Last reply
                                      0
                                      • M m4

                                        @chaot
                                        OK, ich war mir jetzt erst mal hardwaretechnisch unsicher, da es ja auf den Pinouts meist nur einen TX / RX "Kanal" gibt.
                                        Heißt quasi ich könnte mehrer Pins als RX belegen, TX brauchen wir ja nicht.

                                        Laut Tasmota doku, müsst ich scheinbar bis zu 5 definieren können:

                                        Declare >M section with the number of connected meters (n = 1..5):

                                        M <n>

                                        ChaotC Offline
                                        ChaotC Offline
                                        Chaot
                                        wrote on last edited by
                                        #399

                                        @m4 Es müssten auch mehrere GPIOs gehen.
                                        Der 3 und der 12 funktionieren recht sicher, welche anderen ebenfalls noch kann ich dir aber nicht sagen. Da wirst du probieren müssen.
                                        Das ist in der M-Sektion die Zählerdefinition.
                                        Also

                                        >M1
                                        +1,3,xxxxxxxxxx
                                        

                                        Beschreibt den Zähler 1 auf GPIO3
                                        Dann müsste es weitergehen

                                        >M2
                                        +2,12,xxxxxxxxxx
                                        

                                        Der Zähler 2 auf dem GPIO12

                                        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                        1 Reply Last reply
                                        0
                                        • WebrangerW Webranger

                                          ja da hab ich meine codeschnipsel her.

                                          So wie es da ist funktioniert es nicht bei mir

                                          Ralla66R Offline
                                          Ralla66R Offline
                                          Ralla66
                                          Most Active
                                          wrote on last edited by
                                          #400

                                          @webranger

                                          bin ja kein Progger aber für mich fehlt da unter B
                                          ;Set teleperiod to 20sec
                                          tper=20
                                          Scheint so das daher der Durchlauf nur 1 mal geschieht.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          617

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe