Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Tutorial] PZEM-004T 3 Phasen Überwachung

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    215

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

[Tutorial] PZEM-004T 3 Phasen Überwachung

[Tutorial] PZEM-004T 3 Phasen Überwachung

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
pzem-004t-v30monitoringüberwachungmessunghow-totutorial
283 Posts 37 Posters 78.9k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Basti97B Basti97

    @da-phreak Wenn es fertig ist kannst du es ja gerne mal zeigen. Hast du nun ein ESP benutzt oder doch ein androino

    D Offline
    D Offline
    da.phreak
    wrote on last edited by da.phreak
    #162

    @basti97 said in [Tutorial] PZEM-004T 3 Phasen Überwachung:

    @da-phreak Wenn es fertig ist kannst du es ja gerne mal zeigen.

    Hi,

    sorry daß ich so lange nichts von mir hab hören lassen. Soweit funktioniert alles, das Gehäuse und die Firmware finden sich hier:

    https://github.com/technyon/pzemctl

    Die Readme ist noch nicht sehr weit, es steht erstmal nur drin, wie man kompiliert. Kommt dann noch.

    Folgende Hardware hab ich benutzt:

    • Arduino Mega 2560
    • W5500 Modul (https://de.aliexpress.com/item/32901601162.html?spm=a2g0s.9042311.0.0.27424c4djYuO1m)
    • SSD1306 Display (https://www.amazon.de/gp/product/B0777HHQDT/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)
    • Taster (https://www.amazon.de/gp/product/B07DJ8QMB1/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1)
    • last but not least drei pzem004t Module

    Display und Taster sind optional, es läuft auch nur mit LAN. Mit Display kann man mit den Tastern zwischen den Phasen und unterschiedlichen Werten wechseln.

    Das W5500 Modul kommt an die SPI-Pins, zudem muß der Reset PIN mit PIN 53 auf dem Arduino verbunden werden. Das Display läuft dann am noch freien I2C-Port. Die Tasterpins sind 44 und 46, können aber in der Config.h konfiguriert werden.

    Die Konfiguration (IP-Einstellungen und MQTT-Server) werden im EEPROM hinterlegt. Dazu wird beim ersten Start der Setup-Modus initiiert, und ein Webserver wird geöffnet. Die IP-Adresse wird solange auf dem Display angezeigt. Ohne Display muß man die natürlich anders herausfinden (z. B. im Router gucken).

    Wie gesagt, mehr Doku kommt noch.

    20210307_213221.jpg

    18ba5881-3bdb-49de-a4be-9f1ae7f02571.jpeg

    20210325_203231.jpg

    B Basti97B 2 Replies Last reply
    0
    • D da.phreak

      @basti97 said in [Tutorial] PZEM-004T 3 Phasen Überwachung:

      @da-phreak Wenn es fertig ist kannst du es ja gerne mal zeigen.

      Hi,

      sorry daß ich so lange nichts von mir hab hören lassen. Soweit funktioniert alles, das Gehäuse und die Firmware finden sich hier:

      https://github.com/technyon/pzemctl

      Die Readme ist noch nicht sehr weit, es steht erstmal nur drin, wie man kompiliert. Kommt dann noch.

      Folgende Hardware hab ich benutzt:

      • Arduino Mega 2560
      • W5500 Modul (https://de.aliexpress.com/item/32901601162.html?spm=a2g0s.9042311.0.0.27424c4djYuO1m)
      • SSD1306 Display (https://www.amazon.de/gp/product/B0777HHQDT/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)
      • Taster (https://www.amazon.de/gp/product/B07DJ8QMB1/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1)
      • last but not least drei pzem004t Module

      Display und Taster sind optional, es läuft auch nur mit LAN. Mit Display kann man mit den Tastern zwischen den Phasen und unterschiedlichen Werten wechseln.

      Das W5500 Modul kommt an die SPI-Pins, zudem muß der Reset PIN mit PIN 53 auf dem Arduino verbunden werden. Das Display läuft dann am noch freien I2C-Port. Die Tasterpins sind 44 und 46, können aber in der Config.h konfiguriert werden.

      Die Konfiguration (IP-Einstellungen und MQTT-Server) werden im EEPROM hinterlegt. Dazu wird beim ersten Start der Setup-Modus initiiert, und ein Webserver wird geöffnet. Die IP-Adresse wird solange auf dem Display angezeigt. Ohne Display muß man die natürlich anders herausfinden (z. B. im Router gucken).

      Wie gesagt, mehr Doku kommt noch.

      20210307_213221.jpg

      18ba5881-3bdb-49de-a4be-9f1ae7f02571.jpeg

      20210325_203231.jpg

      B Offline
      B Offline
      Beowolf
      wrote on last edited by
      #163

      @da-phreak

      Würde das auch mit einem Nano gehen? Ich habe noch dieses Neztwerkshield hier:

      https://forum.iobroker.net/assets/uploads/files/1572272769452-images.jpg

      Da passt direkt ein Nano drauf.

      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

      D 1 Reply Last reply
      0
      • B Beowolf

        @da-phreak

        Würde das auch mit einem Nano gehen? Ich habe noch dieses Neztwerkshield hier:

        https://forum.iobroker.net/assets/uploads/files/1572272769452-images.jpg

        Da passt direkt ein Nano drauf.

        D Offline
        D Offline
        da.phreak
        wrote on last edited by
        #164

        @beowolf Hi. Da wird der SRAM leider etwas knapp. Grad der Netzwerk-Teil braucht schon ein paar kb, so daß es schon 8kb sein müssen. Man könnte den Display und Input-Teil noch rausschmeißen, aber auch dann wird es knapp. Kannst aber auch einen ESP32 nehmen und einfach das WLAN nicht benutzen.

        B 1 Reply Last reply
        0
        • D da.phreak

          @beowolf Hi. Da wird der SRAM leider etwas knapp. Grad der Netzwerk-Teil braucht schon ein paar kb, so daß es schon 8kb sein müssen. Man könnte den Display und Input-Teil noch rausschmeißen, aber auch dann wird es knapp. Kannst aber auch einen ESP32 nehmen und einfach das WLAN nicht benutzen.

          B Offline
          B Offline
          Beowolf
          wrote on last edited by
          #165

          @da-phreak

          Dann wäre das doch sehr gut, oder?

          https://german.alibaba.com/product-detail/wt32-eth01-wifi-bluetooth-rj45-gateway-two-in-one-embedded-ethernet-module-serial-port-transparent-transmission-62430552102.html

          Grüße
          Manfred

          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

          D 1 Reply Last reply
          0
          • B Beowolf

            @da-phreak

            Dann wäre das doch sehr gut, oder?

            https://german.alibaba.com/product-detail/wt32-eth01-wifi-bluetooth-rj45-gateway-two-in-one-embedded-ethernet-module-serial-port-transparent-transmission-62430552102.html

            Grüße
            Manfred

            D Offline
            D Offline
            da.phreak
            wrote on last edited by
            #166

            @beowolf Ich benutze die Ethernet.h library. Die unterstützt W5100, W5200 und W5500 chips. Auf dem Modul von alibaba ist wohl ein LAN8720a drauf. Out of the box also nein, müßte erst nachforschen, wie einfach sich das anpassen läßtm

            1 Reply Last reply
            0
            • D da.phreak

              @basti97 said in [Tutorial] PZEM-004T 3 Phasen Überwachung:

              @da-phreak Wenn es fertig ist kannst du es ja gerne mal zeigen.

              Hi,

              sorry daß ich so lange nichts von mir hab hören lassen. Soweit funktioniert alles, das Gehäuse und die Firmware finden sich hier:

              https://github.com/technyon/pzemctl

              Die Readme ist noch nicht sehr weit, es steht erstmal nur drin, wie man kompiliert. Kommt dann noch.

              Folgende Hardware hab ich benutzt:

              • Arduino Mega 2560
              • W5500 Modul (https://de.aliexpress.com/item/32901601162.html?spm=a2g0s.9042311.0.0.27424c4djYuO1m)
              • SSD1306 Display (https://www.amazon.de/gp/product/B0777HHQDT/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)
              • Taster (https://www.amazon.de/gp/product/B07DJ8QMB1/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1)
              • last but not least drei pzem004t Module

              Display und Taster sind optional, es läuft auch nur mit LAN. Mit Display kann man mit den Tastern zwischen den Phasen und unterschiedlichen Werten wechseln.

              Das W5500 Modul kommt an die SPI-Pins, zudem muß der Reset PIN mit PIN 53 auf dem Arduino verbunden werden. Das Display läuft dann am noch freien I2C-Port. Die Tasterpins sind 44 und 46, können aber in der Config.h konfiguriert werden.

              Die Konfiguration (IP-Einstellungen und MQTT-Server) werden im EEPROM hinterlegt. Dazu wird beim ersten Start der Setup-Modus initiiert, und ein Webserver wird geöffnet. Die IP-Adresse wird solange auf dem Display angezeigt. Ohne Display muß man die natürlich anders herausfinden (z. B. im Router gucken).

              Wie gesagt, mehr Doku kommt noch.

              20210307_213221.jpg

              18ba5881-3bdb-49de-a4be-9f1ae7f02571.jpeg

              20210325_203231.jpg

              Basti97B Offline
              Basti97B Offline
              Basti97
              Most Active
              wrote on last edited by
              #167

              @da-phreak Super Danke
              Ich bin in der letzten Zeit auch nicht weiter gekommen da ich leider keine Zeit hatte. Ich versuche in den nächsten Tagen mal wieder mich mit den PZEMs zu beschäftigen. Deine Variante ist eine super coole Variante die ich unbedingt mal ausprobieren muss.

              Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

              1 Reply Last reply
              0
              • V Offline
                V Offline
                videopix
                wrote on last edited by
                #168

                Die Überwachung funktioniert bei mir einwandfrei. Allerdings hat eins der Module eine erhebliche Abweichung. Wenn ich mit der Herstellersoftware kalibrieren will, brauche ich ein Calibration Password. Wie lautet das? 0x3721 funktioniert nicht. Oder gibt es sonst eine Möglichkeit, die Messergebnisse anzupassen?

                1 Reply Last reply
                0
                • ice77I Offline
                  ice77I Offline
                  ice77
                  wrote on last edited by
                  #169

                  Hallo Leute,
                  mal eine kurze Frage. Ich will in kürze die 3 PZEM 004 V3 an einem D1 Mini in Betrieb nehmen und habe gesehen dass hier die TX mit einer Diode bestückt wird. Nirgends wird aber der genaue Typ der Diode beschrieben. In der Elektronik Grabbelkiste hab ich Dioden des Typs ZPD 5,6 gefunden. Würden diese funktionieren? 5,6 deutet ja auch 5,6V hin. Passt das?

                  Johannes BauerstatterJ B 2 Replies Last reply
                  0
                  • ice77I ice77

                    Hallo Leute,
                    mal eine kurze Frage. Ich will in kürze die 3 PZEM 004 V3 an einem D1 Mini in Betrieb nehmen und habe gesehen dass hier die TX mit einer Diode bestückt wird. Nirgends wird aber der genaue Typ der Diode beschrieben. In der Elektronik Grabbelkiste hab ich Dioden des Typs ZPD 5,6 gefunden. Würden diese funktionieren? 5,6 deutet ja auch 5,6V hin. Passt das?

                    Johannes BauerstatterJ Offline
                    Johannes BauerstatterJ Offline
                    Johannes Bauerstatter
                    wrote on last edited by
                    #170

                    @ice77 ich benutze BAT43 Dioden von Ama...

                    ice77I 1 Reply Last reply
                    0
                    • Johannes BauerstatterJ Johannes Bauerstatter

                      @ice77 ich benutze BAT43 Dioden von Ama...

                      ice77I Offline
                      ice77I Offline
                      ice77
                      wrote on last edited by
                      #171

                      @johannes-bauerstatter
                      verstanden. Hast Du diese "bemessen" oder aus dem Bauch heraus ausgewählt? Wie bekäme ich heraus ob ggf. noch welche aus der "Grabbelkiste" funktionieren könnten? Auf was muss man achten?

                      Johannes BauerstatterJ 1 Reply Last reply
                      0
                      • ice77I ice77

                        @johannes-bauerstatter
                        verstanden. Hast Du diese "bemessen" oder aus dem Bauch heraus ausgewählt? Wie bekäme ich heraus ob ggf. noch welche aus der "Grabbelkiste" funktionieren könnten? Auf was muss man achten?

                        Johannes BauerstatterJ Offline
                        Johannes BauerstatterJ Offline
                        Johannes Bauerstatter
                        wrote on last edited by
                        #172

                        @ice77 Sorry, aus dem Bauch. Ich würds einfach probieren da bei den 3,3V nicht viel passieren sollte außer dass es nicht funktioniert. Ob du das Risiko eingehen willst musst du selbst entscheiden außer es meldet sich noch ein Elektroniker der das besser beurteilen kann.

                        1 Reply Last reply
                        0
                        • ice77I ice77

                          Hallo Leute,
                          mal eine kurze Frage. Ich will in kürze die 3 PZEM 004 V3 an einem D1 Mini in Betrieb nehmen und habe gesehen dass hier die TX mit einer Diode bestückt wird. Nirgends wird aber der genaue Typ der Diode beschrieben. In der Elektronik Grabbelkiste hab ich Dioden des Typs ZPD 5,6 gefunden. Würden diese funktionieren? 5,6 deutet ja auch 5,6V hin. Passt das?

                          B Offline
                          B Offline
                          Beowolf
                          wrote on last edited by
                          #173

                          @ice77 sagte in [Tutorial] PZEM-004T 3 Phasen Überwachung:

                          Hallo Leute,
                          mal eine kurze Frage. Ich will in kürze die 3 PZEM 004 V3 an einem D1 Mini in Betrieb nehmen und habe gesehen dass hier die TX mit einer Diode bestückt wird. Nirgends wird aber der genaue Typ der Diode beschrieben. In der Elektronik Grabbelkiste hab ich Dioden des Typs ZPD 5,6 gefunden. Würden diese funktionieren? 5,6 deutet ja auch 5,6V hin. Passt das?

                          Hallo Ice,

                          schaue mal hier.

                          https://forum.iobroker.net/topic/42261/pzem-004t-3-phasen-überwachung-mit-espeasy-v2-0

                          Ich habe das mit einem Wemos d1 Mini mit der ESPeasy gemacht. Alles drann ohne Widerstand und Diode. Läuft ohne Probleme.

                          Klemm es doch einfach mal drann. Was soll schon passieren? Entweder es läuft oder eben nicht.

                          Grüße
                          Manfred

                          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                          ice77I 1 Reply Last reply
                          0
                          • B Beowolf

                            @ice77 sagte in [Tutorial] PZEM-004T 3 Phasen Überwachung:

                            Hallo Leute,
                            mal eine kurze Frage. Ich will in kürze die 3 PZEM 004 V3 an einem D1 Mini in Betrieb nehmen und habe gesehen dass hier die TX mit einer Diode bestückt wird. Nirgends wird aber der genaue Typ der Diode beschrieben. In der Elektronik Grabbelkiste hab ich Dioden des Typs ZPD 5,6 gefunden. Würden diese funktionieren? 5,6 deutet ja auch 5,6V hin. Passt das?

                            Hallo Ice,

                            schaue mal hier.

                            https://forum.iobroker.net/topic/42261/pzem-004t-3-phasen-überwachung-mit-espeasy-v2-0

                            Ich habe das mit einem Wemos d1 Mini mit der ESPeasy gemacht. Alles drann ohne Widerstand und Diode. Läuft ohne Probleme.

                            Klemm es doch einfach mal drann. Was soll schon passieren? Entweder es läuft oder eben nicht.

                            Grüße
                            Manfred

                            ice77I Offline
                            ice77I Offline
                            ice77
                            wrote on last edited by
                            #174

                            @beowolf
                            ja passiweren wird da nicht viel - das stimmt schon. Ich wollte diese Lösung fertig machen und bei meinen Eltern installieren. Wenn das dann nicht stabil läuft ist es wieder mit langer Fahrerei verbunden und einem meckernden paps...
                            Ggf. versuch ich mal ein paar Dioden aus der Grabbelkiste. Wenns geht is gut, wenn nicht bestell ich die BAT43. Prinzipiell laufen tuts ja schon... nur obs dauerhaft läuft, das hab ich noch nicht probiert. Wollte halt wenn die "Fachleute" eine Diode auf die TX Leitung setzen... das auch so machen... weil auf "komische Fehler" wegen so etwas hatte ich einfach keine Lust.

                            Aber try & error geht natürlich auch.

                            1 Reply Last reply
                            0
                            • F Offline
                              F Offline
                              frodo777
                              wrote on last edited by
                              #175

                              @HomeZecke
                              Ich habe dein Projekt erfolgreich nachgebaut , Danke für das Teilen deines Skripts. Läuft Super. Ich habe einen Datenpunt wo ich nichts mit anfangen kann
                              f9cc05f0-b7fd-43ee-ade2-f70267437260-image.png
                              Was bedeutet bei Energie/Verbrauch nan. Und Energie/Verbrauchs-Startwert ist das der Zählerstand bei Inbetriebnahme? Dann muss ich mir mit einen Blockly den aktuellen Zählerstand ausrechnen.

                              D HomeZeckeH 2 Replies Last reply
                              0
                              • F frodo777

                                @HomeZecke
                                Ich habe dein Projekt erfolgreich nachgebaut , Danke für das Teilen deines Skripts. Läuft Super. Ich habe einen Datenpunt wo ich nichts mit anfangen kann
                                f9cc05f0-b7fd-43ee-ade2-f70267437260-image.png
                                Was bedeutet bei Energie/Verbrauch nan. Und Energie/Verbrauchs-Startwert ist das der Zählerstand bei Inbetriebnahme? Dann muss ich mir mit einen Blockly den aktuellen Zählerstand ausrechnen.

                                D Offline
                                D Offline
                                da.phreak
                                wrote on last edited by
                                #176

                                @frodo777

                                NaN = Not a number

                                Passiert z. B. wenn eine ungültige Rechenoperation ausgeführt wird, wie teilen durch 0.

                                1 Reply Last reply
                                0
                                • F frodo777

                                  @HomeZecke
                                  Ich habe dein Projekt erfolgreich nachgebaut , Danke für das Teilen deines Skripts. Läuft Super. Ich habe einen Datenpunt wo ich nichts mit anfangen kann
                                  f9cc05f0-b7fd-43ee-ade2-f70267437260-image.png
                                  Was bedeutet bei Energie/Verbrauch nan. Und Energie/Verbrauchs-Startwert ist das der Zählerstand bei Inbetriebnahme? Dann muss ich mir mit einen Blockly den aktuellen Zählerstand ausrechnen.

                                  HomeZeckeH Offline
                                  HomeZeckeH Offline
                                  HomeZecke
                                  wrote on last edited by
                                  #177

                                  @frodo777

                                  Hallo!

                                  Der Verbrauch wird addiert aus den Werten VerbrauchL1, VerbrauchL2 Und VerbrauchL3. Dazu kommt noch der Verbrauchs-Startwert, um mit dem "richtigen" Zähler zu synchronisieren. Zeigen denn die 3 Verbrauchswerte Daten an?

                                  Grüße...

                                  F 1 Reply Last reply
                                  0
                                  • HomeZeckeH HomeZecke

                                    @frodo777

                                    Hallo!

                                    Der Verbrauch wird addiert aus den Werten VerbrauchL1, VerbrauchL2 Und VerbrauchL3. Dazu kommt noch der Verbrauchs-Startwert, um mit dem "richtigen" Zähler zu synchronisieren. Zeigen denn die 3 Verbrauchswerte Daten an?

                                    Grüße...

                                    F Offline
                                    F Offline
                                    frodo777
                                    wrote on last edited by frodo777
                                    #178

                                    @homezecke Wird in deinem Skript mit Energie/Verbrauch-Startwert gerechnet oder muss ich mir den aktuellen Zählerstand selbst ausrechnen? Sonst funktioniert alles bestens. Der Fehler lag wohl an einer wackeligen Steckverbindung. Ich habe glaube ich noch einen Fehler gefunden
                                    9f71cd04-e5e8-405b-84e5-7ea422aa9d24-image.png
                                    müsste das nicht old_frequenz_pzem2 heißen?
                                    Deine Visualisierung habe ich auch übernommen, sieht richtig gut aus. Wir hast du das mit dem Verbrauch Gestern und Heute gelöst. Könntest du das Skript teilen, du scheinst da mehr Ahnung zu haben als ich.
                                    Grüße

                                    F 1 Reply Last reply
                                    0
                                    • F frodo777

                                      @homezecke Wird in deinem Skript mit Energie/Verbrauch-Startwert gerechnet oder muss ich mir den aktuellen Zählerstand selbst ausrechnen? Sonst funktioniert alles bestens. Der Fehler lag wohl an einer wackeligen Steckverbindung. Ich habe glaube ich noch einen Fehler gefunden
                                      9f71cd04-e5e8-405b-84e5-7ea422aa9d24-image.png
                                      müsste das nicht old_frequenz_pzem2 heißen?
                                      Deine Visualisierung habe ich auch übernommen, sieht richtig gut aus. Wir hast du das mit dem Verbrauch Gestern und Heute gelöst. Könntest du das Skript teilen, du scheinst da mehr Ahnung zu haben als ich.
                                      Grüße

                                      F Offline
                                      F Offline
                                      frodo777
                                      wrote on last edited by
                                      #179

                                      @frodo777 Ich beantworte mir die Frage mal selbst. Man muß bei der Eingabe des Zählerstands den Hacken bei Bestätigt machen dann funktioniert es auch. Nach langen probieren hab ich es heraus gefunden. Jetzt wird auch der aktuelle Zählerstand angezeigt. Das Skript für den Verbrauch Gestern und Heute hätte ich aber immer noch gern.
                                      Grüße...

                                      HomeZeckeH 1 Reply Last reply
                                      0
                                      • F frodo777

                                        @frodo777 Ich beantworte mir die Frage mal selbst. Man muß bei der Eingabe des Zählerstands den Hacken bei Bestätigt machen dann funktioniert es auch. Nach langen probieren hab ich es heraus gefunden. Jetzt wird auch der aktuelle Zählerstand angezeigt. Das Skript für den Verbrauch Gestern und Heute hätte ich aber immer noch gern.
                                        Grüße...

                                        HomeZeckeH Offline
                                        HomeZeckeH Offline
                                        HomeZecke
                                        wrote on last edited by
                                        #180

                                        @frodo777 Hallo!

                                        Ja, hast Du richtig erkannt, ist ein kleiner BUG. Es muss natürlich "old_frequenz_pzem2" heißen. Copy & paste -Fehler...😁 Also vor dem compilieren noch einmal anpassen. Ist aber nicht sooo schlimm, da die Frequenzwerte der drei Phasen eh sehr eng bei einander liegen.

                                        Deiner bitte zum script kann ich entsprechen.☺ Musst Dich bitte allerdings noch ein paar Tage gedulden. Habe viel um die Ohren. Stelle es hier rein, sobald ich die Zeit dazu habe...

                                        Grüße...

                                        HomeZeckeH 1 Reply Last reply
                                        0
                                        • HomeZeckeH HomeZecke

                                          @frodo777 Hallo!

                                          Ja, hast Du richtig erkannt, ist ein kleiner BUG. Es muss natürlich "old_frequenz_pzem2" heißen. Copy & paste -Fehler...😁 Also vor dem compilieren noch einmal anpassen. Ist aber nicht sooo schlimm, da die Frequenzwerte der drei Phasen eh sehr eng bei einander liegen.

                                          Deiner bitte zum script kann ich entsprechen.☺ Musst Dich bitte allerdings noch ein paar Tage gedulden. Habe viel um die Ohren. Stelle es hier rein, sobald ich die Zeit dazu habe...

                                          Grüße...

                                          HomeZeckeH Offline
                                          HomeZeckeH Offline
                                          HomeZecke
                                          wrote on last edited by
                                          #181

                                          Hallo,

                                          wie gewünscht mein script:

                                          /*
                                          ////////////////////////////////////////////////////////////////////////////////
                                          ////////////////////////////////////////////////////////////////////////////////
                                          
                                              Stromzählerscript für PZEM und IOBroker     von Homezecke
                                              ------------------------------------------------------------------------
                                          
                                          
                                          ////////////////////////////////////////////////////////////////////////////////
                                          ////////////////////////////////////////////////////////////////////////////////
                                          */
                                          
                                          
                                          //Initialisierungen-------------------------------------------------------------
                                          createState('StromVerbrauchGestern',0 ); 
                                          createState('StromVerbrauchHeute',0 );
                                          createState('StromKostenHeute',0 );
                                          
                                          createState('Energie.StromVerbrauchStunde',0 )
                                                                            
                                          var timer1 = schedule('1 00 * * *', function() {zaehler()} );
                                          var timer2 = schedule('*/60 * * * *',function() {stundenZaehler()} );  
                                          var tageszaehler = 0;
                                          var tagesDiff = 0;
                                          var stromLetzte = 0;
                                          var tarifEinheit = 27.54 // Kosten pro Einheit in cent angeben!
                                          
                                          
                                          tageszaehler = getState('javascript.0.StromVerbrauchHeute'/*StromVerbrauchHeute*/).val;
                                          tagesDiff    = getState('mqtt.0.Energie.Verbrauch'/*Energie/Verbrauch*/).val - tageszaehler;
                                          
                                          
                                          
                                          
                                          if (tageszaehler == 0)
                                          {
                                             tagesDiff =getState('mqtt.0.Energie.Verbrauch'/*Energie/Verbrauch*/).val ;   
                                          }
                                          
                                          
                                          //==============================================================================
                                          //Stromverbrauch -Stundenweise setzen (Stundenzähler)
                                          function stundenZaehler() {
                                          
                                              var diff
                                              var stromAktuell = getState('javascript.0.StromVerbrauchHeute').val;
                                          
                                             
                                              if (stromLetzte != 0)
                                              {
                                                if (stromLetzte < stromAktuell)
                                                  {
                                                    diff = stromAktuell - stromLetzte;   
                                                  }
                                                else
                                                  {
                                                    diff = stromAktuell
                                                  }     
                                              }
                                              else diff = 0;
                                              
                                              stromLetzte = stromAktuell;
                                              
                                          
                                          
                                              setState('Energie.StromVerbrauchStunde',diff);
                                          
                                          }
                                          
                                          //==============================================================================
                                          //Stromverbrauch -Gestern und Heute- setzen  (Tageszähler)
                                          function zaehler() {
                                           
                                            var gesamt = getState('mqtt.0.Energie.Verbrauch'/*Energie/Verbrauch*/).val;
                                          
                                            tageszaehler = getState('javascript.0.StromVerbrauchHeute'/*StromVerbrauchHeute*/).val;
                                            setState('javascript.0.StromVerbrauchGestern'/*StromVerbrauchGestern*/,tageszaehler);
                                            setState('javascript.0.StromKostenGestern',(tageszaehler * tarifEinheit) / 100);  
                                            setState('javascript.0.StromVerbrauchHeute'/*StromVerbrauchHeute*/,0)
                                            tagesDiff = gesamt;
                                            tageszaehler = 0;
                                           
                                          }
                                          
                                          
                                          //==============================================================================
                                          //Gesamtzählerstand ändert sich
                                          on({id: 'mqtt.0.Energie.Verbrauch'/*Energie/Verbrauch*/, change: "ne"}, function (obj)
                                          
                                          {
                                              
                                              setState('javascript.0.StromVerbrauchHeute'/*StromVerbrauchHeute*/,obj.state.val - tagesDiff);
                                              setState('javascript.0.StromKostenHeute',((obj.state.val - tagesDiff) * tarifEinheit) / 100);
                                           
                                          });
                                          
                                          F 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          46

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe