Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA:

Berechnung der Sonnenschein-Dauer mit meteoplug 22 Aug 2014 18:09 #169528

  • ironedge
  • ironedges Avatar Autor
  • Besucher
  • Besucher
Hallo allerseits,

Bei der Kombination Davis VP2 und weatherboxx/meteoplug gibt es leider keine integrierte Möglichkeit, aus der Globalstrahlung (Solar-Sensor) die Sonnenscheindauer zu ermitteln. Da ich an diesem Wert aber sehr interessiert war, habe ich mir selbst eine Lösung gebaut. Vielleicht ist das auch für andere Personen hier von Interesse, deshalb publiziere ich gerade meine Herangehensweise.

Zuerst möchte ich betonen, dass ich nicht an einer theoretischen / "offiziell meteorologischen" Definition der Sonnenschein-Dauer interessiert war. D.h. ein Algorithmus "wenn Solarsensor-Wert > 120W/m2, dann Sonnenschein" war für mich keine Lösung. Ziel war ein Resultat, das näher an dem liegt, was ich selbst im Alltag als Sonnenschein wahrnehme. Für das "Erlebnis Sonnenschein“ brauche ich persönlich einen Schattenwurf und nicht nur helles, diffuses Licht. Dies ist natürlich eine eher subjektive Definition und keine streng wissenschaftliche Herangehensweise, welche somit auch nur schwerlich exakte Daten-Vergleiche zulässt.

Hier der von mir gewählte Algorithmus zur Erkennung von "Sonnenschein":
  1. Berechne den Sonnenwinkel zu jedem gegebenen Mess-Zeitpunkt für meinen Standort
  2. Errechne daraus die erwartete Globalstrahlung Gmax in W/m2 bei perfekt wolkenlosem Himmel
  3. Vergleiche den aktuellen Solar-Sensor-Wert mit Gmax
  4. Ist der Sensor-Wert über einem empirisch ermittelten Bruchteil von Gmax, dann wird Sonnenschein angenommen
  5. Den Grenzwert habe ich nach Tests auf 0.5*Gmax festgesetzt
  6. Für die Morgenstunden und Abendstunden musste ich den Grenzwert anpassen, um das erwünscht Resultat zu erhalten (Ausgleich von Toleranzen und wahrscheinlich der individuellen Topologie meines Standorts)

Das Resultat ist auf meiner Webseite wetter.isenegger.org ersichtlich. Die Sonnenschein-Dauer wird erst seit gut 2 Wochen erfasst. Erst in etlichen Monaten werde ich wissen, ob der gewählte Grenzwert auch bei jedem Wetter und in anderen Jahreszeiten gewünschte Resultate liefert. Leichte Anpassungen sind möglich resp. wahrscheinlich.

Nun zu den Details der Berechnung:

Input / Konstanten für Berechnung:
c=aktueller Wert Solar-Sensor in W/m2
lg=7.8 (longitude Ort)
lt=47.45 (latitude Ort)
st=Zeitpunkt Stunde (UTC+1 ganzjährig, 0-23)
mi=Zeitpunkt Minute (0-59)
j=Tage seit 1.Jan (1-365)
d=0.0174533 (pi/180 -> degrees to rad)

Berechnungsschritte:
1. Deklination: x=-23.45*cos(d*360*(j+10)/365)
2. Zeitgleichung: z=60*(-0.171*sin(0.0337*j+0.465)-0.1299*sin(0.01787*j-0.168))
3. Stundenwinkel: w=15*(st+mi/60-(15-lg)/15-12+z/60)
4. sin(Sonnenwinkel): s=sin(d*lt)*sin(d*x)+cos(d*lt)*cos(d*x)*cos(d*w)
5. Sonnenhoehe: s2=atan2(s,sqrt(1-s^2))/d (entspricht arcsin(s)/d)
6. Theor. Gl.Strahlung: m=1368*sin(s2*d)
7. Dämpfung: a=(1-sin(s2*d))*0.3*m

Max.Globalstrahlung zu gegebenem Ort und Zeitpunkt: (m-a)
Grenzwert zwischen Sonnenschein und kein Sonnenschein: g=(m-a)*0.5
Grenzfaktor -> 0.5 (empirisch bestimmt / grob das Verhältnis Direktstrahlung und diffuser Strahlung)

Korrektur des Grenzwerts für meine individuelle Situation (empirisch bestimmt):
if (st<8 ) g=g*0.8-3 (Grenzwert für frühen Sommermorgen senken, da sonst Sonnenschein nicht erkannt wird)
if (st>14) g=g*1.2+5 (Grenzwert für späten Sommerabend anheben, da sonst Schatten als Sonnenschein erkannt wird; wahrscheinlich geländebedingt)

Bedingung um Output-Datenwert auf 100 (Sonnenschein) oder 0 (Schatten) zu setzen (Datenwert in 1/100 Einheit):
o=0;if ((c>g)&&(g>15)) o=100; ("g>15" notwendig, da bei sehr kleinen Werten keine konsistente Bestimmung möglich ist)

Implementation:

Definiere in meteoplug einen Virtuellen Sensor „data_“ (bei mir data38) mit folgendem gawk Script (Trigger: sol0):

awk '{c=$3;lg=7.8;lt=47.45;d=0.0174533;j=strftime(''%j'');st=strftime(''%H'')--1;mi=strftime(''%M'');}{x=-23.45*cos(d*360*(j--10)/365);z=60*(-0.171*sin(0.0337*j--0.465)-0.1299*sin(0.01787*j-0.168));w=15*(st--mi/60-(15-lg)/15-12--z/60);s=sin(d*lt)*sin(d*x)--cos(d*lt)*cos(d*x)*cos(d*w);s2=atan2(s,sqrt(1-s^2))/d;m=1368*sin(s2*d);a=(1-sin(s2*d))*0.3*m;g=(m-a)*0.5;if (st<8 ) g=g*0.8-3;if (st>14) g=g*1.2--5;o=0;if ((c>g)&&(g>15)) o=100;printf''%d'',o}'

Da die max.Länge der Script-Zeile limitiert ist, ist der Code „scheusslich“ implementiert, aber er funktioniert.

In der Grafik muss noch lediglich der richtige Parameter und Faktor gewählt werden:
Für eine 5min Auflösung (res=5min): sid0=data38 ssel0=val sfactor0=5 (glunit=Min)
Für die Stundengrafik (res=hour1): sid0=data38 ssel0=val sfactor0=60 sprec0=0 (glunit=Min)
Für die Tagesgrafik (res=day1): sid0=data38 ssel0=val sfactor0=24 sprec0=1 (glunit=Std)

Meteoplug rechnet nicht in echten Zeiteinheiten sondern „pro Event“. Sind in einem „5Min Topf“ für „data38“ 3 Events, davon zwei mit Wert 1 und einer mit Wert 0, dann folgt daraus eine Sonnenscheindauer von 2/3 für diesen „Topf“, d.h. 3.3Min.

Fazit:

Die ermittelte Sonnenscheindauer kann mit diesem Algorithmus natürlich nicht absolut exakt sein. Diverse Parameter sind empirisch bestimmt und vom individuellen Standort und dem individuell gewünschten Resultat abhängig. Die korrekte Ermittlung von "Sonnenschein" in der ersten Morgen-/ letzten Abendstunde ist auch nur bedingt möglich. Dazu gibt es eine Unschärfe, da meteoplug nicht in echten Zeiteinheiten rechnet. Trotzdem erscheint mir das ermittelte Resultat erstaunlich realistisch und viel näher an meiner Alltags-Wahrnehmung von "Sonnenschein" zu sein als theoretische Absolut-Grenzwerte von 120W/m2. Auch scheint die ermittelte Sonnenschein-Dauer innerhalb meiner eigenen Messreihe konsistent, nachvollziehbar und sehr nahe an meiner individuellen Wahrnehmung zu sein. Und genau das ist es, was ich erreichen wollte.

Euer Feedback ist natürlich sehr willkommen. Auch würde mich interessieren, ob und wie ihr selbst die Sonnenschein-Dauer ermittelt.

Grüsse
Sammy

Bitte Anmelden um der Konversation beizutreten.

Letzte Änderung: von ironedge.

Berechnung der Sonnenschein-Dauer mit meteoplug 22 Aug 2014 23:37 #169530

  • Tobias Ferrari
  • Tobias Ferraris Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 3267
  • Dank erhalten: 11
Hoi Sammy

Herzlich Willkommen im Forum!

Wow, Dein Code für die Weather Boxx tönt super! Ich habe mir vor vielen Monaten einen *.php Code für die Sonnenscheindauer zurechtgebastelt, dieser funktioniert aber eher mässig.

Liebe Grüsse
Tobias

Bitte Anmelden um der Konversation beizutreten.

Der Weise sagt nicht alles was er denkt, aber er denkt alles was er sagt.
www.wetterstation-wohlen.ch

Berechnung der Sonnenschein-Dauer mit meteoplug 23 Aug 2014 17:44 #169535

  • ironedge
  • ironedges Avatar Autor
  • Besucher
  • Besucher
Hallo Tobias,

Vielen Dank. Nach welchem Prinzip hast du dir denn deinen php Code "zurechtgebastelt", d.h. nach welchen Kriterien bestimmst du die Sonnenschein-Dauer?

Kannst ja den von mir dargelegten Code in eine php Lösung umwandeln und dann schauen, ob es dich näher an dein Ziel bringt. Feedback von Leuten, die mit diesem oder einem ganz anderen Ansatz die Sonnenschein-Dauer bestimmen, ist immer interessant und sehr willkommen. Das wird mir sicherlich auch helfen, den Ansatz noch zu verfeinern.

Grüsse
Sammy

Bitte Anmelden um der Konversation beizutreten.

Berechnung der Sonnenschein-Dauer mit meteoplug 24 Aug 2014 00:16 #169536

  • Tobias Ferrari
  • Tobias Ferraris Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 3267
  • Dank erhalten: 11
Hoi Sammy

Da der Solarsensor bei Sonnenauf- und bei Sonnenuntergang eine zeitlang von der Sonne abgedeckt wird habe ich eine Routine entworfen, welche diesem Umstand berücksichtigen soll. Wenn der jeweilige Sensorwert die theoretisch errechnten W/m² erreicht (100%) oder überschreitet ist es sonnig. Zusätzlich errechne ich mit %-Werten den ungefähren Bedeckungsgrad (hier nicht aufgezeigt). Hier meine relativ einfache aber nur für ca. 2-3 Wochen funktionirende Formel. Da die Sonne natürlich "wandert" und sich der Auf- und Untergangspunkt mit den längeren und kürzeren Tagen verschiebt, treffen die definierten Verdeckunszeiten dann nicht mehr zu. Dies auszubüglen ist mir bisher noch nicht gelungen, daher habe ich das Projekt damals auf Eis gelegt. Ich suche eine einfache Möglichkeit und werde das Ganze vermutlich so weiterentwickeln, dass ich den längsten und den kürzesten Tag nehme, die Verzögerungen definiere und diese dann linear über die jeweils restlichen Tage dazwischen aufteile. :) Dieses Projekt hat bei mir aber zur Zeit eine niedrige Prioritätsstufe. :whistle:

  • Bei Sonnenaufgang (Azimut 90): >= 10 W/m²
  • Ist Akt. Zeit - Uhrzeit Sonnenaufgang < 175 Min. | Zeitdifferenz 1 * (0.8 W/m²) +10 W/m²
  • Ist Akt. Zeit - Uhrzeit Sonnenaufgang > 175 Min. | Zeitdifferenz 2 * (20 W/m²) +150 W/m²
  • Ist Akt. Zeit - Uhrzeit Sonnenaufgang > 190 Min. | 450 W/m²

  • Ist Akt. Zeit - Uhrzeit Sonnenuntergang < 225 Min. | 450 W/m² - (Zeitdifferenz 4 * 20 W/m²)
  • Ist Akt. Zeit - Uhrzeit Sonnenuntergang < 210 Min. | 300 W/m² - (Zeitdifferenz 3 * 0.7 W/m²)
  • Bei Sonnenuntergang (Azimut 90): >= 10 W/m²

Gruss
Tobias

Bitte Anmelden um der Konversation beizutreten.

Der Weise sagt nicht alles was er denkt, aber er denkt alles was er sagt.
www.wetterstation-wohlen.ch
Letzte Änderung: von Tobias Ferrari.

Berechnung der Sonnenschein-Dauer mit meteoplug 24 Aug 2014 11:11 #169539

  • ironedge
  • ironedges Avatar Autor
  • Besucher
  • Besucher
Hallo Tobias,

Interessanter Ansatz, den Sonnenaufgang/-untergang als Referenz zu benutzen!
Die tagaktuellen Zeiten von Sonnenaufgang/-untergang kriegst du aber doch von der Wetterstation selbst, oder von sonst einer php-integrierbaren Routine, würde ich mal vermuten? Damit könntest du den Approach wahrscheinlich "generalisieren".

Mein erster Ansatz war ähnlich und doch etwas anders. Ich habe die Mittagszeit im Sommer als Referenz genommen und definiert, dass im Winter die Max.Globalstrahlung um Mittag nur noch etwa halb so gross ist. Für jeden Monat habe ich dann einen "Korrekturfaktor" definiert, der die im Vergleich zu Juni "reduzierte" Max.Globalstrahlung dem Solar-Sensor-Wert hinzurechnet (ihn sozusagen auf "Hochsommer-Bedingungen" hochrechnet, z.B. "1.3" für September multipliziert den gemessenen Sensor-Wert mit 1.3). Für Dezember war der Korrekturfaktor dann 2. Dann habe ich ganz ähnlich wie du noch einen "Tagesverlauf-Korrekturfaktor" definiert. D.h. ich ging ebenfalls von 400-500W/m2 aus als Grenzwert für einen sonnigen Sommer-Mittag. In den Morgen-/Abendstunden habe ich den Faktor dann ähnlich wie du verändert und die Tageslänge anhand des selben Korrekturfaktors variiert (z.B. eben "1.3" für September, was ca. 16/1.3=12.3h ergibt). Daraus dann auch linear den Grenzwert anhand der Zeit angepasst.

Allerdings war mir bald klar, dass dies stets relativ ungenau bleiben würde, da gerade in den ersten und letzten 2-3 Tagesstunden (d.h. für etwa den halben Tag ...) die korrekte Bestimmung so sehr schwierig und ungenau bleiben würde. Die Mittagszeit war weniger das Problem.

Da dies alles darauf hinausläuft, dass man für den Vergleich "Sonnenschein oder nicht" schlussendlich zum Messzeitpunkt wissen müsste, was denn der erwartete Referenz-Wert ist für "Sonnenschein", war mir klar, dass es eher sinnlos ist, mit eigenen Formeln die Physik neu zu erfinden sondern besser gerade direkt zu berechnen, was die erwartete Globalstrahlung zum Messzeitpunkt bei Sonnenschein sein soll.

Somit habe ich dann versucht, die entsprechenden Berechnungen in das awk Script eines Virtuellen Sensors "hineinzuquetschen". Der Rest ist empirisches Anpassen der Grenzwerte an die individuelle Situation (aufgrund der hügeligen Umgebung habe ich morgens wahrscheinlich andere Streulicht-Bedingungen als Abends, somit musste ich den Grenzwert zu den Randzeiten anpassen).

Grüsse
Sammy

Bitte Anmelden um der Konversation beizutreten.

Berechnung der Sonnenschein-Dauer mit meteoplug 24 Aug 2014 14:04 #169542

  • Tobias Ferrari
  • Tobias Ferraris Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 3267
  • Dank erhalten: 11
Hoi Sammy

Genau, mit den PHP Variabeln "date_sunrise" und "date_sunset" ermittle ich die Sonnenauf- und Sonnenuntergangszeiten.

Deinen Ansatz bezüglich Korrekturfaktor zur maximaler Solarstrahlung finde ich grandios. Ich werde ihn wohl so weiterentwickeln, dass er am längsten Tag vom Jahr 1.0 beträgt, am kürzesten Tag noch 0.6 und der Rest wird linear pro Tag berechnet. Danke für diesen super Tipp!

Gruss in den Sonntag
Tobias

Bitte Anmelden um der Konversation beizutreten.

Der Weise sagt nicht alles was er denkt, aber er denkt alles was er sagt.
www.wetterstation-wohlen.ch

Berechnung der Sonnenschein-Dauer mit meteoplug 24 Aug 2014 21:32 #169551

  • ironedge
  • ironedges Avatar Autor
  • Besucher
  • Besucher
Kein Problem, freut mich natürlich wenn's hilft :)

Eine wahrscheinlich blöde Frage: Weshalb bleibst du beim "eigenentwickelten" Ansatz zur Abschätzung des Referenzwerts für "Sonnenschein"? Weshalb berechnest du nicht gerade physikalisch korrekt den 100% Referenzwert der Globalstrahlung anhand der von mir aufgelisteten Berechnung (ist ja mehr oder weniger ein copy/paste ins eigene Script)? Genauer als dieser Referenzwert wird wahrscheinlich kein "selbstgebastelter" Ansatz sein.

Ich möchte dich natürlich zu nichts überreden, mich interessieren lediglich deine Überlegungen und deine Motivation. Kann ja dann vielleicht wiederum für mich hilfreich sein :)

Bitte Anmelden um der Konversation beizutreten.

Berechnung der Sonnenschein-Dauer mit meteoplug 24 Aug 2014 22:27 #169553

  • Tobias Ferrari
  • Tobias Ferraris Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 3267
  • Dank erhalten: 11
Hoi Sammy

Weil diese Formeln für mich schlichtweg zu hoch sind. Und was ich nicht wirklich verstehe setze ich nicht ein, denn in einem Fehlerfall oder wenn in x-Jahren eine Berechnungsart nicht mehr unterstützt werden sollte, möchte ich das Problem dann schnell lösen können ohne mich durch Fachliteratur zu kämpfen. :)

Zudem habe ich bei einer Eigenentwicklung eine grössere Flexibelität beim Abbilden von unterschiedlichen orographischen Gegebenheiten.

Gruss in den späten Sonntagabend
Tobias

Bitte Anmelden um der Konversation beizutreten.

Der Weise sagt nicht alles was er denkt, aber er denkt alles was er sagt.
www.wetterstation-wohlen.ch

Berechnung der Sonnenschein-Dauer mit meteoplug 24 Aug 2014 22:59 #169558

  • ironedge
  • ironedges Avatar Autor
  • Besucher
  • Besucher
Ja das macht natürlich absolut Sinn.
Nun, ich hab die einzelnen Formeln natürlich auch weder selbst "erfunden" noch hergeleitet, das ist in dem Sinne "physikalisches Allgemeingut". Aber ich verstehe grundsätzlich den Hintergrund der einzelnen Berechnungsschritte gut genug, dass ich vertrauen darin habe und sie auch für meine Umgebung modifizieren kann. Schlussendlich bin ich ja aber auch abhängig von meteoplug als System und von dessen Features wie eben gawk-Scripts für Virtuelle Sensoren. Wenn sich da mal die Rahmenbedingungen ändern sollten (z.B. die Script-Länge reduziert wird, etc.), dann habe ich tatsächlich auch ein Problem. Aber das löse ich dann, wenn es wirklich sein muss ... d.h. hoffentlich nie ;)

Grüsse
Sammy

Bitte Anmelden um der Konversation beizutreten.

Berechnung der Sonnenschein-Dauer mit meteoplug 11 Jul 2015 14:31 #170807

  • burgerre
  • burgerres Avatar
  • Offline
  • Junior Boarder
  • Junior Boarder
  • RB
  • Beiträge: 5
  • Dank erhalten: 0
Hallo Sammy

WOW! Tolles Script und prima Anleitung. Grund genug wieder mal die alten Bücher aus dem Studium zu durchwühlen ;-)
Habe mir erlaubt, dein Script in meinem virtuellen Sensor zu übernehmen, natürlich mit Modifikation der Geodaten (lg, lt).
Die Sensordaten funktionieren (meteoPlug > Sensoren) nun möchte ich das darstellen in einer Tabelle. Doch genau da fehlen mir Details…

Kannst du mir da einen Tipp geben, wie ich die Daten darstellen kann?

Hier mein Script (aktueller Stand, ist noch nicht fertig..)
picture=png template=inline -size 175x530
gradient:white-lightblue -bordercolor black -border 1 -fill white -pointsize 9 -draw 
"text 5 525 'powered by Wetterstation'" -fill black -pointsize 10 
-draw "text 30 15 '[actual_min5_misc_uploadlocaltime_0_16#3600]'" 

-pointsize 11 
-weight bold -draw "text 5 30 'Lufttemp.:'" 
-weight normal -draw "text 90 30 '[actual_min5_th*_temp#3600]°C'" 
-weight bold -draw "text 5 45 'Feuchte:'" 
-weight normal -draw "text 90 45 '[actual_min5_th*_hum_0#3600]%'" 
-weight bold -draw "text 5 60 'Wind:'" 
-weight normal -draw "text 90 60 '[actual_min5_wind*_wind_1_3.6#3600] km/h'" 
-weight bold -draw "text 5 75 'Windspitze:'" 
-weight normal -draw "text 90 75 '[actual_day1_wind*_gustmax_1_3.6#86400] km/h'" 
-weight bold -draw "text 5 90 'Windrichtung:'" 
-weight normal -draw "text 90 90 '[actual_min5_wind*_maindirtext_1_3.6#3600]'" 
-weight bold -draw "text 5 105 'Barometer:'" 
-weight normal -draw "text 90 105 '[actual_min5_thb*_seapress#3600] hPa'" 
-draw "text 15 120 'Veränderung:'" 
-weight normal -draw "text 90 120 '[actual_min5_thb*_seapress#3600] hPa'" 
-draw "text 15 135 'Aussicht:'" 
-weight normal -draw "text 90 135 '[actual_min5_thb*_forecasttext#10800]'" 
-weight bold -draw "text 5 150 'Regen/1h:'" 
-weight normal -draw "text 90 150 '[actual_hour1_rain*_total_0#7200] mm'" 
-weight bold -draw "text 5 165 'Regen/24h:'" 
-weight normal -draw "text 90 165 '[actual_day1_rain*_total_0#86400] mm'" 
-weight bold -draw "text 5 180 'Regen Monat:'" 
-weight normal -draw "text 90 180 '[actual_month1_rain*_total_0#2592000] mm'" 
-weight bold -draw "text 5 195 'Regen Jahr:'" 
-weight normal -draw "text 90 195 '[actual_year1_rain*_total_0#31104000] mm'" 
-weight bold -draw "text 5 210 'Solar:'" 
-weight normal -draw "text 90 210 '[actual_min5_sol*_rad_0#3600] W/qm'" 
-weight bold -draw "text 5 225 'UV:'" 
-weight normal -draw "text 90 225 '[actual_min5_uv*_uvi_1#3600] uvi'"
-weight bold -draw "text 5 240 'Sonnenschein:'" 
-weight normal -draw "text 90 240 '[actual_day1_data38*_total_0#86400] h'"
-weight bold -draw "text 5 255 'Sonnenaufgang:'" 
-weight normal -draw "text 110 255  '[actual_min5_misc_sunrisestandardlocaltime_0_16#3600] h'"
-weight bold -draw "text 5 270 'Sonnenuntergang:'" 
-weight normal -draw "text 110 270 '[actual_min5_misc_sunsetstandardlocaltime_0_16#3600] h'"
-weight bold -draw "text 5 285 'Mondphase:'" 
-weight normal -draw "text 90 285 '[actual_min5_misc_lunarphasetext_0_16#3600]'"
-weight bold -draw "text 5 300 'Mondphase-Icon:'" 
-weight normal -draw "text 90 300 '[actual_min5_misc_lunarphaseicon_0_16#3600]'"

-pointsize 13 
-weight bold 
-draw "text 5 325 'Vortag:'"
-draw "text 55 325 '[-1d1_day1_misc_localtime_0_10#86400]'" 

-weight normal
-pointsize 11 
-draw "text 5 340 'Temp Max::'" 
-draw "text 5 355 'Temp Mmin:'" 
-draw "text 5 370 'Wind Max:'" 
-draw "text 5 385 'relF min:'" 
-draw "text 5 400 'relF Max:'" 
-draw "text 5 415 'Druck Min:'" 
-draw "text 5 430 'Druck Max:'" 
-draw "text 5 445 'Sonne Max:'" 
-draw "text 5 460 'Regen/Tag:'" 
-draw "text 5 475 'Sonnenschein-Dauer:'"

Würde mich sehr freuen. Vielen Dank, Reto

Bitte Anmelden um der Konversation beizutreten.

Reto Burger

Berechnung der Sonnenschein-Dauer mit meteoplug 29 Sep 2015 12:30 #170956

  • ironedge
  • ironedges Avatar Autor
  • Besucher
  • Besucher
Hallo Reto,

Sorry für die sehr späte Antwort, ich war offenbar schon länger nicht mehr hier :ohmy:

Leider liefert Meteoplug für die Sonnenschein-Dauer keine korrekten Werte für aktuelle Perioden. Das bedeutet, du kannst die aufgelaufene Sonnenschein-Dauer für den aktuellen Tag nicht einfach über eine Variable auslesen (oder die Sonnenschein-Dauer für den aktuellen Monat, etc.). Werte für abgeschlossene Perioden stimmen natürlich (Tageswert vom vorherigen Tag, Monatswert vom Vormonat, etc.).
Die einzige Möglichkeit, korrekte Werte für aktuelle Perioden zu erhalten, liegt in der Berechnung in einem Javascript eines HTML Templates. Für den aktuellen Tageswert geht das z.B. folgendermassen:

       var uploadhour=parseInt(uploadtstamp.substr(11,2),10);
       var uploadmin=parseInt(uploadtstamp.substr(14,2),10);
       var suntime=0;
       var i=0;
       var sunhour=new Array(24);
       sunhour[0]=[1H_hour1_data38_val_4:0#3600];
       sunhour[1]=[2H_hour1_data38_val_4:0#3600];
       sunhour[2]=[3H_hour1_data38_val_4:0#3600];
       sunhour[3]=[4H_hour1_data38_val_4:0#3600];
       sunhour[4]=[5H_hour1_data38_val_4:0#3600];
       sunhour[5]=[6H_hour1_data38_val_4:0#3600];
       sunhour[6]=[7H_hour1_data38_val_4:0#3600];
       sunhour[7]=[8H_hour1_data38_val_4:0#3600];
       sunhour[8]=[9H_hour1_data38_val_4:0#3600];
       sunhour[9]=[10H_hour1_data38_val_4:0#3600];
       sunhour[10]=[11H_hour1_data38_val_4:0#3600];
       sunhour[11]=[12H_hour1_data38_val_4:0#3600];
       sunhour[12]=[13H_hour1_data38_val_4:0#3600];
       sunhour[13]=[14H_hour1_data38_val_4:0#3600];
       sunhour[14]=[15H_hour1_data38_val_4:0#3600];
       sunhour[15]=[16H_hour1_data38_val_4:0#3600];
       sunhour[16]=[17H_hour1_data38_val_4:0#3600];
       sunhour[17]=[18H_hour1_data38_val_4:0#3600];
       sunhour[18]=[19H_hour1_data38_val_4:0#3600];
       sunhour[19]=[20H_hour1_data38_val_4:0#3600];
       sunhour[20]=[21H_hour1_data38_val_4:0#3600];
       sunhour[21]=[22H_hour1_data38_val_4:0#3600];
       sunhour[22]=[23H_hour1_data38_val_4:0#3600];
       sunhour[23]=[24H_hour1_data38_val_4:0#3600];
       for (i=1;i<=uploadhour;i++) {
         suntime+=(sunhour[i]*60);
       }
       suntime=(suntime+(sunhour[0]*uploadmin))/60;
       suntime=parseFloat(suntime).toFixed(1);

Die Variable suntime enthält am Schluss den korrekten Wert für die bis anhin aufgelaufenen Sonnenstunden des aktuellen Tages. Wie erwähnt musst du da aber dein Template auf HTML umstellen.

Bitte Anmelden um der Konversation beizutreten.

  • Seite:
  • 1
Moderatoren: Markus Brotschi
Ladezeit der Seite: 0.190 Sekunden
Zum Seitenanfang
JSN Boot template designed by JoomlaShine.com