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.
    • K
      klassisch Most Active @Homoran last edited by

      @homoran Ich hoffe doch schwer, daß ChatGPT hier mal vorbei schaut. Irgendwoher muss ja das Wissen kommen.
      Hier mal das Skript auf Basis von ChatGPT.
      Es hat noch einige spezifische Datenpunkte aus meinem userdata Bestand.
      Dann wird npm "suncalc" benötigt. War bei mir schon im Bestand. Mit dem Handling der dependencies kenne ich mich nicht aus.

      Ich lasse das Skript um 05:00 und 08:00 rennen.
      Falls es untertägig gestartet wird, verwende ich noch den bis dahin angefallenen PV Ertrag mit, weil das Skript ja nur in die Zukunft schaut, wenn ich die Datenstruktur richtig verstanden habe.

      
      /*********************************************
      *
      *  calculates expected sun energy on base of DWD stations
      *  provided by bright sky adapter
      *
      * suncalc is mandatory
      * if not already installed
      * cd /opt/iobroker
      * npm install suncalc
      *    on my Win computer
      *    C:\ioBroker>npm install suncalc
      *    and was already existent
      *
      *  Some common terms used in this script according https://www.intechopen.com/chapters/82468
      *  Global horizontal irradiance (GHI) is the solar irradiance from the hemisphere above on a horizontal surface
      *  plane of array (POA) or global tilted irradiance (GTI) is solar irradiance incident on a tilted plane (PV panel
      *  
      *
      *
      *
      *
      ***/
      
      
      // ==========================
      // Konfiguration
      // ==========================
      const AREA_M2      = 20 * 1.755 * 1.038;    // Fläche A in m²
      const EFFICIENCY   = 0.20;  // Wirkungsgrad (z. B. 20% -> 0.20)
      const ALPHA_DEG    = -10;     // Azimut der Fläche (0 = Süd, negativ Ost, positiv West)
      const BETA_DEG     = 30;    // Neigung in Grad gegen Horizontal
      
      const pVEnergyUpToNowId= '0_userdata.0.power.pvFrDCEnergy.pvFrDCEnergyToday';
      var pVEnergyUpToNow = getState(pVEnergyUpToNowId).val;
      
      // ==========================
      const SunCalc = require("suncalc");
      
      function deg2rad(d){ return d * Math.PI / 180; }
      function rad2deg(r){ return r * 180 / Math.PI; }
      
      // Hauptfunktion
      function calcPOA() {
          // 1) Koordinaten holen
          const lat = getState("brightsky.0.current.sources.00.lat").val;
          const lon = getState("brightsky.0.current.sources.00.lon").val;
      
          const alpha = deg2rad(ALPHA_DEG);
          const beta  = deg2rad(BETA_DEG);
      
          let results = [];
          let totalEnergy = 0;
      
          for (let i=0; i<=12; i++) {
              const base = "brightsky.0.hourly." + ("0"+i).slice(-2);
      
              const tsStr = getState(base + ".timestamp").val; // z. B. 2025-09-09T03:00:00+00:00
              const ghi   = getState(base + ".solar").val;     // in kWh/m²
      
              if (!tsStr || ghi == null) continue;
      
              const time = new Date(tsStr); // iobroker zeigt automatisch in Lokaltime
              const pos = SunCalc.getPosition(time, lat, lon);
      
              const h = pos.altitude;  // Sonnenhöhe (rad)
              //console.log('Sonnenhoehe: ' + h);
              const gamma_s = pos.azimuth; // Sonnenazimut (rad, von Süden gegen Westen)
      
              if (h <= 0) {
                  results.push({hour:i, time:time.toString(), ghi, poa:0, energy:0});
                  continue;
              }
      
              const cosTheta = Math.sin(h) * Math.cos(beta) +
                               Math.cos(h) * Math.sin(beta) * Math.cos(gamma_s - alpha);
      
              const Rb = Math.max(0, cosTheta) / Math.max(1e-6, Math.sin(h));
              const RbClamped = Math.min(Rb, 5);
      
              const poa_kwh_m2 = ghi * RbClamped;
              const energy_kWh = poa_kwh_m2 * AREA_M2 * EFFICIENCY;
      
              totalEnergy += energy_kWh;
      
              results.push({
                  hour: i,
                  time: time.toString(),
                  ghi,
                  poa_kwh_m2,
                  energy_kWh
              });
          }
      
          log("Gesamte erwartete Energie (next 12h): " + totalEnergy.toFixed(2) + " kWh");
          log("Gesamte erwartete Energie heute: " + Math.round(totalEnergy + getState(pVEnergyUpToNowId).val/1000) + " kWh"); 
          log("Detail: " + JSON.stringify(results, null, 2));
      
          // Optional: Ergebnis in einen Datenpunkt schreiben
          //on my ioBroker: 0_userdata.0.power.pvFrDCEnergy
          const solarforecastUserdataId = "0_userdata.0.power.pvFrDCEnergy.SolarForecast-total12h";
          createState(solarforecastUserdataId, 0, {type: "number", unit: "kWh"});
          setState(solarforecastUserdataId, Math.round(totalEnergy + getState(pVEnergyUpToNowId).val/1000), true); // if run after 05:00, the energy which was already harvested has to be added
      }
      
      // Skript beim Start und jeden Morgen um 05:10 Uhr ausführen
      schedule("10 5 * * *", calcPOA); 
      schedule("10 8 * * *", calcPOA); 
      
      calcPOA(); // sofort beim Start einmalig
      
      
      
      
      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @ticaki last edited by Homoran

        @ticaki wenn man die heutige Sonnenscheinverteilung bei mir sieht
        Screenshot_20250909-210217_Firefox.jpg
        hat heute wahrscheinlich die diffuse Strahlung das meiste gebracht 😂

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

          @homoran sagte in Vergleich Solarprognosen Solarwetter und brightsky:

          @ticaki wenn man die heutige Sonnenscheinverteilung bei mir sieht hat heute wahrscheinlich die diffuse Strahlung das meiste gebracht 😂

          An solchen Tagen ist die Fahrweise einfach. Ich habe heute auch alles selbst gebraucht.

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

            @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

            Ich habe heute auch alles selbst gebraucht.

            "Meine Batterie ist alle"
            (Bis auf die Reserve für Blackout)

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

              @homoran Heute wird es interessant. Morgennebel, der auch in der DWD App erkennbar ist. Es fehlen also am Morgen 1 bis 2 Stunden Sonne. Dennoch sagt das Skript einen relativ guten Jahresertrag voraus, der es auf Platz 131 in 2025 schaffen würde. Mal schauen was passiert. Wahrscheinlich muß ich den Wirkungsgrad noch ein paar Prozentpunkte pauschal runter nehmen.

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

                @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                Heute wird es interessant

                ja!

                der estimate passt heute zu meiner Faktorisierung.
                Screenshot_20250910-085705_Firefox.jpg

                ich muss mich irgendwann ™ mal mit den stündlichen Werten beschäftigen

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

                  @homoran sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                  ich muss mich irgendwann ™ mal mit den stündlichen Werten beschäftigen

                  hm von X kenne ich da das soon ™ - du wast da nicht mal aktiv vor jahrzehnten? 🙂

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

                    @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                    du wast da nicht mal aktiv vor jahrzehnten?

                    never! keine unsoziale Medien!

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

                      [OT]
                      @homoran sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                      Screenshot_20250909-210217_Firefox.jpg

                      Wie erzeugst Du den underlay, also die hellgraue Parabel? Das muß doch auch dynamisch sein. Wäre hier auch vorteilhaft. Dann könnte man sehen, wie zutreffend die stündliche Prognose startet.

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

                        @homoran
                        vor Jahrzehnte war X nicht vermurks sondern ne Weltraumhandelssimulation von Egosoft 🙂

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

                          @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                          Wie erzeugst Du den underlay, also die hellgraue Parabel?

                          Das ist eine empirisch ermittelte Parabel. Jetzt im Bereich Equinoktium passt sie ganz gut, zur Sommersonnenwende noch nicht.
                          Schlimmer wurde das Ganze als ich versuchte noch die Temperatur einfließen zu lassen.
                          Da ich (noch) nicht wirklich die Paneltemperatur zur Verfügung habe, arbeite ich mit der Lufttemperatur.
                          Bei reichlich Wind sind die Panels wegen doppellagiger Hinterlüftung aber anscheinend deutlich kühler.

                          Der neue Sensor liegt bereit. will ich im Herbst unter zwei Panels kleben.

                          Ich seh mal ob ich das Teilblockly sinnvoll hier hereinbekomme

                          EDIT:
                          ist das lesbar?
                          Screenshot_20250910-124217_Firefox.jpg

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

                            [OT]
                            @homoran Wow, mit Temperaturabhängigkeit! Das sieht etwas nach @Homoran schen Perfektionismus aus.
                            So viel Aufwand, werde ich nicht spendieren. Wenn ich schon Wetter höre, geht mein Fehlerband gleich ganz weit auf.
                            Aber von vorne: Hat diese underlay Kurve einen eigenen Datenpunkt mit einer Sequenz von ts und data, die morgens für history erzeugt wird und dann von flot mit angezeigt wird?

                            Homoran 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:

                              Hat diese underlay Kurve einen eigenen Datenpunkt

                              ja!

                              @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                              mit einer Sequenz von ts und data, die morgens für history erzeugt wird

                              nein, das kann ich nicht.

                              Die wird live erzeugt (Temperatur und Wind [fehlt noch] kenne ich außerdem morgens noch nicht)

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

                                @homoran
                                dafür gibts einen Wetteradapter die sagen dir was für temperaturen du erwarten kannst und wind ist da auch 😛

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

                                  @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                  dafür gibts einen Wetteradapter

                                  • ist die Quelle vertrauenswürdig? 😂
                                  • das Skript ist uralt
                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    klassisch Most Active @Homoran last edited by

                                    @homoran brightsky hat Temperaturen und Wind in den stündlichen Datenpunkten.

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

                                      @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                      @homoran brightsky hat Temperaturen und Wind in den stündlichen Datenpunkten.

                                      wie gesagt habe ich mich
                                      a) noch nicht mit den stündlichen Werten beschäftigt
                                      b) gab es brightsky vor 4 Jahren noch nicht ( https://forum.iobroker.net/post/592093 )
                                      c) wollte ich es "eigentlich" einfacher halten, als in dem verlinkten Thread
                                      ...bis der

                                      @klassisch sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                      @Homoran schen Perfektionismus

                                      zuschlug.
                                      Da würde die Paneltemperatur sinnvoll sein

                                      @homoran sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                      Der neue Sensor liegt bereit. will ich im Herbst unter zwei Panels kleben.

                                      Außentemperatur und Wind wären da eh nur Hilfsdaten.

                                      Ich muss mal sehen, wann ich wieder mehr Zeit hab

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

                                        @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                        Bei mir war es auch recht dicht dran.

                                        noch ein upvote geht leider nicht
                                        Screenshot_20250910-195028_Firefox.jpg
                                        Faktorisiert, realer Wert und dein estimate

                                        👍

                                        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

                                        743
                                        Online

                                        32.1k
                                        Users

                                        80.6k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        46
                                        688
                                        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