Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Stromzähler über ioBroker auslesen und auswerten

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    524

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Stromzähler über ioBroker auslesen und auswerten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
stromzähler hichi tasmota
13 Beiträge 5 Kommentatoren 1.6k Aufrufe 6 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
    Josh
    schrieb am zuletzt editiert von
    #1

    Hallo liebe ioBroker-Gemeinde!

    Ich habe nur auch einen digitalen Stromzähler bekommen. Diesen habe ich mit dem Hichi-Lesekopf ausgestattet. Den Zähler habe ich per Pin freigeschaltet. Auf dem Hichi ist Tasmota vorinstalliert (verbunden per WLAN) und ich habe diesen per MQTT angebunden. Die Daten kommen auch an.

    Nun zu meinem Problem bzw. der Aufgabe, die ich erledigen will.

    Per MQTT kommen in regelmäßigen kurzen Zeitabständen die Werte rein. Siehe hier ein Auszug:

    10:10:06.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:06","eHZ":{"76_7_0":6.43}}
    10:10:07.693 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"16_7_0":218.60}}
    10:10:07.714 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"36_7_0":256.25}}
    10:10:07.734 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"56_7_0":-68.79}}
    10:10:07.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"76_7_0":31.14}}
    10:10:08.692 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"16_7_0":218.60}}
    10:10:08.712 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"36_7_0":256.25}}
    10:10:08.733 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"56_7_0":-72.49}}
    

    Wie man am Timestamp sehen kann, kommen fünf Datenpakete direkt hintereinander rein: 16_7_0 bis 76_7_0. Wie wertet ihr diese Daten aus? In den Objekten sehe ich nur

    {"Time":"2024-09-14T10:20:39","eHZ":{"76_7_0":-192.71}}
    

    Das liegt wohl daran, dass das immer der letzte Wert in der Reihe ist und die anderen Daten vorab sehr schnell rein kommen. Löst ihr das per Blockly-Skript? Oder gibt es einen Adapter, der das für einen erledigt?

    Wenn das per Blockly verarbeitet werden soll, habt ihr mal eine Beispielskript zur Hand?

    Ich freue mich auf euer Feedback.

    Master: Intel NUC10i5-32GB-1TB_SSD - Proxmox 8.3 - LXC Debian 11
    Slave1: RPi3B - ZigBee CC2652P - 10x DS18B20
    Slave2: RPi3B - ZigBee CC2538+CC2592
    node.js 20.18.1 / NPM 10.8.2 / js-controller 7.0.3

    ? CodierknechtC BananaJoeB 3 Antworten Letzte Antwort
    0
    • J Josh

      Hallo liebe ioBroker-Gemeinde!

      Ich habe nur auch einen digitalen Stromzähler bekommen. Diesen habe ich mit dem Hichi-Lesekopf ausgestattet. Den Zähler habe ich per Pin freigeschaltet. Auf dem Hichi ist Tasmota vorinstalliert (verbunden per WLAN) und ich habe diesen per MQTT angebunden. Die Daten kommen auch an.

      Nun zu meinem Problem bzw. der Aufgabe, die ich erledigen will.

      Per MQTT kommen in regelmäßigen kurzen Zeitabständen die Werte rein. Siehe hier ein Auszug:

      10:10:06.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:06","eHZ":{"76_7_0":6.43}}
      10:10:07.693 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"16_7_0":218.60}}
      10:10:07.714 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"36_7_0":256.25}}
      10:10:07.734 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"56_7_0":-68.79}}
      10:10:07.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"76_7_0":31.14}}
      10:10:08.692 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"16_7_0":218.60}}
      10:10:08.712 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"36_7_0":256.25}}
      10:10:08.733 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"56_7_0":-72.49}}
      

      Wie man am Timestamp sehen kann, kommen fünf Datenpakete direkt hintereinander rein: 16_7_0 bis 76_7_0. Wie wertet ihr diese Daten aus? In den Objekten sehe ich nur

      {"Time":"2024-09-14T10:20:39","eHZ":{"76_7_0":-192.71}}
      

      Das liegt wohl daran, dass das immer der letzte Wert in der Reihe ist und die anderen Daten vorab sehr schnell rein kommen. Löst ihr das per Blockly-Skript? Oder gibt es einen Adapter, der das für einen erledigt?

      Wenn das per Blockly verarbeitet werden soll, habt ihr mal eine Beispielskript zur Hand?

      Ich freue mich auf euer Feedback.

      ? Offline
      ? Offline
      Ein ehemaliger Benutzer
      schrieb am zuletzt editiert von
      #2

      @josh

      2 Tipps:

      1. les dir hier mal alles durch - da ist ein Link auch zum auswerten der Daten vom Zaehler..

      https://ottelo.jimdofree.com/stromzähler-auslesen-tasmota/#GoogleScript

      1. nutze den Sonoff Adapter anstatt den MQTT, der loest die Daten schoener auf, wenn Tasmota drauf ist..
      J 1 Antwort Letzte Antwort
      1
      • ? Ein ehemaliger Benutzer

        @josh

        2 Tipps:

        1. les dir hier mal alles durch - da ist ein Link auch zum auswerten der Daten vom Zaehler..

        https://ottelo.jimdofree.com/stromzähler-auslesen-tasmota/#GoogleScript

        1. nutze den Sonoff Adapter anstatt den MQTT, der loest die Daten schoener auf, wenn Tasmota drauf ist..
        J Offline
        J Offline
        Josh
        schrieb am zuletzt editiert von
        #3

        @ilovegym Vielen Dank. Ich werde mir das am WE mal in Ruhe ansehen und mich bei Fragen ggf. nochmal melden :-)

        Master: Intel NUC10i5-32GB-1TB_SSD - Proxmox 8.3 - LXC Debian 11
        Slave1: RPi3B - ZigBee CC2652P - 10x DS18B20
        Slave2: RPi3B - ZigBee CC2538+CC2592
        node.js 20.18.1 / NPM 10.8.2 / js-controller 7.0.3

        1 Antwort Letzte Antwort
        0
        • J Josh

          Hallo liebe ioBroker-Gemeinde!

          Ich habe nur auch einen digitalen Stromzähler bekommen. Diesen habe ich mit dem Hichi-Lesekopf ausgestattet. Den Zähler habe ich per Pin freigeschaltet. Auf dem Hichi ist Tasmota vorinstalliert (verbunden per WLAN) und ich habe diesen per MQTT angebunden. Die Daten kommen auch an.

          Nun zu meinem Problem bzw. der Aufgabe, die ich erledigen will.

          Per MQTT kommen in regelmäßigen kurzen Zeitabständen die Werte rein. Siehe hier ein Auszug:

          10:10:06.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:06","eHZ":{"76_7_0":6.43}}
          10:10:07.693 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"16_7_0":218.60}}
          10:10:07.714 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"36_7_0":256.25}}
          10:10:07.734 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"56_7_0":-68.79}}
          10:10:07.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"76_7_0":31.14}}
          10:10:08.692 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"16_7_0":218.60}}
          10:10:08.712 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"36_7_0":256.25}}
          10:10:08.733 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"56_7_0":-72.49}}
          

          Wie man am Timestamp sehen kann, kommen fünf Datenpakete direkt hintereinander rein: 16_7_0 bis 76_7_0. Wie wertet ihr diese Daten aus? In den Objekten sehe ich nur

          {"Time":"2024-09-14T10:20:39","eHZ":{"76_7_0":-192.71}}
          

          Das liegt wohl daran, dass das immer der letzte Wert in der Reihe ist und die anderen Daten vorab sehr schnell rein kommen. Löst ihr das per Blockly-Skript? Oder gibt es einen Adapter, der das für einen erledigt?

          Wenn das per Blockly verarbeitet werden soll, habt ihr mal eine Beispielskript zur Hand?

          Ich freue mich auf euer Feedback.

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von
          #4

          @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?

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          J 1 Antwort Letzte Antwort
          0
          • CodierknechtC Codierknecht

            @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 Offline
            J Offline
            Josh
            schrieb am zuletzt editiert von Josh
            #5

            @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?

            Master: Intel NUC10i5-32GB-1TB_SSD - Proxmox 8.3 - LXC Debian 11
            Slave1: RPi3B - ZigBee CC2652P - 10x DS18B20
            Slave2: RPi3B - ZigBee CC2538+CC2592
            node.js 20.18.1 / NPM 10.8.2 / js-controller 7.0.3

            MartinPM CodierknechtC 2 Antworten Letzte Antwort
            0
            • J 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?

              MartinPM Online
              MartinPM Online
              MartinP
              schrieb am zuletzt editiert von MartinP
              #6

              @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

              Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
              Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
              Linux pve 6.8.12-16-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
              Remote-Access über Wireguard der Fritzbox

              1 Antwort Letzte Antwort
              0
              • J 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?

                CodierknechtC Offline
                CodierknechtC Offline
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #7

                @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

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                1 Antwort Letzte Antwort
                0
                • J Josh

                  Hallo liebe ioBroker-Gemeinde!

                  Ich habe nur auch einen digitalen Stromzähler bekommen. Diesen habe ich mit dem Hichi-Lesekopf ausgestattet. Den Zähler habe ich per Pin freigeschaltet. Auf dem Hichi ist Tasmota vorinstalliert (verbunden per WLAN) und ich habe diesen per MQTT angebunden. Die Daten kommen auch an.

                  Nun zu meinem Problem bzw. der Aufgabe, die ich erledigen will.

                  Per MQTT kommen in regelmäßigen kurzen Zeitabständen die Werte rein. Siehe hier ein Auszug:

                  10:10:06.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:06","eHZ":{"76_7_0":6.43}}
                  10:10:07.693 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"16_7_0":218.60}}
                  10:10:07.714 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"36_7_0":256.25}}
                  10:10:07.734 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"56_7_0":-68.79}}
                  10:10:07.756 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:07","eHZ":{"76_7_0":31.14}}
                  10:10:08.692 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"16_7_0":218.60}}
                  10:10:08.712 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"36_7_0":256.25}}
                  10:10:08.733 MQT: esp/ESP01-02/tele/SENSOR = {"Time":"2024-09-14T10:10:08","eHZ":{"56_7_0":-72.49}}
                  

                  Wie man am Timestamp sehen kann, kommen fünf Datenpakete direkt hintereinander rein: 16_7_0 bis 76_7_0. Wie wertet ihr diese Daten aus? In den Objekten sehe ich nur

                  {"Time":"2024-09-14T10:20:39","eHZ":{"76_7_0":-192.71}}
                  

                  Das liegt wohl daran, dass das immer der letzte Wert in der Reihe ist und die anderen Daten vorab sehr schnell rein kommen. Löst ihr das per Blockly-Skript? Oder gibt es einen Adapter, der das für einen erledigt?

                  Wenn das per Blockly verarbeitet werden soll, habt ihr mal eine Beispielskript zur Hand?

                  Ich freue mich auf euer Feedback.

                  BananaJoeB Offline
                  BananaJoeB Offline
                  BananaJoe
                  Most Active
                  schrieb am zuletzt editiert von BananaJoe
                  #8

                  @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"

                  ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • BananaJoeB 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"

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @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.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    J 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @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 Offline
                      J Offline
                      Josh
                      schrieb am zuletzt editiert von Josh
                      #10

                      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?!?!

                      Master: Intel NUC10i5-32GB-1TB_SSD - Proxmox 8.3 - LXC Debian 11
                      Slave1: RPi3B - ZigBee CC2652P - 10x DS18B20
                      Slave2: RPi3B - ZigBee CC2538+CC2592
                      node.js 20.18.1 / NPM 10.8.2 / js-controller 7.0.3

                      CodierknechtC BananaJoeB 2 Antworten Letzte Antwort
                      0
                      • J 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?!?!

                        CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von Codierknecht
                        #11

                        @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.

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Antwort Letzte Antwort
                        1
                        • J 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?!?!

                          BananaJoeB Offline
                          BananaJoeB Offline
                          BananaJoe
                          Most Active
                          schrieb am zuletzt editiert von BananaJoe
                          #12

                          @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

                          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                          J 1 Antwort Letzte Antwort
                          1
                          • BananaJoeB 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 Offline
                            J Offline
                            Josh
                            schrieb am zuletzt editiert von
                            #13

                            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 :-)

                            Master: Intel NUC10i5-32GB-1TB_SSD - Proxmox 8.3 - LXC Debian 11
                            Slave1: RPi3B - ZigBee CC2652P - 10x DS18B20
                            Slave2: RPi3B - ZigBee CC2538+CC2592
                            node.js 20.18.1 / NPM 10.8.2 / js-controller 7.0.3

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


                            Support us

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

                            885

                            Online

                            32.5k

                            Benutzer

                            81.8k

                            Themen

                            1.3m

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

                            • Du hast noch kein Konto? Registrieren

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