Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. SML-Stromzähler (Volkszähler) Datenübermittlung mittels ESP8266

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SML-Stromzähler (Volkszähler) Datenübermittlung mittels ESP8266

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

      Ich habe die TTL Variante, allerdings endet das Kabel meines VZ mit 4 einzelnen Phasen.

      Kann ich die direkt an den Raspberry anschließen, evtl. an den seriellen Anschluss?

      Oder muss ich wirklich in den sauren Apfel beißen und mir einen anderen zulegen?

      Grüße Ingo

      PS: Kein Problem, du kennst dich besser aus als ich, bin noch Anfänger, von daher bin ich für jede Hilfe dankbar.

      1 Reply Last reply Reply Quote 0
      • G
        gemu last edited by

        Habe eine solche Lösung in Tasmota bereits seit letzten Herbst eingebaut. Sie kann SML Binärdaten als auch ASCII OBIS Daten lesen.

        Theo Arends möchte sie aber nicht integrieren weil er meint dass es hauptsächlich für deutsche Zähler gemeint sei.

        Es ist aber eine unschlagbar preiswerte Lösung wenn man nicht seinen Iobroker in unmittelbarer Nähe des Zählerkastens hat. (in diesem Falle würde ich den Smartmeter Adapter mit USB Reader verwenden)

        Für alle die es nachbauen wollen gebe ich hier eine kurze Info.

        1. Zunächst muss man das Datenblatt seines Zählers herunterladen und nachschauen ob der Zähler von sich aus Daten über die Infrarotschnittstelle sendet. Hierzu gibt es auch auf https://wiki.volkszaehler.org/hardware jede Menge Infos. Zähler die erst auf Anforderung Daten senden sind bisher nicht unterstützt.

        2. Jetzt braucht man einen ESP8266 z.B. einen Sonoff Basic. Als "reader" benötigt man lediglich einen Fototransistor

        TEKT5400S (z.B. Ebay) und einen 1 KiloOhm Widerstand. Der Fototransistor wird über ein 2 adriges Kabel zwischen Masse und serial-in (RXD) verbunden, der Widerstand zwischen RXD und VCC (3.3 Volt). Den Fototransistor klebt man dann mit Gewebeband auf die Sendediode des Zählers.

        3. Als Firmware dient die Tasmota Version von meinem Github Repo. Dazu auf https://github.com/gemu2015/Sonoff-Tasmota gehen und den Branch auf SML-OBIS stellen. Dann das zip herunterladen und Entpacken. Dann in der Datei xsns_91_sml.ino einstellen ob der Zähler SML oder OBIS Daten liefert (wenn SML nichts editieren ansonsten #define USE_OBIS. Dann kompilieren und flashen. In der Einstellung der Geräteeigenschaften in Tasmota dann beim serial receive Pin auf "SML" stellen.

        Am besten in der Datei user_config.h seine Router Zugriffsdaten und MQTT Infos eingeben damit sich der ESP direkt verbindet.

        Im iobroker.sonoff Adapter werden dann 3 Objekte erzeugt => Total-In, Total-Out, Current-In/Out (im Falle eines Zweirichtungszählers wird also auch die (z.B. solare) Einspeisung angezeigt, Current-In/Out ist bei Einspeisung dann negativ)

        Im Anhang als Beispiel das Datenblattinfo von Hager und das Webinterface von meinem Zweirichtungszähler.

        5808_hager_ehz.png 5808_webinterface.png

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

          A) Die 4 „Phasen“ kannst Du bei TTL direkt am PI anschließen Fehlt nur das „wo“ und - die Software. Und mein Wissen.

          B) Alternativ Dein TTL-Signal nach Ethernet wandeln (Suchbegriffe „TTL Ethernet Converter“) und an einen virtuellen COM-Port auf dem ioBroker-Rechner senden. Dort mit dem vorhandenen smartmeter-Adapter (der ist für so was gedacht) den COM-Port als Input. Fertig.

          C) Oder ein TTL nach USB-Kabel für den PI (für Anschluss an den USB-Port, nicht GPIO) und dann wieder smartmeter-Adapter:

          Verwendung eines USB-Seriell-Adapters

          Will man Bluetooth behalten, hilft ein USB-seriell-Adapter. Dieses sieht meist aus wie ein Kabel mit einem USB-A-Stecker an einem Ende und einem 9-poligen DB9-Stecker auf der anderen Seite. In den seriellen Anschluss ist ein Hardware-Chipsatz eingebaut, der die notwendige USB-seriell-Umwandlung durchführt. Stecken Sie den Adaper am RasPi ein und wartet Sie einige Sekunden. Dann starten Sie in der Konsole das Kommando dmesg. Am Ende des Outputs sollte nun das Protokoll zum Adapter erscheinen, z. B.:

           ...
          [ 2329.049523] usb 1-1.4: new full-speed USB device number 7 using dwc_otg
          [ 2329.178464] usb 1-1.4: New USB device found, idVendor=0403, idProduct=6001
          [ 2329.178489] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
          [ 2329.178502] usb 1-1.4: Product: USB Serial Converter
          [ 2329.178514] usb 1-1.4: Manufacturer: FTDI
          [ 2329.178526] usb 1-1.4: SerialNumber: FT9GC7Y9
          [ 2329.189325] ftdi_sio 1-1.4:1.0: FTDI USB Serial Device converter detected
          [ 2329.189470] usb 1-1.4: Detected FT232RL
          [ 2329.190563] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB0
          

          Bei diesem Beispiel handet es sich im Adapter um den bekannten Chip von Future Technology Devices International (FTDI). Wichtig für später sind die Hersteller- und Geräte-Id (idVendor=0403, idProduct=6001). Diese können Sie auch später noch mit dem Kommando lsusb ermitteln, z. B.:

             ...
          Bus 001 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
          Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
          Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
             ...
          

          Wenn alles gut gegangen ist, ist Ihr Adapterkabel jetzt installiert und einsatzbereit, aber welches ist unter Linux der zugehörige serielle Port? Wie bei allen Geräten unter Linux, befindet sich die Gerätedatei unterhalb von /dev/. Da es sich um einen USB-basierten seriellen Port handelt, heißt er in der Regel /dev/ttyUSB0. Er kann aber, je nach Treiber, auch andere Namen haben, z. B. /dev/ttyACM0.

          Um den Adapter auf einen festen Namen "festzunageln", kann man eine udev-Regel verwenden. Dazu erstellen Sie an besten eine neue Datei im Verzeichnis /etc/udev/rules.de, die Sie beispielsweise seriell.rules nennen (wichtig ist nur die Endung ".rules"). Dort tragen Sie für den Adapter eine Zeile nach dem Muster

          SUBSYSTEM=="tty", ATTRS{idVendor}=="vvvv", ATTRS{idProduct}=="pppp", SYMLINK+="geraete_name" 
          

          ein. Für "vvvv" wird die Vendor-Id und für "pppp" die Product-Id eingesetzt. Als Gerätenamen wählen Sie irgend etwas Aussagekräftiges, z. B. "Seriell" oder auch "COM1". Sie können dann immer über das symbolische Link /dev/Seriell auf die Schnittstelle zugreifen. Hier noch einige Beispiele für gängige Produkte:

          SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="FTDI"
          SUBSYSTEM=="tty", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0031", SYMLINK+="ONDA"
          SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14ac", SYMLINK+="HUAWEI"
          SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="PROLIFIC" 
          

          Nach einem Reboot steht das Symlink dann zur Verfügung. Um im laufenden Betrieb, etwa nach dem Erstellen der Rules-Datei, zu testen, ob es klappt, können Sie die Datei mittels

          sudo udevadm trigger
          

          einbinden.

          Wenn Sie wollen, dass alle User auf die Schnittstelle zugreifen können (nicht nur diejenigen, die zur Gruppe dialout gehören), hängen Sie noch ', MODE="0666"' an die Regel an.

          Wichtig ist hier wieder TTL-Pegel am Eingang des Wandlers. Wenn nicht, kannst du mit einem kleinen Zwischenkonverter auch das TTL-Signal in richtiges RS232 umwandeln. https://www.amazon.de/Max232-RS232-Konv … B011NOHC4S

          Freiluftverdrahtung 😄
          7446_e60ec599-eb50-49e7-b936-448323237a9f.jpeg

          1 Reply Last reply Reply Quote 0
          • I
            Ingo1977 last edited by

            Danke, eine super ausführliche Antwort, die mir weiterhelfen könnte.

            Wo bzw. wie am FTDI Adapter müssen meine 4 Pins vom VZ Kabel angeschlossen werden?

            Den FTDI Adapter habe ich schon auf 3,3v laufen…

            Mein FTDI Adapter hat aber nur 6 Anschlüsse.

            Und wie würde die Lösung ausschauen wenn ich die 4 Pins direkt am Raspberry (brauche kein Bluetooth) anschließen würde?

            Grüße.

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

              Was für einen FTDI-Adapter hast Du?

              1 Reply Last reply Reply Quote 0
              • I
                Ingo1977 last edited by

                So einen hier…

                https://www.amazon.de/Adapter-FT232RL-A ... B0178HVEH0

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

                  Achtung, ich stecke da auch nicht tief drin. Vielleicht geht auch GPIO. Zögere hier nur wegen ggf. Timingthemen… und Unwissenheit.

                  Deshalb votiere ich erst mal für den FTDI. Den kannst Du an den USB-Port des Raspis anschließen (Micro-USB auf Normalo-USB). Siehst ihn dann wie oben beschrieben?

                  Im zweiten Schritt dann (und erst dann) die vier Drähte passend mit dem FDTI-Adapter verbinden (statt dem DB9 von oben).

                  1 Reply Last reply Reply Quote 0
                  • I
                    Ingo1977 last edited by

                    Hallo Rainer,

                    dein Bild von den Zählerständen zeigt wie bei mir einen seltsamen Wert, nämlich:

                    Zählerstand 1 Summe Wirkarbeit Abgabe - (T2) - 0 kWh (bei dir 1 KW)

                    Das müsste doch die Menge sein, die man einspeisst, oder?

                    Warum wird hier nichts korrekt angezeigt?

                    Grüße Ingo

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      Bitte Screenshot ALLER aufgeklappten Objekte des Smartmeter.0

                      Gruß

                      Rainer

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

                        Jeder Zähler kann andere Kennzahlentypen liefern. Der Smartmeter-Adapter schleift das D0-Datentelegramm nur aufbereitet in den ioBroker durch.

                        So melden meine beiden EMH ED300L Zähler das folgende:

                        7446_2018-07-27_12_51_02-objects_-_iobroker.png

                        Also unterschiedliche Kennzahlentypen obwohl der gleiche Zählertyp. Das kann von Hersteller zu Hersteller sich nochmals unterscheiden.

                        Die Kennzahlen von Homoran bedeuten laut DIN EN 62056-61:2007-06 OBIS

                        1-1:1.8.0 Wirkarbeit Bezug (+) Zählerstand total

                        1-1:1.8.1 Wirkarbeit Bezug (+) Zählerstand Tarif 1

                        1-1:1.8.2 Wirkarbeit Bezug (+) Zählerstand Tarif 2

                        Und der Tarif 2 bei Homoran hat halt 1 kWh als Zählerstand. Das ist so etwas wie Tag- und Nachtstrom. Wenn Du einspeist, hast du eher einen Zähler wie bei mir den smartmeter.0. Also 1.8.x und 2.8.x

                        1 Reply Last reply Reply Quote 0
                        • D
                          darksideofthemoon last edited by

                          ich bin sehr daran interresiert, mit Tasmota meine EDL300l Zähler mit einem Sonoff auszulesen. Leider ich der branch sml-obis nicht mehr verfügbar.

                          Oder wenn es mit dem neuen Universal geht, wie muss ich das machen. Ich finde in Tasmota keine Einstellung SML.

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

                            Schau das hier mal an: https://github.com/gemu2015/Sonoff-Tasmota

                            1 Reply Last reply Reply Quote 0
                            • D
                              darksideofthemoon last edited by

                              Branch auf SML-OBIS auf steht da. dieser ist leider nicht mehr vorhanden.

                              In der Universal Funktion gibts auch eine SML.ino habe diese auf den Basic geflasht finde aber keine Einstellung

                              in der ich In der ich serial receive Pin auf "SML" einstellen kann, wie es in der Anleitung von gemu steht.

                              Oder hat vielleicht noch jemand den SML branch?

                              1 Reply Last reply Reply Quote 0
                              • D
                                darksideofthemoon last edited by

                                Leider kann ich noch keine PN schreiben, da ich neu im Forum bin. Wäre nett, wenn jemand mal gemu eine PN

                                schreibt, das ich seine Hilfe brauche. Ich habe einen Sonoff Basic mit der Universal Version von Gemu geflasht

                                und einen ttl Schreib lesekopf an der seriallen Schnittstelle. Bekomme aber im Webinterface keine Anzeige.

                                Auch kann ich den serial in nicht auf sml stellen. Ich habe einen ED 300 L

                                Danke für eure Hilfe

                                1 Reply Last reply Reply Quote 0
                                • F
                                  funnyfrish last edited by

                                  Auch ich habe habe eine wemos mit der Universal Version von gemu2015 geflasht

                                  Bekomme aber im Webinterface keine Anzeige für SML bei Serial IN, egal ob ich Sonoff Basic oder Generic wähle.

                                  Die Datei "xsns_91_sml.ino" ist aber im sonoff Ordner vorhanden. Könnt ihr uns da auf die Sprünge helfen?
                                  9430_wemos_serial_in.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DrNuke33 last edited by

                                    Hir ist die Lösung für das Problem funnyfrish und darksideofthemoon

                                    http://forum.creationx.de/forum/index.php?thread/1095-d0-z%C3%A4hler-sml-auslesen-mit-tasmota/&postID=14818#post14818

                                    Fehlen aber noch die anderen Werte kann auch an meinem aufbau liegen benutze als Fototransistor eine BPW 40

                                    9448_sonn.png

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      baumsass last edited by

                                      Hi,

                                      im aktuellen Code bei Github ist doch die Datei "xsns_91_sml.ino" im sonoff Verzeichnis nicht mehr vorhanden oder?

                                      Kann mir jemand helfen wie ich dann auf SML umstelle?

                                      Habe auch den ed300l als Stromzähler und wollte den Code downloaden.

                                      Sorry habe es gefunden … scheiß IE auf Arbeit.

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        StefanH 0 last edited by

                                        Kann vielleicht mal jemand noch einen Schaltplan in den Beitrag einstellen, wo man die Verbindung zwischen TEKT5400S und ESP8266 inlusive Wiederstand sehen kann. Danke!

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          LJSven last edited by

                                          Hallo,

                                          ich habe 2 neue Stromzähler (Iskra MT 175) bekommen und möchte diese gern auslesen. Dafür habe ich mir folgende Komponenten besorgt:

                                          https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-ttl-ausgang

                                          In meinem Schaltschrank ist schon ein SONOFF Basic - bekomme ich 2 Leseköpfe an den Sonoff Basic angeschlossen?

                                          Der eine Lesekopf ist für den Verbrauchszähler, der 2. Lesekopf für die Wärmepumpe (mit 2 Tarifen).

                                          Würde mich freuen, wenn mir hier jemand helfen kann.

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pi_noob15 last edited by pi_noob15

                                            Hallo,
                                            gibts Neuigkeiten zum Thema Stromzähler auslesen mit ESP8266.

                                            Würde das auch gerne umsetzen und meinen 2x Richtungszähler von der EnBW(ehz-iw8e2a5l0eq2p) mit nem Wemos D1 und dem Fototransistor TEKT5400S auslesen. Die Daten sollen dann per MQTT an den IOBroker geschickt werden. Habe gesehen das @gemu da schon was für Tasmota angepasst hat: https://github.com/gemu2015/Sonoff-Tasmota
                                            was ich gerne verwenden würde.
                                            Mein Zähler läuft im EDL21 Modus, mehr weiß ich darüber jetzt aber nicht.
                                            Beispielfoto:
                                            6c203b1b-1e05-4101-9545-4cd005add536-grafik.png

                                            P 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

                                            984
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            41
                                            24747
                                            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