Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. IR-Lesekopf (Stromzähler, SML-Format) einbinden

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IR-Lesekopf (Stromzähler, SML-Format) einbinden

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

      Hallo,
      ich habe an unserem Stromzähler einen IR-Lesekopf montiert,
      aktuell kann ich diesen über einen Raspi 3 "auslesen", ich erhalte über das Monitoren der Schnittstelle (minicom) die Daten im "Rohformat":

      24 2c 20 2c 20 ae ac 50 d0 57 d0 48 28 88 4a 75 05 34 74 1b 9d 1d 05 01 89 29 fd ff 72 62 01 65 01 d4 5c 8a 74 77 07
      01 00 60 32 01 01 01 72 62 01 62 00 62 00 52 00 04 44 5a 47 01 77 07 01 00 60 01 00 ff 01 72 62 01 62 00 62 00 52 00
      0b 0a 01 44 5a 47 00 03 b7 63 27 01 77 07 01 00 01 08 00 ff 64 1c 60 04 72 62 01 62 00 62 1e 52 03 63 09 5f 01 77 07
      01 00 02 08 00 ff 01 72 62 01 62 00 62 1e 52 03 63 15 2f 01 01 01 63 2a f3 00 76 05 e0 14 7d 05 62 00 62 00 72 63 02
      01 71 01 63 72 dc 00 00 00 00 1b 1b 1b 1b 1a 03 f7 c0 1b 1b 1b 1b 01 01 01 01 76 05 e1 14 7d 05 62 00 62 00 72 63 01
      

      Der Raspi ist über ein 2m Kabel mit dem IR-Lesekopf im Zählerschrank verbunden,
      mein Server mit dem iobroker ist 1 Stockwerk höher! Ich kann also den Lesekopf nicht direkt mit dem iob-System verbinden.

      Wie kann ich diese Daten trotzdem zu meinem iobroker "bekommen", so dass iobroker dann die Stromwerte verarbeitet?

      Meine Überlegung wäre, dass ich aus diesen Daten MQTT Pakete mache und der auf dem iob-Server installierte MQTT-Broker die Daten entgegen nimmt.
      Alternativ wäre auch eine ESP32 Lösung denkbar (preiswert, kein Raspi/Linux, keine SD/Festplatte), der dann MQTT Pakete mit den Stromwerten versendet. Gibt es hier Lösungsansätze?

      Meister Mopper Codierknecht BananaJoe 3 Replies Last reply Reply Quote 0
      • Meister Mopper
        Meister Mopper @topsurfer last edited by

        @topsurfer

        Du kannst auch den RPI3 zum ioBroker-Slave machen, dort den Smartmeter-Adapter installiern. Dann sind die Daten im ioBroker.

        Das läuft hier wie geschnitten Brot.

        1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @topsurfer last edited by

          @topsurfer
          Macht bei mir ein spottbilliger ESP8266 mit Tasmota.
          Der Saft kommt vom Hutschienennetzteil.

          1 Reply Last reply Reply Quote 0
          • T
            topsurfer last edited by

            @codierknecht

            So eine total unabhängige ESP-Lösung hätte was ...

            hab gerade dein Thread hier gesehen und versucht ...

            Hab ESP mit einem fertig Image von hier ( https://ottelo.jimdofree.com/stromzähler-auslesen-tasmota (v14.2.0)) geflasht,
            Typ "Generic (0)" ausgewählt, Script eingefügt und enabled.
            RX auf GPIO, TX auf GPIO1 angeschlossen, Baud 9600, ...

            Aber ein sensor53 d1 bringt nur:

            19:58:29.487 CMD: sensor53 d1
            19:58:29.493 MQT: energy/tasmota_AA0722/RESULT = {"Time":"2025-02-04T19:58:29","SML":{"CMD":"dump: 1"}}
            

            Da müßten ja dann Daten durchlaufen, oder?

            Hättest du ein anderes Image welches ich testen könnte?

            Der Lesekopf funktioniert, an einem Raspi angeschlossen und Monitoring der Console zeigt durchlaufende Daten ...

            Die Weboberfläche zeigt:
            2025-02-04_200158.png

            Codierknecht MartinP 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @topsurfer last edited by

              @topsurfer

              Hab ESP mit einem fertig Image von hier

              Ich bau mir die Images selbst. Dazu läuft Tasmocompiler als Docker-Container.
              Kommt darauf an, was genau Du da an CPU hast (ESP8266, ESP32).

              Versuch mal das hier:
              tasmota_esp8266_sml.bin

              Ist für einen ESP8266 Generic.

              1 Reply Last reply Reply Quote 0
              • MartinP
                MartinP @topsurfer last edited by

                @topsurfer Mein serieller Lesekopf hat mich durch die Beschriftung der Lötpads für die serielle Verbindung irritiert. Auf dem mit RX beschrifteten Pad sendet der Lesekopf. Auf dem TX Pad wird empfangen.

                1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @topsurfer last edited by

                  @topsurfer also wenn du auf den gängigen Handelsartikeln nach ir lesekopf tasmota wirst du diverse fertige finden ...
                  Wenn du die Teile schon hast, viel Erfolg und Spaß

                  1 Reply Last reply Reply Quote 0
                  • T
                    topsurfer last edited by topsurfer

                    Danke Codierknecht,
                    hab dein Image installiert (hab Wemo D1 Mini, 8266), gleiches verhalten.

                    RX/TX hab ich schon getauscht (mache beschriften halt was erwartet wird, andere was anliegt).

                    Nutze ja GPIO1 und 3, in Tasmota müssen die ja nicht als rx/tx definiert werden, nur "Generic" und Script (incl. enable)... Oder übersehe ich was?

                    Hab einen DWS7612.2 (ZweiWege), nutze das Scripzt "DZG DWS76 (SML) - (Succesfully tested with DWS7612.1T)"

                    Evtl. teste ich morgen mal einen aneren ESP, nicht dsa RX/TX defekt sind

                    Codierknecht 1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @topsurfer last edited by

                      @topsurfer sagte in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                      in Tasmota müssen die ja nicht als rx/tx definiert werden

                      Aber in den Parametern des SML-Scripts:
                      https://tasmota.github.io/docs/Smart-Meter-Interface/#meter-definition
                      Du kannst prinzipiell beliebige GPIO's benutzen. Muss dann halt im Script konfiguriert werden.

                      1 Reply Last reply Reply Quote 0
                      • T
                        topsurfer last edited by topsurfer

                        @codierknecht said in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                        Aber in den Parametern des SML-Scripts:

                        Ja, prinzipiell kann man dort Anpassungen vornehmen.

                        Aber wenn ich "standard" lasse, GPI0 3, Baud 9600, SML, ... muss ja dort nichts angepasst werden.

                        +1,3,s,16,9600,DWS7612

                        Codierknecht 1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @topsurfer last edited by

                          @topsurfer

                          muss ja dort nichts angepasst werden

                          Eigentlich nicht.

                          Ich nutze GPIO 1. Hinter dem s steht bei mir allerdings eine 0

                          >D
                          >B
                          =>sensor53 r 
                          >M 1
                          +1,1,s,0,9600,eHZM
                          
                          1 Reply Last reply Reply Quote 0
                          • T
                            topsurfer last edited by topsurfer

                            So, sehe Daten!

                            Hab "spaßeshalber" mal deinen GPIO-Wert "1" bei mir eingetragen, und schon ging es!
                            2025-02-05_101538.png
                            +1,1,s,0,9600,DWS7612

                            Wobei der beschriftete RX vom Lesekopf bei mir klar an GPIO3/RX vom ESp geht (und immer noch) ! (TX analog auf GPIO1).
                            Evtl. ist tatsächlich am Lesekopf das RX und TX "getauscht", wobei ich ja vorher auch schon RX/TX getauscht hatte ...

                            Was ich jetzt sehe, dass ich nur den Gesamtverbrauch sehe; Pin für Freischaltung des Zählers ist jetzt beantragt.

                            Verständnisfrage:
                            Man kann ja über den zweiten Wert im Script den RX-Pin (GPIO) mitgeben, aber wie und wo wird der genutzte TX mitgeteilt? Oder ist der letztlich gar nicht notwendig?

                            Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @topsurfer last edited by

                              @topsurfer sagte in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                              Oder ist der letztlich gar nicht notwendig?

                              Ich brauche da nix. Hauptsache es funzt 😁

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

                                @topsurfer sagte in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                                Wobei der beschriftete RX vom Lesekopf bei mir klar an GPIO3/RX geht

                                was der Kopf empfängt muss der Gegenüber senden.
                                RX an Rx ist Blödsinn

                                edit:
                                bitte nichts nachträglich ändern!
                                schon gar nicht ohne Kennzeichnung!

                                Die nachfolgenden Posts ergeben sonst (teilweise) keinen Sinn mehr!

                                MartinP 1 Reply Last reply Reply Quote 0
                                • MartinP
                                  MartinP @Homoran last edited by

                                  @homoran sagte in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                                  was der Kopf empfängt muss der Gegenüber senden.
                                  RX an Rx ist Blödsinn

                                  Der Meinung war ich auch, bis ich den TTL-Seriellen Lesekopf bekommen habe...

                                  Dessen Sendeanschluss war mit "RX" beschriftet, musste also an den mit "RX" beschrifteten Pin des ESP-Moduls ...

                                  Auch im dem Schaltplan für den "Volkszähler" ist das so.

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

                                  Vielleicht ist das die Erklärung: Die obere Hälfte EMPFÄNGT das Signal vom Zähler, und RXD bedeutet "vom Zähler empfangene Daten"
                                  volkszähler

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    topsurfer @MartinP last edited by topsurfer

                                    So,
                                    habe heute den Pin für den Stromzähler erhalten, sehe auch mehr Daten als zuvor in der Tasmota GUI, aber nicht im iob bzw. nicht über MQTT.
                                    Warum ist das so? Wie kan ich diese 3 Werte über MQTT in iob "reinbekommen" ?

                                    Das Script sieht aktuell so aus, und liefert ja auch Daten an den ESP mit dem Stromzähöer

                                    >D
                                    >B
                                    =>sensor53 r
                                    >M 1
                                    +1,1,s,0,9600,DWS7612
                                    1,77070100010800ff@1000,Energie,kWh,energy,4
                                    1,77070100020800ff@1000,Energie geliefert,kWh,energy,0
                                    1,77070100100700ff@1,Leistung,W,power,2
                                    #  
                                    

                                    Tasmota Web-Gui zeigt auch korrekte Daten:
                                    2025-02-11_181355.png

                                    Aber im Object in iob (und über MQTT-Excplrer) sieht das so aus, es fehlt der oberer "Energie" Wert:

                                    {
                                      "Time": "2025-02-11T18:17:07",
                                      "DWS7612": {
                                        "energy": 5448,
                                        "power": -3.91
                                      }
                                    }
                                    
                                    Homoran Codierknecht 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @topsurfer last edited by

                                      @topsurfer sagte in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                                      Warum ist das so?

                                      ich hab das mal hierhin verschoben, scheint ja um Tasmota zu gehen

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        topsurfer @Homoran last edited by

                                        OK,
                                        hab es gelöst, im Script war zweimal das Keyword (?) "energy" genutzt,
                                        in anderen Scripts hab eich das keyword "en_out" gsehen und damit ersetzt, jetzt komemn per MQTT alle drei Werte an.

                                        So sieht es nun bei mir aus, für einen DWS7612.2, evtl. kann es ja jemand gebrauchen:

                                        >D
                                        >B
                                        =>sensor53 r
                                        =>sensor53 l2
                                        >M 1
                                        +1,1,s,0,9600,DWS7612
                                        1,77070100010800ff@1000,Energie eingespeist,kWh,en_out,1
                                        1,77070100020800ff@1000,Energie geliefert,kWh,energy,1
                                        1,77070100100700ff@1,Leistung aktuell,W,power,0
                                        # 
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @topsurfer last edited by Codierknecht

                                          @topsurfer sagte in IR-Lesekopf (Stromzähler, SML-Format) einbinden:

                                          Wie kan ich diese 3 Werte über MQTT in iob "reinbekommen" ?

                                          Wie bei allem was mit Tasmota läuft: Über den Sonoff-Adapter.
                                          Der dröselt das JSON für Dich auseinander.

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            topsurfer @Codierknecht last edited by

                                            Dachte es würde laufen ...
                                            in der Tasmota Web-Gui werden die Daten (speziell sichtbar am "Aktuellen Verbrauch: x W") im Sekunden Rhythmus aktualisiert, super.

                                            Aber im MQTT Explorer und in iob sehe ich nur selten aktuallisierungen, evtl. minütlich.

                                            Gibt es noch einen Parameter, wie oft er MQTT rausschicken soll?
                                            Oder ist dieses Intervall normal?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            762
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            26
                                            984
                                            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