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.
    • T
      ticaki Developer @MartyBr last edited by

      @martybr

      Daily ist von mir zusammengerechnet aus den hourly werten.

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

        @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

        @martybr

        Daily ist von mir zusammengerechnet aus den hourly werten.

        wie ich eingangs schrieb könnte eine Korrelation der hourly-Werte mit dem dazugehörigen Sonnenstand und dem daraus resultierenden Auftreffwinkel auf die Panels noch bessere Prognosewerte bringen.
        Ich habe aber im Moment nicht die Zeit (und Lust) mich da tiefer reinzuknien, wenn das grobe Ergebnis auch so passt.

        man müsste dann für jede Stunde in etwa diese Formel rechnen
        Screenshot_20250907-201931_Firefox.jpg

        und dann entweder aufaddieren oder mit den stündlichen Werten weiterarbeiten

        EDIT:
        Wenn es dann so wie heute ziemlich windig ist, die PV-Anlage gut hinterlüftet ist, kommt doch noch mehr als "geplant" raus
        Screenshot_20250907-202221_Firefox.jpg

        Da kann mit bis zum Exzess dran feilen, u d es passt dann trotzdem nicht.

        So eine Prognose soll doch nur einen groben Überblick geben.

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

          @homoran
          ich frage mal chatgpt - aber sind noch ne Woche oder so bis stable - bis dahin wird da nix passieren 🙂

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

            @ticaki siehe Edit!

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

              brightsky wird wegen Schummelns disqualifiziert 😂

              Eigentlich wollte ich zeigen, was mir passiert, wenn ich die Gesamttagesvorhersage faktorisiere.

              Beide Vorhersagen lagen wieder nah bei einander, ich kam mit meinem Ertrag bisher aber nur auf 50%.
              Auch wenn jetzt seit gut 2h die Sonne gar nicht so schwach scheint, wird sich das nicht mehr erheblich ändern
              Screenshot_20250908-181856_Firefox.jpg
              Aufgrund der Ausrichtung meiner PV Anlage kommt da jetzt nicht mehr genug Sonne an.

              Das wollte ich zeigen, aber....

              Screenshot_20250908-181229_Firefox.jpg

              Brightsky hat den Wert angepasst!

              Screenshot_20250908-181417_Firefox.jpg

              Ich möchte ja die Qualität der Solarprognosen vergleichen, da muss ich natürlich auch bei brightsky mit dem morgendlichen Wert rechnen.
              Ich muss jetzt mein Skript anpassen und mit dem morgendlichen Vorhersagewert arbeiten. Der war heute morgen bei 11,48kWh.

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

                @homoran
                Der Adapter holt sich neue Daten um:
                0:00 - wegen Tageswechsel
                5:00 - wegen wie wird es heute
                18:00 - wie wird es morgen

                und der Service liefert keine historischen Prognosen sondern Daten 🙂

                Armilar Homoran 2 Replies Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @ticaki last edited by

                  @ticaki

                  historische Prognosen klingt irgendwie merkwürdig 😊

                  Bright Sky liefert enorm coole Daten

                  1114d001-5daf-4f68-b65a-e4e99a3c49ad-image.png

                  Für mich ist gar nicht mal so relevant wieviel die Anlage produziert, sondern aus dem Kontext "Energiemanagement": was sollte wann passieren... agieren...

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

                    @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                    18:00 - wie wird es morgen

                    aaah, dann sind die Daten von daily.00 in Wirklichkeit schon Daten für daily.01, oder wie ist das zu verstehen?

                    und um

                    @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                    0:00 - wegen Tageswechsel

                    ist solar = 0, sieht dann eher aus wie current 🤔

                    @armilar sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                    historische Prognosen klingt irgendwie merkwürdig

                    ja! das war dann wohl eine Fehlinterpretation meines Vorhabens.

                    ich möchte abends, wenn ich meinen realen Ertrag kennen, diesen mit der Prognose für diesen Tag, die ich morgens bekomme, vergleichen. Dazu hatte ich den Wert im Datenpunkt solar in daily.00 verwendet. Der war aber nicht derselbe wie morgens.
                    Umso besser, wenn diese bereits am Vorabend um 18:00 vorliegt
                    aber da steht heute morgen etwas anderes 😞
                    Screenshot_20250909-083657_Firefox.jpg

                    PS
                    mit den hourly Daten habe ich mich mangels Zeit noch nicht auseinander gesetzt. damüsste ich wahrscheinlich jede Stunde die Datenpunkte neu zu den zugehörigen Uhrzeiten mappen.

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

                      Berücksichtigen die Energiedaten in "solar" bereits die Wolkenbedeckung oder muß man die noch mit reinrechnen?

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

                        @klassisch da sollte alles drin sein.
                        Anscheinend sogar den Verlust bei den unterschiedlichen Winkeln bei Durchdringungder Atmosphäre.

                        Screenshot_20240306-130143_Firefox.jpg

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

                          @homoran Vielen Dank, das wäre gut brauchbar. Dann muß man in erster Näherung nur noch die Orientierung der Module, Fläche, Wirkungsgrad mit rein rechnen

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

                            @homoran

                            Nein ich rufe die Daten von 00:00-23:59 ab, jeweils zu den genannten zeiten. alles was vor der abrufzeit liegt, wird, denke ich, durch die tatsächlichen Werte ersetzt. Und um 00:00 ist heute nicht mehr gestern -daher Update das in heute nicht die Daten von gestern stehen.

                            Wenn du Wetter in was weiß ich dir ansiehst willst du doch nicht die Prognosen von 5:00 um 20:00 sehen

                            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:

                              alles was vor der abrufzeit liegt, wird, denke ich, durch die tatsächlichen Werte ersetzt.

                              so sieht's auch für mich aus.
                              Dann ist das um 18:00 der "corrected forecast" und daher dichter an der Realität.

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

                                @homoran

                                Für vorausplanendes Laden würde ich z.B. die nächsten 8 h betrachten ist das kleiner als die doppelte Batteriekapazität laden frei geben.

                                Für einen genauigkeitsvergleich ist das aber nix😊

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

                                  @ticaki ja, darauf läuft's hinaus.
                                  Bedeutet aber, dass ich mich mit den hourly-Werten beschäftigen muss.
                                  Ich hoffte das vorerst vermeiden zu können, mit allen Einschränkungen die das bringt.

                                  aber

                                  @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                  Für einen genauigkeitsvergleich ist das aber nix

                                  wenn ich etwas vergleichen will, muss ich auch gleiche Voraussetzungen vergleichen.
                                  Der morgendliche Prognosewert wäre einheitlich.

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

                                    @homoran
                                    Ich Bau dir was ein bekommst heute Abend nen GitHub Branche Link.

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

                                      @homoran
                                      https://github.com/ticaki/ioBroker.brightsky/tree/solar

                                      Deine States sind für dich erkennbar und stur - die aktualisieren/erstellen sich um 5, wenn du aktuell ein Update oder einen State sehen willst - computer uhr umstellen 😛

                                      Guckmal im Admin und sag mir, ob das was ich noch eingebaut habe was taugt. ist gerade echt blödes wetter um sowas zu checken

                                      EDIT:
                                      Das scheint nicht so zu fuzen - ok ich brauche in meinem echten Leben nie winkelberechnung daher hab ich das jetzt 3 mal in meinem leben gelernt und wieder vergessen- kann mal einer der sich da auskennt auf die chatGPT funktion schauen:

                                      /**
                                       * Schätzt die erzeugte elektrische Energie (Wh) für die kommende Stunde.
                                       *
                                       * @param valueWhPerM2 GHI für die Stunde (Wh/m²) auf horizontaler Ebene
                                       * @param time Zeitstempel dieser Stunde (Date | number | string)
                                       * @param coords { lat, lon }
                                       * @param panels Array von Panels (azimuth, tilt, area, efficiency in %)
                                       * @returns Wh (elektrisch) für alle Panels zusammen
                                       */
                                      export function estimatePVEnergyForHour(
                                          valueWhPerM2: number,
                                          time: Date | number | string,
                                          coords: Coords,
                                          panels: Panel[],
                                      ): number {
                                          // ===== Helpers (funktion-lokal) =====
                                          const toRad = (d: number): number => (d * Math.PI) / 180;
                                          const clamp01 = (x: number): number => Math.min(1, Math.max(0, x));
                                          const normEff = (pct: number): number => clamp01(pct / 100); // 0..100% → 0..1
                                      
                                          // Konstanten (einfaches, robustes Modell)
                                          const ALBEDO = 0.2; // Bodenreflexionsfaktor
                                      
                                          // Sonnenstand holen
                                          const date = time instanceof Date ? time : new Date(time);
                                          const pos = suncalc.getPosition(date, coords.lat, coords.lon);
                                          const sunEl = pos.altitude; // Elevation in rad
                                          // SunCalc-Azimut: 0 = Süd, +West; auf 0=N, 90=E normieren:
                                          const sunAzDeg = ((pos.azimuth * 180) / Math.PI + 180 + 360) % 360;
                                          const sunAz = toRad(sunAzDeg);
                                      
                                          if (sunEl <= 0 || valueWhPerM2 <= 0 || panels.length === 0) {
                                              return 0;
                                          }
                                      
                                          // Grobe Aufteilung in Direkt/Diffus aus Elevation (ohne externe Daten):
                                          const beamFraction = clamp01(Math.sin(sunEl) * 1.1);
                                          const diffuseFraction = 1 - beamFraction;
                                      
                                          let totalWh = 0;
                                      
                                          for (const p of panels) {
                                              const eff = normEff(p.efficiency);
                                              if (eff <= 0 || p.area <= 0) {
                                                  continue;
                                              }
                                      
                                              const tilt = toRad(p.tilt);
                                              const az = toRad(((p.azimuth % 360) + 360) % 360);
                                      
                                              // Modulnormalen-Vektor
                                              const nx = Math.sin(tilt) * Math.sin(az);
                                              const ny = Math.sin(tilt) * Math.cos(az);
                                              const nz = Math.cos(tilt);
                                      
                                              // Sonnenvektor
                                              const sx = Math.cos(sunEl) * Math.sin(sunAz);
                                              const sy = Math.cos(sunEl) * Math.cos(sunAz);
                                              const sz = Math.sin(sunEl);
                                      
                                              // Einfallswinkel
                                              const cosTheta = Math.max(0, nx * sx + ny * sy + nz * sz);
                                      
                                              // Direktanteil von horizontal → Modulfläche
                                              const dirGain = cosTheta / Math.max(1e-6, Math.sin(sunEl));
                                      
                                              // Diffus isotrop + Bodenreflexion
                                              const skyDiffuseGain = (1 + Math.cos(tilt)) / 2;
                                              const groundRefGain = (ALBEDO * (1 - Math.cos(tilt))) / 2;
                                      
                                              // POA-Energie (Wh/m²) auf dem Modul für die Stunde
                                              const poaWhPerM2 = valueWhPerM2 * (beamFraction * dirGain + diffuseFraction * skyDiffuseGain + groundRefGain);
                                      
                                              // Elektrische Energie
                                              const elecWh = Math.max(0, poaWhPerM2) * p.area * eff;
                                              totalWh += elecWh;
                                          }
                                      
                                          return totalWh;
                                      }
                                      
                                      Homoran K 4 Replies Last reply Reply Quote 1
                                      • Homoran
                                        Homoran Global Moderator Administrators @ticaki last edited by Homoran

                                        @ticaki Danke!
                                        seh ich mir später genauer an.

                                        @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                        stur - die aktualisieren/erstellen sich um 5,

                                        das mache ich im Moment, indem ich um 15 5 * * * den Wert in einen eigenen Datenpunkt schreibe und mit dem weiterarbeite 😉

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

                                          @ticaki ist das ok so?
                                          brightsky.0 2025-09-09 18:00:34.585 error Error fetching daily weather data: {}

                                          folge der sturen 5 Uhr Regel 😂 ?

                                          zu deinem EDIT

                                          @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                          ich brauche in meinem echten Leben nie winkelberechnung daher hab ich das jetzt 3 mal in meinem leben gelernt und wieder vergessen- kann mal einer der sich da auskennt auf die chatGPT funktion schauen:

                                          ich kann das auch nicht!
                                          Ich muss auch jedesmal irgrndwo abschreiben, sorry!

                                          Vielleicht kann @klassisch aushelfen

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

                                            @ticaki sagte in Vergleich Solarprognosen Solarwetter und brightsky:

                                            Das scheint nicht so zu fuzen - ok ich brauche in meinem echten Leben nie winkelberechnung daher hab ich das jetzt 3 mal in meinem leben gelernt und wieder vergessen- kann mal einer der sich da auskennt auf die chatGPT funktion schauen:

                                            Ich habe auch CHatGPT gefragt und habe ein Skript am Laufen.
                                            Das nimmt die 13 Stundenwerte für die Enerie, errechnet jeweils den Sonnenstand dazu und die Projektion auf die Modulfläche. Dann werden die 13 Werte addiert.

                                            Es kommt ein Wert raus, der in einem plausiblen Rahmen liegt. Aber heute hat es lange geregnet und es war wolkig und da war die Schätzung zu hoch.

                                            Ich weiss nicht, ob man ChatGPT Programme veröffentlichen darf. Kann es Dir per Chat zukommen lassen bei Bedarf.

                                            Den diffusen Anteil habe ich mal weggelassen. Erst mal die Grundfunktion hinbekommen.
                                            Für den hier behandelten Zweck ist der diffuse Anteil zumindest bei meiner Anlagengröße und -Anordnung nicht wichtig. Wenn der direkte Strahlungsanteil so klein wird, daß der Diffusanteil relevant wird, dann riskiere ich kein netzdienliches Verhalten, sondern fahre mit Priorität auf Selbstversorgung. An solchen Tagen ist Einspeisung - falls es die denn überhaupt gibt - meist eh willkommen.

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

                                            Support us

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

                                            855
                                            Online

                                            32.1k
                                            Users

                                            80.6k
                                            Topics

                                            1.3m
                                            Posts

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