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.
    • 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
                                      • K
                                        Kopterframe @HomeZecke last edited by

                                        @homezecke
                                        Super Projekt, vielen Dank. Werde es auch nachbauen, mit nur einer Phase. Da nur eine vorhanden ist.
                                        Habe ich das richtig verstanden,
                                        PZEM1 RX - D1 Wemo und TX - D2 Wemo?
                                        Viele Grüße

                                        1 Reply Last reply Reply Quote 0
                                        • marcuskl
                                          marcuskl last edited by

                                          Mir ist aufgefallen das die Werte Scheinleistung, Blindleistung und Wirkleistung nicht zusammen passen.
                                          Scheinleistung ist ja Blindleistung und Scheinleistung zusammen gerechnet und wenn ich mir die Messwerte anschaue ergibt des irgendwie kein Sinn?
                                          Bei eich auch so ?
                                          Screenshot_2021-08-04-18-38-20-466_com.android.chrome.jpg

                                          Dolomiti 1 Reply Last reply Reply Quote 0
                                          • Dolomiti
                                            Dolomiti @marcuskl last edited by Dolomiti

                                            @marcuskl
                                            S ist nicht gleich P + Q, sondern 8fad4760-1aa7-4496-80b7-15285eb4734f-image.png

                                            Wikipedia

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            929
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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