Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Vergleich Solarprognosen Solarwetter und brightsky

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Vergleich Solarprognosen Solarwetter und brightsky

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @klassisch last edited by Homoran

      @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

      den ganzen Tag mit Auto weg. Und heute ist es wieder voll geladen

      du fährst jetzt auch elektrisch?
      Da sieht man mal, wie die Zeit vergeht und wie lange ich dich nicht mehr gesehen hab!

      @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

      für meinen einfachen Anwendungsfall nicht sooo wichtig

      ach ja!

      Screenshot_20250917-213934_Firefox.jpg
      mein Schlechtwetterprogramm hat heute sein bestes getan!
      nicht gerade wirklich netzdienlich, zwar nur 1.5 kWh eingespeist, allerdings nicht früh morgens*.
      aber die Batterie war planmäßig voll.

      EDIT:

      • doch, tatsächlich einiges früh morgens
        Screenshot_20250917-214947_Firefox.jpg
        aber eher zufällig.
      K 1 Reply Last reply Reply Quote 1
      • T
        ticaki Developer @klassisch last edited by

        @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

        Bei mir wurde einfach aus

        const energy_kWh = poa_kwh_m2 * AREA_M2 * EFFICIENCY
        
        const energy_kWh = Math.min(poa_kwh_m2 * AREA_M2 * EFFICIENCY, inverterLimit);
        

        Ich hab 2 Gruppen an einem Wechselrichter - das ist dann schon etwas komplexer 🙂

        K 1 Reply Last reply Reply Quote 0
        • K
          klassisch Most Active @Homoran last edited by

          @homoran sagte in Vergleich Solarprognosen Solarwetter und brightsky:

          du fährst jetzt auch elektrisch?

          Ja schon ein paar Jahre. Passt gut zur PV-Anlage und fährt angenehm. Davor Plug-In Hybrid. Ging auch gut 100km elektrisch.

          Da sieht man mal, wie die Zeit vergeht und wie lange ich dich nicht mehr gesehen hab!

          Da hast Du recht! Corona hat leider die Kasseler HM-Tradition gebrochen und das ioBroker Meeting war mir zu weit weg und ich hatte anderes zu tun.

          Screenshot_20250917-213934_Firefox.jpg
          mein Schlechtwetterprogramm hat heute sein bestes getan!
          nicht gerade wirklich netzdienlich, zwar nur 1.5 kWh eingespeist, allerdings nicht früh morgens.
          aber die Batterie war planmäßig voll.

          Respekt!
          Ich mache das noch manuell. Und nicht so perfektionistisch 😉

          Homoran 2 Replies Last reply Reply Quote 1
          • K
            klassisch Most Active @ticaki last edited by klassisch

            @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

            Ich hab 2 Gruppen an einem Wechselrichter - das ist dann schon etwas komplexer 🙂

            Die Komplexität hast Du ja schon bei der Definition der Strings und deren Orientierung. Solange es nur einen WR gibt, kann man dessen summarische PV Leistung entsprechend mit Math.max clippen. Kompliziert wird es wenn es mehrere Strings an mehreren WR gibt. Beispielsweise zwei Strings an einem und drei Strings am anderen. Das würde die Konfiguration aufwendiger gestalten. Könnte man aber umgehen, indem man für jeden WR eine eigene Instanz anlegt. Jetzt nicht so hyperelegant. Aber ich würde es als user so machen. Einfach und robust. Und wer mit den Ergebnissen mehr rechnen oder regeln will, kann es ja mittels Skript selber rechnen.

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

              @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

              Und nicht so perfektionistisch

              Das Schönwetterprogramm rechnet auch nur den Energiebedarf zum laden und verteilt das auf die Stunden bis der max Est unter die 60% PV Leistung fällt. ab da dann laden mit voller Leistung
              Das war bei wechselnder Bewölkung viel zu wenig, da die Leistungsspitzen während Wolkenlücken nicht genutzt wurden.
              Jetzt rechne ich zusätzlich noch einen Faktor aus, der sich aus der fehlenden Energie der letzten Stunden ergibt, die wegen Wolken nicht produziert wurde.

              so was ganz einfaches 😉
              Screenshot_20250917-222217_Firefox.jpg

              EDIT:
              Für dich in js

              var Faktor, chargingPower_akt, endeRegeln, T_akt, sonnig, T_diff, working, chargingPower, Ladeliste, my_60Prozent, T_End, chargingPowerFakt, startLaden, Intervall, timeout;
              
              // Beschreibe diese Funktion …
              async function Ladesteuerung() {
               chargingPower_akt = getState('modbus.1.holdingRegisters.100.2705_maxCharge').val;
               chargingPower = Math.floor((((98 - getState('modbus.1.inputRegisters.100.843_SOC').val) * 300) / 54) / T_diff);
               if (Ladeliste.length > 0) {
                 Faktor = Math.round((Math.min(Math.max(1 / (getState('sourceanalytix.0.Messwerte__0__Batterie__Ladung.currentYear.consumed.01_currentDay').val / Ladeliste.reduce(function(x, y) {return x + y;}, 0)), 0.5), 4)) * 100) / 100;
                 setState('Messwerte.0.Solarspitzen.chargingFaktor' /* chargingFaktor */, Faktor, true);
               }
               chargingPowerFakt = Math.min(Math.max(1, Math.round(chargingPower * Faktor)), 96);
               Ladeliste.push(chargingPower * 0.054);
               setState('Messwerte.0.Solarspitzen.Ladeliste' /* Ladeliste */, Ladeliste, true);
               setStateDelayed('Messwerte.0.Solarspitzen.Logdaten2' /* Logdaten2 */, ([working == false ? '<br><strong><font size=3><font color=yellow>Laden gestartet</font></font></strong> <br><br>' : '<br>','Restzeit ',T_diff,'h, SoC ',getState('modbus.1.inputRegisters.100.843_SOC').val,'%, <br>Ladestrom ',chargingPower,'A, Faktor ',Faktor,'<br>',(T_diff > 1) && (Math.abs(chargingPowerFakt - chargingPower_akt) > 5) && (getState('modbus.1.inputRegisters.100.843_SOC').val < 90) ? ['<strong><font size=3><font color=gold>Max. Ladestrom wird geändert</font></font></strong> von ',chargingPower_akt,'A auf ',chargingPowerFakt,'A<br>'].join('') : ['Max. Ladestrom von ',chargingPower_akt,'A wird nicht auf ',chargingPowerFakt,'A geändert<br>'].join('')].join('')), true, 300, false);
               if (!getState('Messwerte.0.Solarspitzen.manual_override').val) {
                 if ((T_diff > 1) && (Math.abs(chargingPowerFakt - chargingPower_akt) > 5) && (getState('modbus.1.inputRegisters.100.843_SOC').val < 90)) {
                   if (!sonnig) {
                     setState('modbus.1.holdingRegisters.100.2705_maxCharge', (getState('modbus.1.inputRegisters.100.843_SOC').val < 90 ? Math.min(Math.max(1, chargingPowerFakt), 100) : Math.min(Math.max(1, chargingPower), 100)));
                   }
                 }
               }
              }
              
              // Beschreibe diese Funktion …
              async function Sonnenzeit() {
               T_akt = Math.round((((new Date().getTime()) - getDateObject(getAstroDate('sunrise', undefined, 0)).getTime()) / 3600000) * 100) / 100;
               T_diff = Math.round((T_End - T_akt) * 100) / 100;
              }
              
              
              Faktor = getState('Messwerte.0.Solarspitzen.chargingFaktor').val;
              endeRegeln = getState('Messwerte.0.Solarspitzen.regelnOff').val;
              working = getState('Messwerte.0.Solarspitzen.regelnLaeuft').val;
              Ladeliste = getState('Messwerte.0.Solarspitzen.Ladeliste').val;
              T_End = getState('Messwerte.0.Solarspitzen.Time3').val;
              T_diff = Math.round((T_End - T_akt) * 100) / 100;
              on({ id: [].concat(['Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               if (((obj.state ? obj.state.val : '') > 300) && (getState('Messwerte.0.Batterie.Ladung').val > 100) && working && (!endeRegeln)) {
                 await Sonnenzeit();
                 if (!Intervall) {
                   startLaden = true;
                   Intervall = setInterval(async () => {
                     startLaden = false;
                     await Ladesteuerung();
                   }, 3600000);
                 }
               } else if (((obj.state ? obj.state.val : '') > 300) && (getState('Messwerte.0.Batterie.Ladung').val > 100) && (!working) && (!endeRegeln)) {
                 await Sonnenzeit();
                 if (T_akt > 0.7) {
                   Faktor = Math.round((Math.min(Math.max(T_akt / 0.8, 1), 4)) * 100) / 100;
                 } else {
                   Faktor = 1;
                 }
                 setState('Messwerte.0.Solarspitzen.chargingFaktor' /* chargingFaktor */, Faktor, true);
                 (() => { if (Intervall) { clearInterval(Intervall); Intervall = null; }})();
                 await Ladesteuerung();
                 working = true;
                 setState('Messwerte.0.Solarspitzen.regelnLaeuft' /* regelnLaeuft */, true, true);
                 (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
                 timeout = setTimeout(async () => {
                   timeout = null;
                   my_60Prozent = true;
                 }, 300000);
               }
              });
              
              on({ id: [].concat(['Messwerte.0.Solaranlage.Momentanwerte.Solarestimate2']), change: 'lt' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               if (((obj.state ? obj.state.val : '') < 3400) && ((obj.oldState ? obj.oldState.val : '') >= 3400) && (!endeRegeln) && working && my_60Prozent) {
                 (() => { if (Intervall) { clearInterval(Intervall); Intervall = null; }})();
                 endeRegeln = true;
                 setState('Messwerte.0.Solarspitzen.regelnOff' /* regelnOff */, true, true);
                 working = false;
                 setState('Messwerte.0.Solarspitzen.regelnLaeuft' /* regelnLaeuft */, false, true);
                 setState('Messwerte.0.Solarspitzen.Logdaten2' /* Logdaten2 */, (['<br><strong><font size=3><font color=lightgreen>Regelung beendet</font></font><br>','Ladeleistung wird fix geändert auf ',92,'A</strong><br>'].join('')), true);
                 if (!sonnig) {
                   setState('modbus.1.holdingRegisters.100.2705_maxCharge', 92);
                 }
                 setState('Messwerte.0.Solarspitzen.Time3' /* Time3 */, (((new Date().getTime()) - getAstroDate('sunrise', undefined, 0)) / 3600000), true);
               }
              });
              
              on({ id: [].concat(['modbus.1.holdingRegisters.100.2705_maxCharge']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               if ((obj.state ? obj.state.from : '') != 'system.adapter.javascript.1') {
                 setState('Messwerte.0.Solarspitzen.manual_override' /* manual_override */, true, true);
               } else {
                 setState('Messwerte.0.Solarspitzen.manual_override' /* manual_override */, false, true);
               }
              });
              
              on({ id: [].concat(['shuttercontrol.0.info.Elevation']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               if (((obj.state ? obj.state.val : '') < -3) && endeRegeln) {
                 endeRegeln = false;
                 setState('Messwerte.0.Solarspitzen.regelnOff' /* regelnOff */, false, true);
                 T_End = getState('Messwerte.0.Solarspitzen.Time3').val;
                 Ladeliste = [];
                 setState('Messwerte.0.Solarspitzen.Ladeliste' /* Ladeliste */, Ladeliste, true);
                 my_60Prozent = false;
               }
              });
              
              on({ id: [].concat(['Messwerte.0.Solarspitzen.forecastSonnig']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               sonnig = (obj.state ? obj.state.val : '');
              });
              

              und nicht lachen!
              ich kann besser frickeln als wie du!

              1 Reply Last reply Reply Quote 1
              • T
                ticaki Developer @klassisch last edited by

                @klassisch
                Wenn man sowas einbaut dann richtig oder garnicht 🙂

                K 1 Reply Last reply Reply Quote 0
                • K
                  klassisch Most Active @ticaki last edited by

                  @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                  @klassisch
                  Wenn man sowas einbaut dann richtig oder garnicht 🙂

                  Ja genau, für einen WR richtig einbauen. Wer sich mehrere WR leistet kann sich auch mehrere Instanzen leisten. Keep it simple duckundweg 😉

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer @klassisch last edited by

                    @klassisch

                    Sind 4 möglich und unendliche anzahl an Panels - bedenke die Leute die sich 8 Balkonkraftwerke halten - offiziell haben sie natürlich nur 1 😄

                    1 Reply Last reply Reply Quote 1
                    • T
                      ticaki Developer last edited by ticaki

                      Da zum Probieren

                      https://github.com/ticaki/ioBroker.brightsky/tree/fix/limit-inverter-max-power

                      Übersetzungen hab ich nicht überprüft

                      EDIT: LOL: Wechselrichter 1 max. Macht (KW)

                      EDIT2: wie man sieht hab ichs dann doch überprüft.

                      K 1 Reply Last reply Reply Quote 1
                      • K
                        klassisch Most Active @ticaki last edited by klassisch

                        @ticaki Wow, jetzt bin ich platt. Da geht ja das Programmieren schneller als ich updaten und testen kann!

                        Sieht sehr gut aus! Der morgige Tag ist kooperativ und liefert die passenden Werte. Die werden bei mir auch schön geclippt!

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

                          @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                          Corona hat leider die Kasseler HM-Tradition gebrochen

                          EQ-3 Ist seitdem on the road
                          Screenshot_20250918-085959_Firefox.jpg

                          Mal sehn, wen von den "Alten" ich da heute treffe

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            klassisch Most Active @Homoran last edited by

                            @homoran Sind die heute in Eurem Bauhaus? Dann wünsche ich viel Spass und gute Gespräche. Ich habe ja bisher nur HM classic Geräte und noch kein einziges HM-IP Gerät.

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

                              @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                              Sind die heute in Eurem Bauhaus?

                              in einem in der Nähe!
                              hab da auch ein paar Fragen

                              1 Reply Last reply Reply Quote 0
                              • L
                                Linedancer last edited by

                                Hallo Gemeinde,
                                Ich verfolge diesen Thread sehr interessiert und bin ziemlich begeistert ob der Möglichkeiten.
                                Ich habe hier eine PV Installation, die aus einer Mischung von Stringwechselrichtern, Micro Wechsrlrichtern und Victron MMPTs besteht. Das ganze mit Modulen in 7 verschiedenen Ausrichtungen und Neigungen.
                                Lässt sich sowas mit dem Ansatz der in diesm Thread verfolgt wird überhaupt erschlagen?

                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  klassisch Most Active @Linedancer last edited by klassisch

                                  @linedancer sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                  Hallo Gemeinde,
                                  Ich verfolge diesen Thread sehr interessiert und bin ziemlich begeistert ob der Möglichkeiten.

                                  Ja, ist schon "cool".

                                  Ich habe hier eine PV Installation, die aus einer Mischung von Stringwechselrichtern, Micro Wechsrlrichtern und Victron MMPTs besteht.

                                  Glückwunsch, hätte ich auch gerne gehabt.

                                  Das ganze mit Modulen in 7 verschiedenen Ausrichtungen und Neigungen.
                                  Lässt sich sowas mit dem Ansatz der in diesm Thread verfolgt wird überhaupt erschlagen?

                                  Ansatzweise sicher. So sieht die Konfiguration des Adapters aus:
                                  f49fe293-35eb-4360-ab54-55404214a76b-grafik.png

                                  Du kannst mehrere Wechselrichter eingeben und da blaue + zeigt, daß man auch mehrere Panel-Arrays eingeben kann

                                  Edit und der Meister sagt auch was zur Anzahl von Panels und WR: https://forum.iobroker.net/post/1294907

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer last edited by

                                    Wenn bedarf besteht kann ich es auf 6 erweitern, dann sieht es auch schicker aus.

                                    wr ist nicht übersetzt - dat behebe ich gleich mal

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      klassisch Most Active last edited by

                                      Der Tag läßt sich gut an!
                                      Bei dieser Kurve freut sich das PV-Herz.
                                      c27de083-16e7-451a-b0da-9818e651af22-grafik.png

                                      Apropos schöne Kurve: Kann der Adapter auch Datensätze für solche flot-Kurven vorbereiten?
                                      Könnte das noch jemand brauchen?

                                      T Homoran 2 Replies Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @klassisch last edited by

                                        @klassisch

                                        das ist influx oder history oder ... 🙂

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

                                          @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                          für solche flot-Kurven vorbereiten?
                                          Könnte das noch jemand brauchen?

                                          ja!!!
                                          wie machst du das mit den arrays(?) von Datenpunkten im Voraus?

                                          @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                          history

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            ticaki Developer @Homoran last edited by ticaki

                                            @homoran

                                            kannst doch die voraussage in die history hauen und dann mit dem ist wert anzeigen? Wobei ich keine solar werte in der Stundenvoraussage habe... hm, hab aber net heute morgen geguckt

                                            K Homoran 2 Replies 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

                                            990
                                            Online

                                            32.1k
                                            Users

                                            80.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            218
                                            5161
                                            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