Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Tutorial] PZEM-004T 3 Phasen Überwachung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Tutorial] PZEM-004T 3 Phasen Überwachung

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Beowolf @da.phreak last edited by

      @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 1 Reply Last reply Reply Quote 0
      • D
        da.phreak @Beowolf last edited by

        @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 Reply Quote 0
        • B
          Beowolf @da.phreak last edited by

          @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 1 Reply Last reply Reply Quote 0
          • D
            da.phreak @Beowolf last edited by

            @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 Reply Quote 0
            • Basti97
              Basti97 Most Active @da.phreak last edited by

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

              1 Reply Last reply Reply Quote 0
              • V
                videopix last edited by

                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 Reply Quote 0
                • ice77
                  ice77 last edited by

                  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 Bauerstatter B 2 Replies Last reply Reply Quote 0
                  • Johannes Bauerstatter
                    Johannes Bauerstatter @ice77 last edited by

                    @ice77 ich benutze BAT43 Dioden von Ama...

                    ice77 1 Reply Last reply Reply Quote 0
                    • ice77
                      ice77 @Johannes Bauerstatter last edited by

                      @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 Bauerstatter 1 Reply Last reply Reply Quote 0
                      • Johannes Bauerstatter
                        Johannes Bauerstatter @ice77 last edited by

                        @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 Reply Quote 0
                        • B
                          Beowolf @ice77 last edited by

                          @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

                          ice77 1 Reply Last reply Reply Quote 0
                          • ice77
                            ice77 @Beowolf last edited by

                            @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 Reply Quote 0
                            • F
                              frodo777 last edited by

                              @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 HomeZecke 2 Replies Last reply Reply Quote 0
                              • D
                                da.phreak @frodo777 last edited by

                                @frodo777

                                NaN = Not a number

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

                                1 Reply Last reply Reply Quote 0
                                • HomeZecke
                                  HomeZecke @frodo777 last edited by

                                  @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 Reply Quote 0
                                  • F
                                    frodo777 @HomeZecke last edited by 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 1 Reply Last reply Reply Quote 0
                                    • F
                                      frodo777 @frodo777 last edited by

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

                                      HomeZecke 1 Reply Last reply Reply Quote 0
                                      • HomeZecke
                                        HomeZecke @frodo777 last edited by

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

                                        HomeZecke 1 Reply Last reply Reply Quote 0
                                        • HomeZecke
                                          HomeZecke @HomeZecke last edited by

                                          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 Reply Quote 0
                                          • F
                                            frodo777 @HomeZecke last edited by

                                            @homezecke Danke für das Skript hat sofort funktioniert sehr schönes Projekt von Dir.
                                            L.G.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            889
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            how-to messung monitoring pzem-004t-v30 tutorial überwachung
                                            37
                                            283
                                            59965
                                            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