Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] aktueller Stromverbrauch anzeigen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Frage] aktueller Stromverbrauch anzeigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Phips_CH last edited by

      Hallo

      Ich hab mich mal etwas in die ioBroken-Thematik eingelesen um auf einem minimal Stand zu sein.

      In der Zwischenzeit habe ich auch den JavaScript-Adapter installiert.

      Ich habe den Code von Paul so im Skript eingefügt allerdings ohne Erfolg. Ich hab den Faktor absichtlich mal so gelassen, um zu schauen ob überhaupt etwas ankommt oder passiert.

      Hast du das so gemeint?
      2604_20170501_2.jpg

      Wenn ich dann bei Ergebnisse schaue und nach der Bezeichnung des Skitps Filtere erhalte ich folgenden:

      2604_20170501_1.jpg

      Somit kann ich auch im vis kein Object einfügen und den Skript vergeben.

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

        Es fehlen noch die Datenpunkt-IDs (oberste 2 Zeilen), vermutlich für die Leistung noch der gesamte Datenpunkt.

        1 Reply Last reply Reply Quote 0
        • P
          Phips_CH last edited by

          Da hab ich jetzt bei er zweiten Zeilen die ID des Stromzählers, der die Leistung des Netzbezuges misst, eingefügt. Allerdings hat er sich nun von meiner CCU2 verabschiedet. Ich musste nun die CCU2 neu starten.

          2604_20170501_3.jpg

          Energie hab ich ja gar noch nicht.

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

            @Phips_CH:

            Den Solarertrag habe ich wie auch den Stromverbrauch aus dem Netz habe ich in kWh. `
            Das widerspricht der Aussage
            @Phips_CH:

            Energie hab ich ja gar noch nicht. `
            Ist der Solarertrag nun Energie (in kWh) oder Leistung (in kW) ?

            Wenn die Messwerte Leistungswerte sind, benötigst Du das Skript nicht, sondern

            var idEinspeisung = '...';
            var idNetzbezug = '...';
            var idPV-Leistung = '...';
            var idVerbrauch = '...';   // Datenpunkt im Reiter Objekte erzeugen (Typ: Zahl, Einheit: kW)
            
            var Einspeisung = getState(idEinspeisung).val;  // Eispeiseleistung in kW
            var Netzbezug = getState(idNetzbezug).val;      // Netzbezug in kW
            var PV-Leistung = getState(idPVleistung).val;   // PV-Leistung in kW
            
            function verbrauch() {
                var x = PV-Leistung - Einspeisung + Netzbezug;
                setState(idVerbrauch, x);
            }
            
            verbrauch();   // Script start
            
            on(idEinspeisung, function(dp) {
                Einspeisung = dp.state.val;
                verbrauch();
            });
            on(idNetzbezug, function(dp) {
                Netzbezug = dp.state.val;
                verbrauch();
            });
            on(idPV-Leistung, function(dp) {
                PV-Leistung = dp.state.val;
                verbrauch();
            });
            
            

            Welche Datenpunkt-ID zu welchem Messwert gehört, musst Du wissen.

            1 Reply Last reply Reply Quote 0
            • P
              Phips_CH last edited by

              Guten Tag

              Ist wohl nicht ganz so einfach zu erklären.

              Ich habe einen Zweirichtungszähler. Da habe ich zwei Kanäle die ich ablesen kann.

              Bei Kanal 1 lese ich die gesamte Leistung in kWh die ich aus dem Netz beziehe. Der aktuelle Zählerstand liegt aktuell bei rund 7769.556kWh.

              Wenn ich keinen Strom produziere zählt dieser einfach hoch. Dies zum Beispiel Nachts, bei schlechtem Wetter, wenn Schnee drauf liegt oder ich mehr Strom verbrauch als ich selber produzier.

              Wenn das Wetter schön ist, wird mit dem Strom vom Dach der eigene Bedarf gedeckt und der "Überschuss" ins Netz gespeist. dann zählt der Zähler (Kanal2) hoch dieser liegt aktuell bei rund 13'419.291kWh.

              Das bedeutet das im Idealfall der Stand bei Kanal 2 immer grösser wird und der Stand bei Kanal 1 so langsam wie möglich ansteigt, denn dann verdiene ich Geld.

              Ich hoffe, dass ich es nun geschafft habe, meine Situation besser zu erläutern.

              In deinem Skript von gestern habe ich 4 Variablen die ich vergeben müsste. ich habe aber nur zwei. das könnte aber gut davon kommen, dass ich meine Situation zu ungenau erklärt habe.

              An dieser stelle nochmals ein herzliches Dankschön für eure Unterstützung.

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                Wie wir dir bereits gesagt haben kannst du allein aus den Werten den echten Verbrauch nicht ermitteln.

                Im "Idealfall" liegt dein Verbrauch exakt auf der Höhe deoner PV Produktion und dann ist der Wert aif deinem Zähler = 0

                Du benötigst noch mindestens einen weiteren Wert.

                Gruß

                Rainer

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

                  @Homoran:

                  Du benötigst noch mindestens einen weiteren Wert. `
                  So ist es !
                  @Phips_CH:

                  Bei Kanal 1 lese ich die gesamte Leistung in kWh die ich aus dem Netz beziehe. Der aktuelle Zählerstand liegt aktuell bei rund 7769.556kWh.

                  Wenn ich keinen Strom produziere zählt dieser einfach hoch. Dies zum Beispiel Nachts, bei schlechtem Wetter, wenn Schnee drauf liegt oder ich mehr Strom verbrauch als ich selber produzier.

                  Wenn das Wetter schön ist, wird mit dem Strom vom Dach der eigene Bedarf gedeckt und der "Überschuss" ins Netz gespeist. dann zählt der Zähler (Kanal2) hoch dieser liegt aktuell bei rund 13'419.291kWh. `
                  Wenn es so ist, hast Du lediglich die Energiewerte des Zweirichtungszählers zur Verfügung. Dann ist allerdings der gezeigte Chart nicht nachvollziehbar, denn dort sind Leistungswerte dargestellt. Hast Du auf der CCU ein Skript laufen, das die Leistungswerte errechnet und diese sind im Chart dargestellt ?

                  1 Reply Last reply Reply Quote 0
                  • P
                    Phips_CH last edited by

                    Stimmt jetzt ist mir klar wieso ich die Leistung der PVA benötige.

                    Wie will ich sonst feststellen was ich Produziere bzw. ich benötige.

                    Ich hab im Netz habe ich gelesen, das es über den node-red Adapter möglich sein sollte, den Wechselrichter der PVA auslesen zu können. dann hätte ich den aktuellen Wert der Produzierten Leistung vom Dach.

                    Ich werde mich mal daran machen, an die Daten des Wechselrichters zu kommen.

                    in der CCU2 sehe ich in einem Diagramm die Kurve der PVA und der Leistung die ich aus dem Netzt beziehe allerdings sehe ich die aktuell benötigte Leistung nicht.

                    ==> Sorry Überlegungsfehler. von mir. :roll:

                    Gruss

                    Philipp

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

                      @Phips_CH:

                      Ich werde mich mal daran machen, an die Daten des Wechselrichters zu kommen. `
                      Welchen Typ Wechselrichter hast Du ? Hier im Forum sind schon einige behandelt worden.

                      Wenn Du dann den Wechselrichter auslesen kannst, sollte es auch mit der Ermittlunf des Verbrauchs klappen, etwa so:

                      var Zaehler = 'hm-rpc.0.NEQ0860966';
                      var idBezugsenergie     = Zaehler + '.1.IEC_ENERGY_COUNTER';
                      var idEinspeiseenergie  = Zaehler + '.2.IEC_ENERGY_COUNTER';
                      var idBezugsleistung    = 'Elektro.Bezug';
                      var idEinspeiseleistung = 'Elektro.Einspeisung';
                      var idVerbrauch         = 'Elektro.Verbrauch';
                      
                      function createLeistung(name, desc) {
                          createState(name, 0, {  // Datenpunkt für Leistung
                      		type: 'number',
                      		desc: desc,
                      		unit: 'kW',
                      		def:  0,
                      		min:  0,
                      		max:  30,
                      		read: true,
                      		write: true
                      	});
                      }
                      
                      createLeistung(idBezugsleistung, 'Leistung Netzbezug');
                      createLeistung(idEinspeiseleistung, 'Leistung Netzeinspeisung');
                      createLeistung(idVerbrauch, 'Leistung Stromverbrauch');
                      
                      var Bezugsleistung;
                      var Einspeiseleistung;
                      var PV_Leistung = 0;
                      var Verbrauch;
                      var faktor = 3600000; // Umrechnungsfaktor kWh --> kW 
                      
                      function runden(wert, stellen) {
                          return Math.round(wert * Math.pow(10, stellen)) / Math.pow(10, stellen);
                      }
                      
                      function energy2power(dp) {
                          var actval = dp.state.val;      // aktueller Energiewert
                          var lastval = dp.oldState.val;  // letzter Energiewert
                          var acttime = dp.state.lc;      // aktuelle Zeit in ms
                          var lasttime = dp.oldState.lc;  // Zeitpunkt zu letztem Energiewert in ms
                          return faktor * (actval - lastval) / (acttime - lasttime);  // Leistung
                      }
                      
                      function Verbrauchsberechnung () {
                          Verbrauch = PV_Leistung + Bezugsleistung - Einspeiseleistung;
                          setState(idVerbrauch, runden(Verbrauch, 3));
                      }
                      
                      on(idBezugsenergie, function(dp) {         // triggert bei jeder Wertänderung
                          Bezugsleistung = energy2power(dp);
                          setState(idBezugsleistung, runden(Bezugsleistung, 3);
                          Verbrauchsberechnung();
                      });
                      
                      on(idEinspeiseenergie, function(dp) {         // triggert bei jeder Wertänderung
                          Einspeiseleistung = energy2power(dp);
                          setState(idEinspeiseleistung, runden(Einspeiseleistung, 3);
                          Verbrauchsberechnung();
                      });
                      
                      /* Hier kann der Wert der PV-Leistung aus dem Wechselrichter ermittelt werden
                      
                      */
                      
                      

                      Das Skript ist nicht getestet, da ich solche Gerätschaften nicht habe.

                      1 Reply Last reply Reply Quote 0
                      • P
                        Phips_CH last edited by

                        Ich habe einen SMA Sunny Tripower STP 8000TL-10

                        Wie ich gelesen habe hat dieser kein Modbus. dieser wäre hilfreich für die Verbindung mit ioBroker.

                        Mit dem Raspberry habe ich es geschafft, eine Verbindung zum Wechselrichter aufzubauen.

                        Allerdings habe ich da einige gelesen, die davon wegekommen sind.

                        1 Reply Last reply Reply Quote 0
                        • P
                          Phips_CH last edited by

                          So ich hab's nun, dass ich den aktuelle Leistung in kW der PV sehe.

                          Wenn ich nun den Skript ausführe, sehe ich den Momentanleistung. die stimmt ziemlich genau mit dem auf dem Stromzähler überein. Wenn ich aber bei Objekte die Einspeisung anschaue, hab ich da immer 0.198kW aber das kann nicht sein, da es zur Zeit draussen dunkel ist.

                          in der Zeile 27 habe ich das "0" durch die ID der aktuellen Leistung der PVA ersetzt. Ist das richtig?

                          1 Reply Last reply Reply Quote 0
                          • P
                            Phips_CH last edited by

                            Nun erhalte ich den Wert in kW. also 0.746kW. ich möchte den Wert aber gerne in W. denn so kann ich den Wert mit dem der PV gegenüberstellen und der Vergleich ist um einiges deutlicher zu sehen.

                            Ich bin mir auch nicht sicher, ob ich im Code von oben den Wert für die PV-Leistung am richtigen Ort eingefügt habe, denn mein Wert ist "null".

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

                            Support us

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

                            850
                            Online

                            32.0k
                            Users

                            80.4k
                            Topics

                            1.3m
                            Posts

                            4
                            34
                            7756
                            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