Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Stromzähler mit Volkszähler und NodeMCU auslesen

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    Stromzähler mit Volkszähler und NodeMCU auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jaschkopf last edited by

      Servus. Bin ganz neu hier im Forum und hoffe ich habe das richtige Unterforum ausgewählt.

      Ich bin ganz frisch von Pimatic zu ioBroker (RasPi 4 4GB) in Kombination mit einem ELV Charly gewechselt und bin wirklich begeistert.

      Als nächstes habe ich geplant mit einem Volkszähler (IR Sender/Empfanger) und einem NodeMCU meinen Stromverbrauch bzw Zahlerstand auszulesen und in ioBroker anzeigen zu lassen.

      Gibt es dazu schon einen Adapter womit ich das realisieren kann? Den NodeMCU möchte ich gerne mit WLAN ins Netzwerk bringen. Ggf mit ESPeasy drauf geflashed? Da weiß ich noch nicht ob das klappt.

      Hoffe ich erhalte hier die notwendige Unterstützung um das ganze kostengünstig zu realisieren. Einige NodeMCU habe ich noch rum liegen und der Rest kostet ja nur ein paar Cent.

      Achso der Stromzähler ist ein Pafal 12EC3g der in beide Richtungen zählen kann, also auch die Einspeisung meiner PV Anlage. Vielleicht ist es sogar möglich die aktuelle Einspeisung auszulesen.

      Gruß Jaschkopf

      1 Reply Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active last edited by sigi234

        https://forum.iobroker.net/topic/4685/adapter-smartmeter

        1 Reply Last reply Reply Quote 0
        • J
          Jaschkopf last edited by

          Ist es denn möglich mit dem Smartmeter Adapter auch Daten aus dem Netzwerk von einem ESP8266 zu empfangen? Habe dazu nicht im Thread gefunden. Muss jetzt sowieso erstmal den Lesekopf zusammen bauen, dann kann ich mal ein bisschen probieren.

          Vielleicht hat ja noch jemand eine Idee bzw hat es vielleicht schon laufen und kann mit sagen wie er es realisiert hat. Will ungerne die teure Lösung von Homematic für 80€ kaufen...

          Gruß Jaschkopf

          1 Reply Last reply Reply Quote 0
          • E
            ecki945 last edited by

            Ich habe es mit einer nodemcu 8266 mit tasmota software per mqtt und auf'm iobroker mit sonoff adapter realisiert.

            1 Reply Last reply Reply Quote 0
            • J
              Jaschkopf last edited by

              Das ist doch mal ne vernünftige Aussage 👍 dann werde ich das mal probieren. Muss man die tasmota Firmware noch konfigurieren? Gibts dazu vielleicht ne Anleitung?

              Gruß Jaschkopf

              1 Reply Last reply Reply Quote 0
              • E
                ecki945 last edited by

                Ich habe den Source Code von KLICK heruntergeladen. Mit Visual Studio Code KLICK angepasst und auf die NodeMCU geflasht. Große Änderungen am Code mussst du nicht machen. Wichtig eigentlich nur SML Support aktivieren und den passenden Stromzählertyp einrichten. Auf der WIKI Seite von der Tasmota Software ist einiges beschrieben. Der Source Code für das Auslesen der Stromzählersache stammt von gemu2015. Ihn findest du auch auf der Github Seite.

                J 1 Reply Last reply Reply Quote 0
                • J
                  Jaschkopf @ecki945 last edited by

                  @ecki945 said in Stromzähler mit Volkszähler und NodeMCU auslesen:

                  Der Source Code für das Auslesen der Stromzählersache stammt von gemu2015. Ihn findest du auch auf der Github Seite.

                  Ich kann leider den Source Code nicht finden. Hast du da einen Link für mich?

                  1 Reply Last reply Reply Quote 0
                  • E
                    ecki945 last edited by

                    Lade hier KLICK den Source Code als Zip Archiv herunter. Entpacke es in einem Verzeichnis. Die Datei user_config_override_sample kopieren und in user_config_override umbenennen. Falls du mit Visual Studio arbeiten möchtest, Programm starten und "Ordner öffnen" auswählen und das Verzeichniss sonoff markieren. Dann die Datei unser_config_override öffnen. Hier kannst du Parameter in der Standardsoftware "überschreiben / ändern". Hat den Vorteil wenn du später eine neuere Version der Tamsota Software herunterlädst, nicht in x Files Änderungen machen musst, sondern nur zentral in einer Datei.

                    // -- Setup your own Wifi settings  ---------------
                    #undef  STA_SSID1
                    #define STA_SSID1         "SSID DEINES WLAN ROUTERS"             // [Ssid1] Wifi SSID
                    
                    #undef  STA_PASS1
                    #define STA_PASS1         "PASSWORT DEINES WLAN ROUTERS "     // [Password1] Wifi password
                    
                    // -- Setup your own MQTT settings  ---------------
                    #undef  MQTT_HOST
                    #define MQTT_HOST         "IP ADRESSE DEINES MQTT SERVERS" // [MqttHost]
                    
                    #undef  MQTT_PORT
                    #define MQTT_PORT         1882                   // [MqttPort] MQTT port (10123 on CloudMQTT)
                    
                    #undef  MQTT_USER
                    #define MQTT_USER         "DVES_USER"         // [MqttUser] Optional user
                    
                    #undef  MQTT_PASS
                    #define MQTT_PASS         "DVES_PASS"         // [MqttPassword] Optional password
                    
                    #undef MY_LANGUAGE
                    #define MY_LANGUAGE            de-DE           // German in Germany
                    
                    #ifdef TELE_PERIOD
                    #undef  TELE_PERIOD
                    #define TELE_PERIOD          10               // [TelePeriod] Telemetry (0 = disable, 10 - 3600 seconds)
                    #endif
                    
                    // Einstellungen für SML - Stromzählersensor
                    #define USE_SML_M
                    #ifdef SPECIAL_SS
                    #undef  SPECIAL_SS
                    #endif
                    
                    #ifdef METER
                    #undef  METER
                    #define METER   EHZ363                  //hier den passenden Stromzählertyp auswählen.
                    #endif
                    

                    In der Datei platformio.ini konfigurierst du die Parameter deines Zielsystems: Bei meinen Anwendungen hab ich noch ein Display an der nodemcu angeschlossen. Deshalb habe ich Typ sonoff-display gewählt. Ohne Display ist Typ sonoff-basic der richtige. Hier mal die Konfiguration von mir bei Verwendung einer nodemcu mit Display:

                    [platformio]
                    src_dir = sonoff
                    build_dir = .pioenvs
                    
                    ; *** Uncomment one of the lines below to build/upload only one environment
                    ;default_envs = sonoff
                    ;default_envs = sonoff-ircustom     ; alternative to 'sonoff' with full IR protocols activated, you will need to disable some features to keep code not too big
                    ;default_envs = sonoff-minimal
                    ;default_envs = sonoff-basic
                    ;default_envs = sonoff-classic
                    ;default_envs = sonoff-knx
                    ;default_envs = sonoff-sensors
                    default_envs = sonoff-display
                    ;default_envs = sonoff-ir
                    ;default_envs = sonoff-BG
                    ;default_envs = sonoff-BR
                    ;default_envs = sonoff-CN
                    ;default_envs = sonoff-CZ
                    ;default_envs = sonoff-DE
                    ;default_envs = sonoff-ES
                    ;default_envs = sonoff-FR
                    ;default_envs = sonoff-GR
                    ;default_envs = sonoff-HE
                    ;default_envs = sonoff-HU
                    ;default_envs = sonoff-IT
                    ;default_envs = sonoff-KO
                    ;default_envs = sonoff-NL
                    ;default_envs = sonoff-PL
                    ;default_envs = sonoff-PT
                    ;default_envs = sonoff-RU
                    ;default_envs = sonoff-SE
                    ;default_envs = sonoff-SK
                    ;default_envs = sonoff-TR
                    ;default_envs = sonoff-TW
                    ;default_envs = sonoff-UK
                    
                    [esp82xx_defaults]
                    build_flags               = -D NDEBUG
                                                -mtarget-align
                                                -Wl,-Map,firmware.map
                    
                    [core_2_3_0]
                    ; *** Esp8266 core for Arduino version 2.3.0
                    platform                  = espressif8266@1.5.0
                    build_flags               = ${esp82xx_defaults.build_flags}
                                                -Wl,-Tesp8266.flash.1m0.ld
                    
                    [core_2_4_2]
                    ; *** Esp8266 core for Arduino version 2.4.2
                    platform                  = espressif8266@1.8.0
                    build_flags               = ${esp82xx_defaults.build_flags}
                                                -Wl,-Teagle.flash.1m0.ld
                                                -lstdc++ -lsupc++
                    ; lwIP 1.4
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
                    ; lwIP 2 - Low Memory
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
                    ; lwIP 2 - Higher Bandwidth (Tasmota default)
                                                -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
                                                -DVTABLES_IN_FLASH
                    
                    [core_2_5_2]
                    ; *** Esp8266 core for Arduino version 2.5.2
                    platform                  = espressif8266@~2.2.2
                    build_flags               = ${esp82xx_defaults.build_flags}
                                                -Wl,-Teagle.flash.1m.ld
                    ; Code optimization see https://github.com/esp8266/Arduino/issues/5790#issuecomment-475672473
                                                -O2
                                                -DBEARSSL_SSL_BASIC
                    ; nonos-sdk 22x
                                                -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x
                    ; nonos-sdk-pre-v3
                    ;                            -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
                    ; lwIP 1.4
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
                    ; lwIP 2 - Low Memory
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
                    ; lwIP 2 - Higher Bandwidth
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
                    ; lwIP 2 - Higher Bandwidth Low Memory no Features
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
                    ; lwIP 2 - Higher Bandwidth no Features (Tasmota default)
                                                -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
                                                -DVTABLES_IN_FLASH
                                                -fno-exceptions
                                                -lstdc++
                    
                    [core_stage]
                    ; *** Esp8266 core for Arduino version latest beta
                    platform                  = https://github.com/platformio/platform-espressif8266.git#feature/stage
                    build_flags               = ${esp82xx_defaults.build_flags}
                                                -Wl,-Teagle.flash.1m.ld
                    ; Code optimization see https://github.com/esp8266/Arduino/issues/5790#issuecomment-475672473
                                                -O2
                                                -DBEARSSL_SSL_BASIC
                    ; nonos-sdk 22y
                                                -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22y
                    ; nonos-sdk 22x
                    ;                            -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x
                    ; nonos-sdk-pre-v3
                    ;                            -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
                    ; lwIP 1.4
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
                    ; lwIP 2 - Low Memory
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
                    ; lwIP 2 - Higher Bandwidth
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
                    ; lwIP 2 - Higher Bandwitdh Low Memory no Features
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
                    ; lwIP 2 - Higher Bandwitdh no Features
                                                -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
                    ; VTABLES in Flash (default)
                                                -DVTABLES_IN_FLASH
                    ; VTABLES in Heap
                    ;                            -DVTABLES_IN_DRAM
                    ; VTABLES in IRAM
                    ;                            -DVTABLES_IN_IRAM
                    ; enable one option set -> No exception recommended
                    ; No exception code in firmware
                                                -fno-exceptions
                                                -lstdc++
                    ; Exception code in firmware /needs much space! 90k
                    ;                           -fexceptions
                    ;                           -lstdc++-exc
                    
                    [core_pre]
                    ; *** Arduino Esp8266 core pre 2.6.x for Tasmota (mqtt reconnects fixed)
                    platform                  = https://github.com/Jason2866/platform-espressif8266.git#Tasmota
                    build_flags               = ${esp82xx_defaults.build_flags}
                                                -Wl,-Tesp8266.flash.1m.ld
                                                -O2
                                                -DBEARSSL_SSL_BASIC
                    ; nonos-sdk 22y
                                                -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22y
                    ; nonos-sdk 22x
                    ;                            -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x
                    ; nonos-sdk-pre-v3
                    ;                            -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
                    ; lwIP 1.4
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
                    ; lwIP 2 - Low Memory
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
                    ; lwIP 2 - Higher Bandwidth
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
                    ; lwIP 2 - Higher Bandwitdh Low Memory no Features
                    ;                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
                    ; lwIP 2 - Higher Bandwitdh no Features
                                                -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
                    ; VTABLES in Flash (default)
                                                -DVTABLES_IN_FLASH
                    ; VTABLES in Heap
                    ;                            -DVTABLES_IN_DRAM
                    ; VTABLES in IRAM
                    ;                            -DVTABLES_IN_IRAM
                    ; enable one option set -> No exception recommended
                    ; No exception code in firmware
                                                -fno-exceptions
                                                -lstdc++
                    ; Exception code in firmware /needs much space!
                    ;                           -fexceptions
                    ;                           -lstdc++-exc
                    
                    [core_active]
                    ; Select one core set for platform and build_flags
                    ;platform                  = ${core_2_3_0.platform}
                    ;build_flags               = ${core_2_3_0.build_flags}
                    ;platform                  = ${core_2_4_2.platform}
                    ;build_flags               = ${core_2_4_2.build_flags}
                    platform                  = ${core_2_5_2.platform}
                    build_flags               = ${core_2_5_2.build_flags}
                    ;platform                  = ${core_stage.platform}
                    ;build_flags               = ${core_stage.build_flags}
                    ;platform                  = ${core_pre.platform}
                    ;build_flags               = ${core_pre.build_flags}
                    
                    [common]
                    framework                 = arduino
                    ;board                     = esp01_1m //ecki945
                    board                     = nodemcuv2
                    board_build.flash_mode    = dout
                    
                    platform                  = ${core_active.platform}
                    build_flags               = ${core_active.build_flags}
                    
                    ; *** Optional Debug messages
                    ;                            -DDEBUG_TASMOTA_CORE
                    ;                            -DDEBUG_TASMOTA_DRIVER
                    ;                            -DDEBUG_TASMOTA_SENSOR
                    
                    ; *** Optional Firmware configurations
                    ;                            -DFIRMWARE_CLASSIC
                    ;                            -DFIRMWARE_MINIMAL
                    ;                            -DFIRMWARE_SENSORS
                    ;                            -DFIRMWARE_BASIC
                    ;                            -DFIRMWARE_KNX_NO_EMULATION
                                                -DFIRMWARE_DISPLAYS
                    ;                            -DFIRMWARE_IR
                    ;                            -DFIRMWARE_IR_CUSTOM
                                                -DUSE_CONFIG_OVERRIDE
                    
                    ; *** Fix espressif8266@1.7.0 induced undesired all warnings
                    build_unflags             = -Wall
                    
                    ; set CPU frequency to 80MHz (default) or 160MHz
                    ;board_build.f_cpu         = 80000000L ecki945
                    board_build.f_cpu         = 160000000L
                    
                    monitor_speed             = 115200
                    upload_speed              = 115200
                    upload_resetmethod        = nodemcu
                    
                    ; *** Upload Serial reset method for Wemos and NodeMCU
                    upload_port               = COM3
                    extra_scripts             = pio/strip-floats.py
                    
                    ; *** Upload file to OTA server using SCP
                    ;upload_port               = user@host:/path
                    ;extra_scripts             = pio/strip-floats.py, pio/sftp-uploader.py
                    
                    ; *** Upload file to OTA server in folder api/arduino using HTTP
                    ;upload_port               = domus1:80/api/upload-arduino.php
                    ;extra_scripts             = pio/strip-floats.py, pio/http-uploader.py
                    
                    ; *********************************************************************
                    
                    devyte created this issue in esp8266/Arduino

                    open Migrate core from NONOS SDK to FreeRTOS SDK #5790

                    devyte created this issue in esp8266/Arduino

                    open Migrate core from NONOS SDK to FreeRTOS SDK #5790

                    1 Reply Last reply Reply Quote 0
                    • J
                      Jaschkopf last edited by

                      Für alle die auch an dem Thema dran sind. Ich hab mittlerweile meinen Zähler ausgelesen und eine ausführliche Anleitung verfasst: https://forum.iobroker.net/topic/27999/stromzähler-per-sonoff-esp8266-auslesen

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      909
                      Online

                      32.1k
                      Users

                      80.8k
                      Topics

                      1.3m
                      Posts

                      nodemcu stromzähler auslesen volkszähler wlan geräte
                      3
                      9
                      3242
                      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