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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • 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.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      @Phips_CH:

      Den Solarertrag habe ich wie auch den Stromverbrauch aus dem Netz habe ich in kWh.

      Wie kann ich das den rechnen?

      steh grad mächtig im Wald. `

      Paul hat das schon vorbereitet.

      Du musst den aktuellen Stromverbrauch errechnen indem du die Änderung deiner Gesamtenergie in kurzen Abständen z.B. 5 Sekunden von dem vorherigen Wert abziehst und dann noch die Einheit Stunde auf die 5sec herunterrechnest. (Das meinte Paul in einem Früheren Post mit integrieren.)

      Das sind aber alles mathematische Feinheiten, Paul hat das in seinem Skript schon drin.

      Wohin jetzt mit dem Skript?

      Du musst den Javascript-Adapter installieren, ein neues Skript anlegen (NICHT unter global!), javaskript rechts oben im Pulldown auswählen, den Code von Paul in den Editor kopieren und speichern.

      http://www.iobroker.net/?page_id=6818&lang=de#Bedienung

      Gruß

      Rainer

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

        @Homoran:

        …den Code von Paul in den Editor kopieren und speichern. `
        …, das Objekt für die Leistung erzeugen und die richtigen Datenpunkt-IDs eingeben.

        1 Reply Last reply Reply Quote 0
        • 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

                                853
                                Online

                                31.8k
                                Users

                                79.9k
                                Topics

                                1.3m
                                Posts

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