Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Stromzähler über ioBroker auslesen und auswerten

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Josh last edited by

      @josh sagte in Stromzähler über ioBroker auslesen und auswerten:

      Wie wertet ihr diese Daten aus?

      Was mit Tasmota geflasht ist wird bei mir über den Sonoff-Adapter verbunden.
      Der dröselt das JSON auch gleich fein auseinander.

      ea524da3-78ed-40b3-8e4d-f3881fd93541-grafik.png

      Wie sieht denn Dein SML aus?

      J 1 Reply Last reply Reply Quote 0
      • J
        Josh @Codierknecht last edited by Josh

        @codierknecht @ilovegym Hier ist mein Skript:

        >D
        >B
        ;TelePeriod 30
        =>sensor53 r
        >M 1
        ; Device: eBZ DD3 2R06 DTA SMZ1
        ; protocol is D0 SML HEX
        ; 9600@7E1 for OD-type devices, 9600@8N1 for SM-type devices
        +1,3,s,16,9600,eHZ
        ; Zählerstand zu +A, tariflos, 
        ; Auflösung 10 µW*h (6 Vorkomma- und 8 Nachkommastellen)
        1,77070100010800FF@100000000,kaufen,kWh,1_8_0,8
        ; Zählerstand zu +A, Tarif 1
        ; Auflösung 1 W*h (6 Vorkomma- und 3 Nachkommastellen)
        ;1,77070100010801FF@1000,Energie Bezug NT,kWh,1_8_1,3
        ; Zählerstand zu +A, Tarif 2
        ; Auflösung 1 W*h (6 Vorkomma- und 3 Nachkommastellen)
        ;1,77070100010802FF@1000,Energie Bezug HT,kWh,1_8_2,3
        ; Zählerstand zu -A, tariflos
        ; Auflösung 10 µW*h (6 Vorkomma- und 8 Nachkommastellen)
        1,77070100020800FF@100000000,verkaufen,kWh,2_8_0,8
        ; Summe der Momentan-Leistungen in allen Phasen, Auflösung 0,01W (5 Vorkomma- und 2 Nachkommastellen)
        1,77070100100700FF@1,Leistung,W,16_7_0,18
        ; Momentane Leistung in Phase Lx, Auflösung 0,01W (5 Vorkomma- und 2 Nachkommastellen)
        1,77070100240700FF@1,Leistung L1,W,36_7_0,18
        1,77070100380700FF@1,Leistung L2,W,56_7_0,18
        1,770701004C0700FF@1,Leistung L3,W,76_7_0,18
        ; Spannung in Phase Lx, Auflösung 0,1V (nur über MSB)
        ;1,77070100200700FF@1,Spannung L1,V,32_7_0,1
        ;1,77070100340700FF@1,Spannung L2,V,52_7_0,1
        ;1,77070100480700FF@1,Spannung L3,V,72_7_0,1
        ; Statuswort, 4 Byte Information über den Betriebszustand, HEX string
        ; tasmota can decode one string per device only!
        ;1,1-0:96.5.0*255@#),Status1,,96_5_0,0
        ;1,1-0:96.8.0*255@#),Status2,,96_8_0,0
        ; Hersteller-Identifikation, Hersteller-Kennung und Typ mit Software Version
        ;1,77078181C78203FF@#),Herstellerkennung,,Typ,0
        ; Eigentumsnummer nach Kundenwunsch, sonst nach DIN 43863-5
        ;1,77070100000000FF@#),Eigentumsnummer,,0_0_0,0
        ; Geräte-Identifikation, Nach DIN 43863-5 
        ;1,77070100000009FF@#),Identifikation,,96_1_0,0
        #
        

        Ich habe jetzt den SonOff-Adapter installiert und den eHZ-Lesekopf per MQTT an diesen angebunden. Allerdings bekomme ich lediglich diese Objekte:

        3547b6e5-c32f-419b-906c-a3f916215ea6-grafik.png

        Irgendwie ist das wohl etwas wenig. Was übersehe ich?

        MartinP Codierknecht 2 Replies Last reply Reply Quote 0
        • MartinP
          MartinP @Josh last edited by MartinP

          @josh Bei mir funktioniert das seit ca einem Jahr. Ist ein anderer Zähler und ein Node Mcu. Gehe auch über den Sonoff Adapter.
          Die Werte habe ich über den influx Adapter in eine Influx DB geleitet. Da kriegt man die Messwerte dann schnell genug weggeschrieben

          So sieht mein Tasmota Hauptmenu aus...
          91f29df7-9acc-46cb-bbc1-ba57c71a51d3-grafik.png
          So der Tree im Sonoff Objektbaum

          1e726357-9438-4854-9171-82009d622d3e-grafik.png

          Hier muss natürlich der Port des Sonoff Adapters eingetragen werden:
          3328276a-e1df-40aa-9fc2-ff327705a1cd-grafik.png

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

            @josh
            Mein Script sieht so aus:

            >D
            >B
            =>sensor53 r 
            >M 1
            +1,1,s,0,9600,eHZM
            1,77070100100700ff@1,Leistung,W,Power_curr,0
            1,77070100010800ff@1000,Verbrauch,KWh,Total_in,1
            1,77070100010801ff@1,Tarif1,Wh,Tarif1_in,1
            1,77070100010802ff@1,Tarif2,Wh,Tarif2_in,1
            1,=h<hr/> 
            1,77070100020800ff@1000,Einspeisung,kWh,Einspeisung,4
            #
            

            Das sieht im Hauptmenü so aus:
            237cba48-bea6-43f6-a14b-2baf3a7e2d55-grafik.png
            Und in den Objekten so:
            b9e6ebe3-b59e-41c3-96e1-fc464fbed5e0-grafik.png

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

              @josh

              1. zeig mal einen Screenshot von der Tasmotaoberfläche, gleich die Startseite mit den Werten die er anzeigt
              2. Poste mal das hinterlegte Skript für das Auslesen des Zählers.

              Blos weil es Tasmota ist, heißt das nicht das der Sonoff-Adapter das auch schön auseinander dröseln kann. Das bekommt er ganz oft und schön hin, manchmal kann er aber nicht richtig erkennen was da kommt. Bei dir vermutlich nicht wegen "eHZ", er erwartet für so etwas - meine ich - "SML".

              Bei mir - ich mache das auch direkt über MQTT - kommen aber zum Beispiel alle Werte in einem JSON:

              {"Time":"2024-09-22T10:41:01","SML":{"Verbrauch_T1":8481.8923904,"Verbrauch_T2":0.2737477,"Verbrauch_Summe":8482.1661382,"Einspeisung_Summe":3798.6762921,"Watt_L1":-1207.49,"Watt_L2":1492.11,"Watt_L3":1360.93,"Watt_Summe":1645.55,"Volt_L1":237.3,"Volt_L2":236.2,"Volt_L3":235.8}}
              

              und den zerlege ich dann.
              Wenn man dein Skript das auf dem Hichi-Lesekopf läuft mal sieht, könnte man das wohl auch umbauen das alles in einem Rutsch gesendet wird. Vermutlich stehen bei dir ganz viele

              =>Publish ....
              

              Anweisungen drin. Alternativ könnte man über diese das an verschiedene Datenpunkte senden, für schöner halte ich die Version mit alles in einem. Dazu müsstest du vermutlich einfach alle =>Publish auskommentieren in dem du ein ; davor setzt. Dann sollte wieder die normale Meldung gemäß der Teleperiod kommen, per default dann alle 5 Minuten.
              In der Console kannst du den Wert dann mit Teleperiod abfragen und mit Teleperiod 60 z.B. auf alle 60 Sekunden setzen.

              Im Skript könnte man dann auch anpassen das da die Namen stehen statt "76_7_0"

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

                @bananajoe

                Poste mal das hinterlegte Skript für das Auslesen des Zählers

                Hat er doch weiter oben (im Spoiler) gepostet:
                https://forum.iobroker.net/topic/76894/stromzähler-über-iobroker-auslesen-und-auswerten/5

                Ob da jetzt "SML" oder "eHZ" steht, sollte völlig Wumpe sein.
                Bei mir steht "eHZM" ... macht keine Probleme.

                @Josh Welches Zählermodell ist das genau?
                Meiner ist der hier:
                e3d0779b-a034-4e3a-abec-9105f893a99c-grafik.png
                Vielleicht kannst Du ja (testweise) mal mein Script versuchen.

                J 1 Reply Last reply Reply Quote 0
                • J
                  Josh @Codierknecht last edited by Josh

                  Mein Zähler ist der Typ eBZ DD3 2R06 DTA SMZ1.

                  Hier noch mein Startbildschirm in Tasmonta:

                  e3c11e31-b2f1-49d3-9e1c-ca513dd72cbd-grafik.png

                  Ich habe zum Test mal 'eHZ' in 'SML' umbenannt. Keine Änderung. Geht also nicht.

                  Komisch ist auch, dass auf dem Startscreen 6 Werte angezeigt werden, aber per MQTT nur 4 Werte nacheinander übermittelt werden.

                  Mein Script ist, wie schon erwähnt, oben im Spoiler. Aber hier nochmal, aber um einige Kommentare gekürzt:

                  >D
                  >B
                  ;TelePeriod 30
                  =>sensor53 r
                  >M 1
                  +1,3,s,16,9600,eHZ
                  1,77070100010800FF@100000000,kaufen,kWh,1_8_0,8
                  1,77070100020800FF@100000000,verkaufen,kWh,2_8_0,8
                  1,77070100100700FF@1,Leistung,W,16_7_0,18
                  1,77070100240700FF@1,Leistung L1,W,36_7_0,18
                  1,77070100380700FF@1,Leistung L2,W,56_7_0,18
                  1,770701004C0700FF@1,Leistung L3,W,76_7_0,18
                  #
                  

                  Wo soll das =>publish stehen? Ich finde das nirgends. Und der Parameter teleperiod scheint keine Auswirkung zu haben. Die Daten kommen im Sekundenrhythmus vom Zähler und werden gleich per MQTT weitergegeben. Das sollte doch per teleperiod einstellbar sein?!?!

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

                    @josh sagte in Stromzähler über ioBroker auslesen und auswerten:

                    Und der Parameter teleperiod scheint keine Auswirkung zu haben

                    Das wird beim Logging konfiguriert:
                    9ca5af98-8e9b-42b7-a8ed-406459f6e220-grafik.png

                    Soweit ich das verstehe, wird mit dem 4ten Parameter (16) in Zeile 6 ein Mittelwert (Median) gebildet.
                    Da sollte eigentlich eine 0 stehen.

                    +1,3,s,0,9600,eHZ
                    

                    Hast Du das was der Sensor so von sich gibt mal in den Decoder geschmissen?
                    https://tasmota-sml-parser.dicp.net/

                    Komisch ist auch, dass auf dem Startscreen 6 Werte angezeigt werden, aber per MQTT nur 4 Werte nacheinander übermittelt werden.

                    Du hast nur 4 Werte mit dem Flag für "immediately" versehen. Das ist die "18" am Ende der Zeile.

                    <precision> number of decimal places. Add 16 to transmit the data immediately. Otherwise it is transmitted on TelePeriod only.

                    Ich würde das Flag da entfernen und nur alle X Sekunden (wie in Teleperiod definiert) senden.
                    8 Stellen (bei den ersten beiden Einträgen) finde ich auch deutlich überdimensioniert. Das würde ich etwas reduzieren.

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

                      @josh sagte in Stromzähler über ioBroker auslesen und auswerten:

                      Mein Script ist, wie schon erwähnt, oben im Spoiler. Aber hier nochmal, aber um einige Kommentare gekürzt:

                      >D
                      >B
                      ;TelePeriod 30
                      =>sensor53 r
                      >M 1
                      +1,3,s,16,9600,eHZ
                      1,77070100010800FF@100000000,kaufen,kWh,1_8_0,8
                      1,77070100020800FF@100000000,verkaufen,kWh,2_8_0,8
                      1,77070100100700FF@1,Leistung,W,16_7_0,18
                      1,77070100240700FF@1,Leistung L1,W,36_7_0,18
                      1,77070100380700FF@1,Leistung L2,W,56_7_0,18
                      1,770701004C0700FF@1,Leistung L3,W,76_7_0,18
                      #
                      

                      Wo soll das =>publish stehen? Ich finde das nirgends. Und der Parameter teleperiod scheint keine Auswirkung zu haben. Die Daten kommen im Sekundenrhythmus vom Zähler und werden gleich per MQTT weitergegeben. Das sollte doch per teleperiod einstellbar sein?!?!

                      65149a27-8ab8-4e3a-89d6-02228c91ccd0-image.png
                      Die 18 am Ende der Zeilen ist der Grund. Macht 2 Dezimalstellen + 16 für sofort senden.
                      Ändere man alle 18 am Ende zu 2 und er sollte nur noch zur Teleperiod senden

                      Siehe auch https://tasmota.github.io/docs/Smart-Meter-Interface/#meter-metrics

                      J 1 Reply Last reply Reply Quote 1
                      • J
                        Josh @BananaJoe last edited by

                        Das sieht schon viel besser aus. Einfach die 18'er durch 2'er ersetzt. Jetzt werden mit einem MQTT-Datagramm alle Werte geschickt. Damit kann ich arbeiten.

                        Da wäre ich im Leben nicht drauf gekommen. Vielen Dank an euch. Ihr seid die Besten 🙂

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

                        Support us

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

                        879
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        stromzähler hichi tasmota
                        5
                        13
                        869
                        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