Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker 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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
stromzähler auslesensonoffesp8266tasmotasmld0-schnittstellevolkszählerstromzähler
562 Beiträge 83 Kommentatoren 206.4k Aufrufe 84 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    Jaschkopf
    schrieb am zuletzt editiert von
    #7

    Seltsam. Versuch mal Atom und platformio neu zu installieren. Der Setup von platformio dauert mit unter sehr lange und beim 1. Build werden nochmal Pakete runter geladen.

    RalfThR 1 Antwort Letzte Antwort
    0
    • J Jaschkopf

      Seltsam. Versuch mal Atom und platformio neu zu installieren. Der Setup von platformio dauert mit unter sehr lange und beim 1. Build werden nochmal Pakete runter geladen.

      RalfThR Offline
      RalfThR Offline
      RalfTh
      schrieb am zuletzt editiert von
      #8

      @Jaschkopf Mach ich. Habe das bin jetzt mit FlashESP286.exe geflasht. Hier das Ergebnis:

      aa4db864-69b6-43b1-b0e6-a013d7f9619c-image.png

      Das Skript habe ich auch mal so eingestellt. Bei mir arbeitet ein Zähler von der Firma:

      a8b69bcf-ce0c-4967-a2a0-6ff62585ae4f-image.png

      Ich hoffe, das passt so mit dem Skript.

      Bleibt nur noch ein letztes Problem: Ich habe den Sensor von ELV, da der Volkszähler nicht erhältlich ist. GND und +5V(das braucht wohl der Sensor von ELV) habe ich schon gefunden.

      fe939257-64cb-488a-b7c7-1c87b00feacd-image.png

      Ich tippe auf Pin6

      Bliebe für mich der Anschluss an +5V, GND und RX am ESP?!

      Wir haben uns verirrt, kommen aber gut voran.

      J 1 Antwort Letzte Antwort
      0
      • RalfThR RalfTh

        @Jaschkopf Mach ich. Habe das bin jetzt mit FlashESP286.exe geflasht. Hier das Ergebnis:

        aa4db864-69b6-43b1-b0e6-a013d7f9619c-image.png

        Das Skript habe ich auch mal so eingestellt. Bei mir arbeitet ein Zähler von der Firma:

        a8b69bcf-ce0c-4967-a2a0-6ff62585ae4f-image.png

        Ich hoffe, das passt so mit dem Skript.

        Bleibt nur noch ein letztes Problem: Ich habe den Sensor von ELV, da der Volkszähler nicht erhältlich ist. GND und +5V(das braucht wohl der Sensor von ELV) habe ich schon gefunden.

        fe939257-64cb-488a-b7c7-1c87b00feacd-image.png

        Ich tippe auf Pin6

        Bliebe für mich der Anschluss an +5V, GND und RX am ESP?!

        J Offline
        J Offline
        Jaschkopf
        schrieb am zuletzt editiert von
        #9

        @RalfTh der Lesekopf den du da hast ist dazu da um Blinkimpulse der s0 Schnittstelle auszuwerten. Damit kann ich dir leider nicht weiter helfen. Ich habe aber noch Volkszähler Bausätze hier liegen falls du Interesse hast. So lange du keine Werte angezeigt bekommst stimmt etwas noch nicht. Du kannst aber in der Konsole die Rohwerte anzeigen lassen. Der Befehl "sensor53 d1" aktiviert die Debug Ausgabe des 1. Zählers.

        Gruß Jascha

        RalfThR 2 Antworten Letzte Antwort
        0
        • J Jaschkopf

          @RalfTh der Lesekopf den du da hast ist dazu da um Blinkimpulse der s0 Schnittstelle auszuwerten. Damit kann ich dir leider nicht weiter helfen. Ich habe aber noch Volkszähler Bausätze hier liegen falls du Interesse hast. So lange du keine Werte angezeigt bekommst stimmt etwas noch nicht. Du kannst aber in der Konsole die Rohwerte anzeigen lassen. Der Befehl "sensor53 d1" aktiviert die Debug Ausgabe des 1. Zählers.

          Gruß Jascha

          RalfThR Offline
          RalfThR Offline
          RalfTh
          schrieb am zuletzt editiert von RalfTh
          #10

          @Jaschkopf Ich habe dir da einen falschen Schaltplan gepostet. Ich habe diesen Bausatz
          mit Infrarot Sender und Empfänger.

          Ich hätte Interesse an einem Bausatz des Volkszählers. Was soll der denn Kosten?

          Wir haben uns verirrt, kommen aber gut voran.

          J 1 Antwort Letzte Antwort
          0
          • RalfThR RalfTh

            @Jaschkopf Ich habe dir da einen falschen Schaltplan gepostet. Ich habe diesen Bausatz
            mit Infrarot Sender und Empfänger.

            Ich hätte Interesse an einem Bausatz des Volkszählers. Was soll der denn Kosten?

            J Offline
            J Offline
            Jaschkopf
            schrieb am zuletzt editiert von
            #11

            @RalfTh Ob der Lesekopf von ELV überhaupt mit einer NodeMCU funktioniert kann ich dir nicht sagen. Hab dazu keinen Schaltplan gefunden. Wegen einem Volkszähler Lesekopf schreib mir doch einfach eine PN.

            Gruß Jaschkopf

            1 Antwort Letzte Antwort
            0
            • mkrobeM Offline
              mkrobeM Offline
              mkrobe
              schrieb am zuletzt editiert von
              #12

              @Jaschkopf
              in Deiner Anleitung steht:

              Zeile 454:
              ALT:
              NEU: #define USE_SML_M

              jedoch in der orig. my_user_config.h steht in Zeile 454:

              // #define USE_DISPLAY_ILI9488
              // [DisplayModel 8] [I2cDriver38] (Touch)

              einfach Zeile anfügen oder Zeile ersetzen?

              J 1 Antwort Letzte Antwort
              0
              • mkrobeM mkrobe

                @Jaschkopf
                in Deiner Anleitung steht:

                Zeile 454:
                ALT:
                NEU: #define USE_SML_M

                jedoch in der orig. my_user_config.h steht in Zeile 454:

                // #define USE_DISPLAY_ILI9488
                // [DisplayModel 8] [I2cDriver38] (Touch)

                einfach Zeile anfügen oder Zeile ersetzen?

                J Offline
                J Offline
                Jaschkopf
                schrieb am zuletzt editiert von
                #13

                @mkrobe Die Zeile muss neu erstellt werden. Bei mir beginnt in Zeile 453 der Bereich "Serial Sensors" mit einem Kommentar. In dem Bereich muss die Zeile eingefügt werden. Je nachdem was vorher in der Datei geändert wird können sich die Zeilennummern verschieben. Bei mir sieht das so aus:

                // -- Serial sensors ------------------------------
                #define USE_SML_M
                #define USE_MHZ19                                // Add support for MH-Z19 CO2 sensor (+2k code)
                #define USE_SENSEAIR                             // Add support for SenseAir K30, K70 and S8 CO2 sensor (+2k3 code)
                  #define CO2_LOW              800               // Below this CO2 value show green light (needs PWM or WS2812 RG(B) led and enable with SetOption18 1)
                  #define CO2_HIGH             1200              // Above this CO2 value show red light (needs PWM or WS2812 RG(B) led and enable with SetOption18 1)
                #define USE_PMS5003                              // Add support for PMS5003 and PMS7003 particle concentration sensor (+1k3 code)
                  //#define PMS_MODEL_PMS3003                      // Enable support of PMS3003 instead of PMS5003/PMS7003 (needs the USE_PMS5003 above)
                #define USE_NOVA_SDS                             // Add support for SDS011 and SDS021 particle concentration sensor (+1k5 code)
                  #define STARTING_OFFSET      30                // Turn on NovaSDS XX-seconds before tele_period is reached
                //#define USE_HPMA                                 // Add support for Honeywell HPMA115S0 particle concentration sensor (+1k4)
                #define USE_SERIAL_BRIDGE                        // Add support for software Serial Bridge (+0k8 code)
                //#define USE_MP3_PLAYER                           // Use of the DFPlayer Mini MP3 Player RB-DFR-562 commands: play, volume and stop
                  #define MP3_VOLUME           10                // Set the startup volume on init, the range can be 0..30(max)
                //#define USE_AZ7798                               // Add support for AZ-Instrument 7798 CO2 datalogger (+1k6 code)
                //#define USE_PN532_HSU                            // Add support for PN532 using HSU (Serial) interface (+1k8 code, 140 bytes mem)
                //  #define USE_PN532_CAUSE_EVENTS                 // Cause event execution for PN532_UID= and PN532_DATA=[if defined] (+ 30 bytes code)
                //  #define USE_PN532_DATA_FUNCTION                // Add sensor40 command support for erase, setting data block content (+1k7 code, 388 bytes mem)
                //  #define USE_PN532_DATA_RAW                     // Allow DATA block to be used by non-alpha-numberic data (+ 80 bytes code, 48 bytes ram)
                //#define USE_RDM6300                              // Add support for RDM6300 125kHz RFID Reader (+0k8)
                //#define USE_IBEACON                              // Add support for bluetooth LE passive scan of ibeacon devices (uses HM17 module)
                

                Gruß Jaschkopf

                1 Antwort Letzte Antwort
                0
                • J Jaschkopf

                  @RalfTh der Lesekopf den du da hast ist dazu da um Blinkimpulse der s0 Schnittstelle auszuwerten. Damit kann ich dir leider nicht weiter helfen. Ich habe aber noch Volkszähler Bausätze hier liegen falls du Interesse hast. So lange du keine Werte angezeigt bekommst stimmt etwas noch nicht. Du kannst aber in der Konsole die Rohwerte anzeigen lassen. Der Befehl "sensor53 d1" aktiviert die Debug Ausgabe des 1. Zählers.

                  Gruß Jascha

                  RalfThR Offline
                  RalfThR Offline
                  RalfTh
                  schrieb am zuletzt editiert von
                  #14

                  @Jaschkopf Der Lesekopf ist montiert. Das Skript hab meines AZ-Delivery D1 mini habe ich folgendermaßen mit dem Volkszähler verbunden:

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

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

                  Leider bekomme ich nichts angezeigt.

                  8f101830-e8ff-4c8e-b6bc-6b0c444cd99d-image.png

                  Die Zeile 2 des Zählers wechselt regelmäßig zwischen den einzelnen, möglichen Ausgabewerten. Mache ich da noch was verkehrt?

                  Wir haben uns verirrt, kommen aber gut voran.

                  J 1 Antwort Letzte Antwort
                  0
                  • RalfThR RalfTh

                    @Jaschkopf Der Lesekopf ist montiert. Das Skript hab meines AZ-Delivery D1 mini habe ich folgendermaßen mit dem Volkszähler verbunden:

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

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

                    Leider bekomme ich nichts angezeigt.

                    8f101830-e8ff-4c8e-b6bc-6b0c444cd99d-image.png

                    Die Zeile 2 des Zählers wechselt regelmäßig zwischen den einzelnen, möglichen Ausgabewerten. Mache ich da noch was verkehrt?

                    J Offline
                    J Offline
                    Jaschkopf
                    schrieb am zuletzt editiert von
                    #15

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

                    @Jaschkopf Der Lesekopf ist montiert. Das Skript hab meines AZ-Delivery D1 mini habe ich folgendermaßen mit dem Volkszähler verbunden:

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

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

                    Leider bekomme ich nichts angezeigt.

                    8f101830-e8ff-4c8e-b6bc-6b0c444cd99d-image.png

                    Die Zeile 2 des Zählers wechselt regelmäßig zwischen den einzelnen, möglichen Ausgabewerten. Mache ich da noch was verkehrt?

                    Hast du schon ein Skript erstellt? Was für eine Zähler hast du? Ggf muss der mit einem Pin freigeschaltet werden bevor er Daten ausgibt. Oder manche Zähler benötigen eine Startsequenz damit sie Daten senden. Das solltest du noch in Erfahrung bringen.

                    RalfThR Guano ApesG 2 Antworten Letzte Antwort
                    0
                    • J Jaschkopf

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

                      @Jaschkopf Der Lesekopf ist montiert. Das Skript hab meines AZ-Delivery D1 mini habe ich folgendermaßen mit dem Volkszähler verbunden:

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

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

                      Leider bekomme ich nichts angezeigt.

                      8f101830-e8ff-4c8e-b6bc-6b0c444cd99d-image.png

                      Die Zeile 2 des Zählers wechselt regelmäßig zwischen den einzelnen, möglichen Ausgabewerten. Mache ich da noch was verkehrt?

                      Hast du schon ein Skript erstellt? Was für eine Zähler hast du? Ggf muss der mit einem Pin freigeschaltet werden bevor er Daten ausgibt. Oder manche Zähler benötigen eine Startsequenz damit sie Daten senden. Das solltest du noch in Erfahrung bringen.

                      RalfThR Offline
                      RalfThR Offline
                      RalfTh
                      schrieb am zuletzt editiert von RalfTh
                      #16

                      @Jaschkopf Das Skript sieht so aus, wie du es oben beschrieben hast. Ich habe einen Zähler von EMH, Typ HW8E2A5L0EK2P (siehe mein Post vom 22.01.) Das Protokoll ist SML und die Baudrate 9600Bd. PIN habe ich erhalten und eingegeben. Deshalb kann ich ja die Werte in der zweiten Zeile des Zählers abrufen.

                      Wir haben uns verirrt, kommen aber gut voran.

                      J 1 Antwort Letzte Antwort
                      0
                      • RalfThR RalfTh

                        @Jaschkopf Das Skript sieht so aus, wie du es oben beschrieben hast. Ich habe einen Zähler von EMH, Typ HW8E2A5L0EK2P (siehe mein Post vom 22.01.) Das Protokoll ist SML und die Baudrate 9600Bd. PIN habe ich erhalten und eingegeben. Deshalb kann ich ja die Werte in der zweiten Zeile des Zählers abrufen.

                        J Offline
                        J Offline
                        Jaschkopf
                        schrieb am zuletzt editiert von
                        #17

                        @RalfTh gib mal "sensor53 d1" in die Konsole ein. Damit aktiviert du das debuging und kannst die rohwerte in der Konsole sehen. Der Zähler sollte seine Daten 1x pro sek ausgeben. Wenn du in der Konsole keine Werte siehst stimmt mit der Hardware etwas nicht.

                        1 Antwort Letzte Antwort
                        0
                        • J Jaschkopf

                          Servus. Ich habe hier mal eine Anleitung geschrieben wie man mit einem IR-Lesekopf und einem ESP8266 Daten aus der D0 Schnittstelle von Digitalen Stromzählern auslesen und an ioBroker senden kann.

                          Danksagung:
                          Vorab muss ich meinen Dank aussprechen an gemu2015 der den SML Treiber sowie den Scripter für Tasmota entwickelt hat. Ich habe alle meine Infos aus dem „CRATION{X} SMARTHome Forum“ und dem Beitrag „D0 Zähler SML auslesen mit Tasmota“ bekommen und verweise auch auf das Thema falls weitere Fragen entstehen. Bei Problemen mit dem Scripter oder dem Treiber konnte gemu2015 bis jetzt immer sehr schnell und kompetent helfen.
                          https://forum.creationx.de/forum/index.php?thread/1095-d0-zähler-sml-auslesen-mit-tasmota/
                          https://forum.creationx.de/index.php?user/1660-gemu2015/
                          https://github.com/gemu2015/Sonoff-Tasmota
                          https://github.com/arendst/Tasmota

                          Vorwort:
                          Ich möchte vorab noch erwähnen, dass ich in dieser Anleitung nur das absolute Minimum an Einstellungen aufführe um das ganze zum laufen zu bekommen. Der Scripter ist ein mächtiges Tool mit dem man noch sehr viel mehr machen kann als hier gezeigt wird. Für Ergänzungen bin ich offen und werde die Anleitung bei Bedarf anpassen und Überarbeiten.

                          Notwendige Hardware:

                          • Digitaler Stromzähler mit D0 Schnittstelle
                          • Lesekopf (Volkszähler oder ähnlich)
                          • ESP8266 (NodeMCU, Sonoff, etc.)
                          • Ggf. 5V Netzteil für den ESP
                          • Ggf. USB zu TTL Adapter zum flashen

                          Notwendige Software:

                          • Atom.io (https://atom.io/)
                          • PlatformIO IDE for Atom.io (wird über den Atom.io Package Manager geladen) (https://platformio.org/install/ide?install=atom)
                          • Sonoff-Tasmota-universal8 Daten von Github (https://github.com/gemu2015/Sonoff-Tasmota)
                          • Tasmota von Github: https://github.com/arendst/Tasmota
                            Da sich der Branch von gemu2015 seit dem letzten Update von PlatformIO nicht mehr kompilieren lässt, muss der von arendst genutzt werden. Der enthält das notwendige xsns_53_sml.ino ebenfalls. Bei Bedarf kann auch die neuste xsns_53_sml.ino aus dem Branch von gemu genutzt werden und händisch in den Ordner von arendst kopiert werden.

                          Anleitung:

                          • Zuerst muss Atom.io installiert werden. Anschließend über den Paket Manager PlatformIO installieren und ggf einen Neustart durchführen.

                          • Von Github die Tasmota Branch von gemu2015 arendst runterladen (oben rechts, Button „Clone or download“  Download ZIP) und die .zip entpacken.

                          • Atom.io starten. Die Startseite sollte dann „PlatformIO Home“ sein. Dort über „Open Project“ den entpackten Ordner von Github auswählen. Die Ordnerstrukur wird dann links am Rand angezeigt.

                          • 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
                            Zeile 251:
                            ALT: //#define MY_LANGUAGE de-DE
                            NEU: #define MY_LANGUAGE de-DE
                            Zeile 454:
                            ALT:
                            NEU: #define USE_SML_M

                          • Da wir gerade in der Zeile 39 die CONFIG_OVERRIDE aktiviert haben, muss diese auch angepasst werden. Dazu müssen wir erstmal die Datei „tasmota/user_config_override_sample.h“ umbenennen zu „user_config_override.h“. Danach werden folgende Anpassungen gemacht:

                          • Die Zeilen 44-89 sind durch /* bzw */ auskommentiert, somit unwirksam. Soll etwas davon benutzt werden, muss der Kommentarbereich entsprechend angepasst werden. Folgende Zeilen sollten nach Zeile 89 auf jeden Fall enthalten sein:

                          // -- Master parameter control --------------------
                          #undef  CFG_HOLDER
                          #define CFG_HOLDER        4620                   // [Reset 1] Change this value to load SECTION1 configuration parameters to flash
                          // -- Setup your own Wifi settings  ---------------
                          #undef  STA_SSID1
                          #define STA_SSID1         "YOUR_SSID"              // [Ssid1] Wifi SSID
                          #undef  STA_PASS1
                          #define STA_PASS1         "YOUR_PASSWORD"     // [Password1] Wifi password
                          // -- Timezone ------------------------------------
                          #undef APP_TIMEZONE 1
                          #define APP_TIMEZONE 99
                          
                          // -- Localization --Sprache---------------------
                          // If non selected the default en-GB will be used
                          #undef MY_LANGUAGE
                          #define MY_LANGUAGE de-DE
                          
                          // -- 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
                          

                          WICHTIG: Wenn das Script ein 2., 3., 4., etc. mal auf den ESP geflashed werden soll, muss unbedingt die CFG_HOLDER Zahl verändert werden. Wenn diese identisch wie beim letzten Flash ist, werden die Daten nicht übernommen. Daher bei erneutem Flashen einfach hochzählen.

                          • In der Datei „platformio.ini“ habe ich noch den "upload_port" angepasst. Zu finden in Zeile 71-82. Dort einfach bei der richtige Zeile das ; entfernen und falsche Zeilen mit ; auskommentieren. Ggf. die Port Nummer anpassen.
                          • Dann kann Tasmota schon auf den ESP geflashed werden. Das dauert ca. 60sek und wenn alles geklappt hat sollte sich der ESP direkt mit eurem WLAN verbinden und eine IP per DHCP bekommen. Diese muss dann über die Weboberfläche des Routers ermittelt werden (z.b. fritz.box). Die IP dann in die Adresszeile des Browsers eingeben um die Tasmota Weboberfläche aufzurufen.
                          • Auf der Weboberfläche gehen wir dann zu „Einstellungen -> Gerät konfigurieren“ und wählen bei „Gerätetyp“ dann „Generic (0)“ aus. Speichern nicht vergessen.
                          • Jetzt können wir über „Hauptmenü -> Edit Script“ die Parameter des Stromzählers eingeben. Zuerst muss der Scripter jedoch über die Checkbox oben „script enable“ aktiviert werden.
                          • Ab hier wird es etwas kompliziert. Es muss bekannt sein, wie euer Zähler die Daten ausgibt. Meiner z.B. nutzt SML mit 9600 Baud und mein Script dafür sieht so aus:
                          >D
                          >B
                          ->sensor53 r
                          tper=10
                          >M
                          +1,13,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
                          #
                          
                          • 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

                          Ihr solltet jetzt auf der Startseite die Werte für Verbrauch, Einspeisung und Akt. Verbrauch sehen. In der Regel muss der Zähler mit einem Pincode frei geschaltet werden um Nachkommastellen sowie den aktuellen Verbrauch anzuzeigen. Die Pin bekommt man bei seinem Netzbetreiber auf Nachfrage per Post zugeschickt.

                          Daten an ioBroker senden:

                          • Unter „Einstellungen -> MQTT“ kann nun die Verbindung zu iobroker definiert werden. Dazu ist der Sonoff Adapter notwendig. Auf die Einrichtung gehe ich hier nicht weiter ein. Wichtig ist nur, dass im Adapter die drei Checkboxen „Automatische Erstellung von Zuständen“ aktiviert werden, damit die Objekte auch angelegt werden.

                          Nachwort:
                          Ich hoffe ich habe nichts vergessen. Wer noch einen Lesekopf braucht, ich habe noch ein paar Bausätze übrig. Alternativ kann man vielleicht doch nochmal eine Sammelbestellung ins Leben rufen. Dazu gab es schonmal ein Thema von mir: https://forum.iobroker.net/topic/25224/sammelbestellung-volkszähler

                          RalfThR Offline
                          RalfThR Offline
                          RalfTh
                          schrieb am zuletzt editiert von
                          #18

                          @Jaschkopf Hier das LOG:


                          22:04:21 CMD: sensor53 d1
                          22:04:21 MQT: stat/tasmota/RESULT = {"Time":"2020-02-04T22:04:21","SML":{"CMD":"dump: 1"}}
                          22:04:30 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:04:30","Uptime":"0T00:51:02","UptimeSec":3062,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:06"}}
                          22:04:30 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:04:30","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                          22:04:40 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:04:40","Uptime":"0T00:51:12","UptimeSec":3072,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":21,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":66,"Signal":-67,"LinkCount":1,"Downtime":"0T00:00:06"}}
                          22:04:40 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:04:40","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                          22:04:50 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:04:50","Uptime":"0T00:51:22","UptimeSec":3082,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:06"}}
                          22:04:50 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:04:50","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                          22:05:00 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:05:00","Uptime":"0T00:51:32","UptimeSec":3092,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":68,"Signal":-66,"LinkCount":1,"Downtime":"0T00:00:06"}}
                          22:05:00 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:05:00","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}

                          Wir haben uns verirrt, kommen aber gut voran.

                          J 1 Antwort Letzte Antwort
                          0
                          • RalfThR RalfTh

                            @Jaschkopf Hier das LOG:


                            22:04:21 CMD: sensor53 d1
                            22:04:21 MQT: stat/tasmota/RESULT = {"Time":"2020-02-04T22:04:21","SML":{"CMD":"dump: 1"}}
                            22:04:30 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:04:30","Uptime":"0T00:51:02","UptimeSec":3062,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:06"}}
                            22:04:30 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:04:30","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                            22:04:40 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:04:40","Uptime":"0T00:51:12","UptimeSec":3072,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":21,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":66,"Signal":-67,"LinkCount":1,"Downtime":"0T00:00:06"}}
                            22:04:40 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:04:40","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                            22:04:50 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:04:50","Uptime":"0T00:51:22","UptimeSec":3082,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:06"}}
                            22:04:50 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:04:50","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                            22:05:00 MQT: tele/tasmota/STATE = {"Time":"2020-02-04T22:05:00","Uptime":"0T00:51:32","UptimeSec":3092,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"Palatina","BSSId":"5C:49:79:55:9E:DC","Channel":6,"RSSI":68,"Signal":-66,"LinkCount":1,"Downtime":"0T00:00:06"}}
                            22:05:00 MQT: tele/tasmota/SENSOR = {"Time":"2020-02-04T22:05:00","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}

                            J Offline
                            J Offline
                            Jaschkopf
                            schrieb am zuletzt editiert von
                            #19

                            @RalfTh also außer das alle 10sek die Daten per mqtt gesendet werden passiert da nichts. Ggf sind bei deinem Zähler sende und Empfangs led umgedreht. Prüf das mal mit deiner Handykamera ob dein Zähler überhaupt Daten ausgibt und wenn ja auf welcher Seite. Ich muss meine Lesekopf auch um 180° verdreht aufsetzen (Kabel nach oben) damit er funktioniert.

                            RalfThR 1 Antwort Letzte Antwort
                            0
                            • J Jaschkopf

                              @RalfTh also außer das alle 10sek die Daten per mqtt gesendet werden passiert da nichts. Ggf sind bei deinem Zähler sende und Empfangs led umgedreht. Prüf das mal mit deiner Handykamera ob dein Zähler überhaupt Daten ausgibt und wenn ja auf welcher Seite. Ich muss meine Lesekopf auch um 180° verdreht aufsetzen (Kabel nach oben) damit er funktioniert.

                              RalfThR Offline
                              RalfThR Offline
                              RalfTh
                              schrieb am zuletzt editiert von
                              #20

                              @Jaschkopf OK, danke.Ich werde das morgen mal probieren. Bei mir ist links der Lichtsensoreingang und rechts die Datenschnittstelle. Habe dazu ein Bild meines Energieversorgers erhalten.

                              Wir haben uns verirrt, kommen aber gut voran.

                              J 2 Antworten Letzte Antwort
                              0
                              • RalfThR RalfTh

                                @Jaschkopf OK, danke.Ich werde das morgen mal probieren. Bei mir ist links der Lichtsensoreingang und rechts die Datenschnittstelle. Habe dazu ein Bild meines Energieversorgers erhalten.

                                J Offline
                                J Offline
                                Jaschkopf
                                schrieb am zuletzt editiert von
                                #21

                                @RalfTh ich meine bei mir ist die Schnittstelle genauso angeordnet. Probier mal den Lesekopf um 180° mit dem Kabel nach oben aufzusetzen

                                1 Antwort Letzte Antwort
                                0
                                • RalfThR RalfTh

                                  @Jaschkopf OK, danke.Ich werde das morgen mal probieren. Bei mir ist links der Lichtsensoreingang und rechts die Datenschnittstelle. Habe dazu ein Bild meines Energieversorgers erhalten.

                                  J Offline
                                  J Offline
                                  Jaschkopf
                                  schrieb am zuletzt editiert von
                                  #22

                                  @RalfTh mir ist gerade noch was eingefallen. Wenn du das Skript 1:1 übernommen hast, muss RXD auf Pin 13 liegen. Du bist aber auf GPIO13, was Pin 7 entspricht. Einen Pin 13 hat der D1 ja garnicht. Versuch mal im Skript in Sektion >M die Zeile für die Zählerdefinition zu ändern auf Pin 7:

                                  >M
                                  +1,7,s,1,9600,SML
                                  

                                  PS: Wenn du das Debugging mit "sensor53 d1" aktiviert hast wird die Werteausgabe über das Webinterface gestoppt. Wenn du auf der Startseite wieder Werte haben willst musst du entweder den D1 neustarten oder mit "sendor53 d0" das Debugging wieder ausschalten.

                                  Gruß Jaschkopf

                                  RalfThR 1 Antwort Letzte Antwort
                                  0
                                  • J Jaschkopf

                                    @RalfTh mir ist gerade noch was eingefallen. Wenn du das Skript 1:1 übernommen hast, muss RXD auf Pin 13 liegen. Du bist aber auf GPIO13, was Pin 7 entspricht. Einen Pin 13 hat der D1 ja garnicht. Versuch mal im Skript in Sektion >M die Zeile für die Zählerdefinition zu ändern auf Pin 7:

                                    >M
                                    +1,7,s,1,9600,SML
                                    

                                    PS: Wenn du das Debugging mit "sensor53 d1" aktiviert hast wird die Werteausgabe über das Webinterface gestoppt. Wenn du auf der Startseite wieder Werte haben willst musst du entweder den D1 neustarten oder mit "sendor53 d0" das Debugging wieder ausschalten.

                                    Gruß Jaschkopf

                                    RalfThR Offline
                                    RalfThR Offline
                                    RalfTh
                                    schrieb am zuletzt editiert von
                                    #23

                                    @Jaschkopf Oh, das hatte ich übersehen, bzw. falsch interpretiert. Ist schon ein bisschen verwirrend mit den PINs und deren Bezeichnung. Habe jetzt das Skript hier geändert.
                                    47a1b158-1dfa-4e10-8b02-a9cdfcd918cf-image.png

                                    Jetzt lässt es sich nicht mehr aktivieren??!!
                                    Muss ich das Ganze jetzt noch mal in Atom.io machen? Das kann doch eigentlich nicht sein.!?

                                    Wir haben uns verirrt, kommen aber gut voran.

                                    J 1 Antwort Letzte Antwort
                                    0
                                    • RalfThR RalfTh

                                      @Jaschkopf Oh, das hatte ich übersehen, bzw. falsch interpretiert. Ist schon ein bisschen verwirrend mit den PINs und deren Bezeichnung. Habe jetzt das Skript hier geändert.
                                      47a1b158-1dfa-4e10-8b02-a9cdfcd918cf-image.png

                                      Jetzt lässt es sich nicht mehr aktivieren??!!
                                      Muss ich das Ganze jetzt noch mal in Atom.io machen? Das kann doch eigentlich nicht sein.!?

                                      J Offline
                                      J Offline
                                      Jaschkopf
                                      schrieb am zuletzt editiert von
                                      #24

                                      @RalfTh Ok jetzt hab ich mich selbst verwirrt. D7 am D1 war schon richtig als GPIO13 im Skript. Musste selbst nochmal nachschlagen gerade.

                                      Aber das sich dein Skript immer wieder deaktiviert ist nicht richtig. Ich hatte den Fall bei mir auch mal und musste die Firmware neu flashen. Scheint ein Bug zu sein. Vergiss nur nicht den CFG_HOLDER zu verändern bevor du neu compilierst, wie in der Anleitung beschrieben.

                                      Gruß Jaschkopf

                                      RalfThR 1 Antwort Letzte Antwort
                                      0
                                      • M Online
                                        M Online
                                        mpl1338
                                        schrieb am zuletzt editiert von mpl1338
                                        #25

                                        Kann mir jemand sagen wo das problem bei mir liegt?

                                        
                                        19:57:34 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:34","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xD87B604E"}}
                                        19:57:35 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:35","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x70E7939E"}}
                                        19:57:36 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:36","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xDDE94BCF"}}
                                        19:57:37 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:37","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x49A6AF84"}}
                                        19:57:37 RSL: tele/tasmota/STATE = {"Time":"2020-02-06T19:57:37","Uptime":"0T00:29:07","UptimeSec":1747,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"Wifi":{"AP":2,"SSId":"FRITZ!Box 7590 CJ","BSSId":","Channel":1,"RSSI":100,"Signal":-47,"LinkCount":1,"Downtime":"0T00:00:06"}}
                                        19:57:37 RSL: tele/tasmota/SENSOR = {"Time":"2020-02-06T19:57:37","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                                        19:57:38 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:38","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x41150F2B"}}
                                        19:57:39 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:39","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x70E7939E"}}
                                        19:57:40 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:40","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xCE7EA1E4"}}
                                        19:57:41 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:41","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x4A92522B"}}
                                        19:57:42 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:42","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x41150F2B"}}
                                        19:57:43 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:43","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x29724952"}}
                                        

                                        bekomme zwar daten gelesen aber werden nicht umgewandelt?

                                        Zähler(MT691) ist freigeschaltet

                                        20:01:37 CMD: sensor53 d1
                                        20:01:37 RSL: stat/tasmota/RESULT = {"Time":"2020-02-06T20:01:37","SML":{"CMD":"dump: 1"}}
                                        
                                        J 1 Antwort Letzte Antwort
                                        0
                                        • M mpl1338

                                          Kann mir jemand sagen wo das problem bei mir liegt?

                                          
                                          19:57:34 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:34","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xD87B604E"}}
                                          19:57:35 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:35","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x70E7939E"}}
                                          19:57:36 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:36","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xDDE94BCF"}}
                                          19:57:37 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:37","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x49A6AF84"}}
                                          19:57:37 RSL: tele/tasmota/STATE = {"Time":"2020-02-06T19:57:37","Uptime":"0T00:29:07","UptimeSec":1747,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"Wifi":{"AP":2,"SSId":"FRITZ!Box 7590 CJ","BSSId":","Channel":1,"RSSI":100,"Signal":-47,"LinkCount":1,"Downtime":"0T00:00:06"}}
                                          19:57:37 RSL: tele/tasmota/SENSOR = {"Time":"2020-02-06T19:57:37","OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
                                          19:57:38 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:38","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x41150F2B"}}
                                          19:57:39 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:39","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x70E7939E"}}
                                          19:57:40 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:40","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0xCE7EA1E4"}}
                                          19:57:41 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:41","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x4A92522B"}}
                                          19:57:42 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:42","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x41150F2B"}}
                                          19:57:43 RSL: tele/tasmota/RESULT = {"Time":"2020-02-06T19:57:43","IrReceived":{"Protocol":"UNKNOWN","Bits":50,"Hash":"0x29724952"}}
                                          

                                          bekomme zwar daten gelesen aber werden nicht umgewandelt?

                                          Zähler(MT691) ist freigeschaltet

                                          20:01:37 CMD: sensor53 d1
                                          20:01:37 RSL: stat/tasmota/RESULT = {"Time":"2020-02-06T20:01:37","SML":{"CMD":"dump: 1"}}
                                          
                                          J Offline
                                          J Offline
                                          Jaschkopf
                                          schrieb am zuletzt editiert von
                                          #26

                                          @mpl1338 also laut Internet Sender der Zähler 1x pro Sekunde die Daten unaufgefordert. Wenn du den dump mit sensor53 d1 aktiviert hast sollte jede Sekunde ein riesiges Datenpakete mit hex Werten rein kommen. Das ist bei dir offensichtlich nicht der Fall wie ich auch deinem log sehe. Der Fehler muss wo anders liegen. Postete sich mal deinen Aufbau und dein Skript.

                                          Gruß Jaschkopf

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          488

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe