Soweit ich feststellen kann läuft alles

Moderator: Co-Administratoren
Ich habe nun für Solar Radiation (Sonneneinstrahlung) auf Basis der Weatherman Werte ein kleines Script erstellt. Die Werte lade ich auch zu Weatherunderground hoch.MartinBr hat geschrieben: ↑24.07.2019, 21:28Ich habe mal das Script zum Hochladen der Weatherman-Daten erweitert:
Neu:
Windrichtung
Regen aktuell
Regen Heute
Luftdruck.
Gruß
Martin
Code: Alles auswählen
! Eigene Wetterdaten an Wunderground senden ! Daten der PWS (Personal Weather Station) eingeben, zuvor PWS Anlegen unter www.wunderground.com -> more -> register your PWS string ID = "IHOHENxx"; !eigene Wunderground Station ID eingeben string PW = "abcdef"; !eigenen Wunderground Station Key eingeben !zu übermittelnde Werte definieren real tempc = dom.GetObject("w_temperatur_mittel").Value(); ! die Außentemperatur liegt in der Systemvariable "w_temperatur" vor. Hier der gemittelte Wert ! Umrechnung der Werte, da Wunderground nur "Englische-Einheiten" akzeptiert, z.B. von Grad Celsius in Grad Fahrenheit real tempf = (1.8 * tempc) + 32.0; ! die Luftfeuchtigkeit real humidity = dom.GetObject("w_feuchte_rel").Value(); ! die Windgeschwindigkeit (mit Umrechnung) real windspeedms = dom.GetObject("w_wind_spitze").Value(); real windspeedkmh = 3.6 * windspeedms; real windspeedmph = 0.621371192 * windspeedkmh; ! die Windrichtung (0-360°) real winddir = dom.GetObject("w_wind_dir").Value(); !Regen real iddailynowrainmm = dom.GetObject("w_regenstaerke").Value(); ! Regen aktuell in mm real dailyraininnow = 0.03937 * iddailynowrainmm; real iddailyrainmm = dom.GetObject("w_regen_mm_heute").Value(); ! Regen heute in mm real dailyrainin = 0.03937 * iddailyrainmm; ! Luftdruck real barometer = dom.GetObject("w_barometer").Value(); ! Luftdruck real baromin = 0.0295301 * barometer; dom.GetObject("CUxD.CUX2801002:5.CMD_EXEC").State("extra/curl -s -k 'http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID="#ID#"&PASSWORD="#PW#"&dateutc=now&tempf="#tempf#"&humidity="#humidity#"&windspeedmph="#windspeedmph#"&winddir="#winddir#"&rainin="#dailyraininnow#"&dailyrainin="#dailyrainin#"&baromin="#baromin#"&action=updateraw'");
Code: Alles auswählen
! Solar_Radiation aus Sonnentemperatur berechnen
! und in Systemvariable "SV_Solar_Radiation" schreiben
! Stand: 22.07.2019
!
real r1;
object r1 = dom.GetObject ("w_sonne_diff_mittel").Value();
r1 = dom.GetObject ("w_sonne_diff_mittel").Value();
WriteLine(r1);
! Ergebnis berechnen
real r3;
r3 = ((r1 - 3.0)*30).ToInteger();
WriteLine(r3);
! Ergebnis abspeichern
dom.GetObject("SV_Solar_Radiation").State(r3);
WriteLine(r3);
Code: Alles auswählen
! Eigene Wetterdaten an Wunderground senden
! Daten der PWS (Personal Weather Station) eingeben, zuvor PWS Anlegen unter www.wunderground.com -> more -> register your PWS
string ID = "IHOHEN11"; !eigene Wunderground Station ID eingeben
string PW = "ggggggg"; !eigenen Wunderground Station Key eingeben
!zu übermittelnde Werte definieren
real tempc = dom.GetObject("w_temperatur_mittel").Value(); ! die Außentemperatur liegt in der Systemvariable "w_temperatur" vor. Hier der gemittelte Wert
! Umrechnung der Werte, da Wunderground nur "Englische-Einheiten" akzeptiert, z.B. von Grad Celsius in Grad Fahrenheit
real tempf = (1.8 * tempc) + 32.0;
! die Luftfeuchtigkeit
real humidity = dom.GetObject("w_feuchte_rel").Value();
! Tau Punkt
real iddewpointc = dom.GetObject("w_taupunkt").Value();
real iddewpointf = (1.8 * iddewpointc) + 32.0;
! die Windgeschwindigkeit (mit Umrechnung)
real windspeedms = dom.GetObject("w_wind_mittel").Value();
real windspeedkmh = 3.6 * windspeedms;
real windspeedmph = 0.621371192 * windspeedkmh;
! die Windgeschwindigkeit (mit Umrechnung)
real idwindgustms = dom.GetObject("w_wind_spitze").Value();
real idwindgustkmh = 3.6*idwindgustms;
real idwindgustmph = 0.621371192 * idwindgustkmh;
! die Windrichtung (0-360°)
real winddir = dom.GetObject("w_wind_dir").Value();
!Regen
real iddailynowrainmm = dom.GetObject("w_regenstaerke").Value(); ! Regen aktuell in mm
real dailyraininnow = 0.03937 * iddailynowrainmm;
real iddailyrainmm = dom.GetObject("w_regen_mm_heute").Value(); ! Regen heute in mm
real dailyrainin = 0.03937 * iddailyrainmm;
! Luftdruck
real barometer = dom.GetObject("w_barometer").Value(); ! Luftdruck
real baromin = 0.0295301 * barometer;
! Solar Radiation (Berechnet aus der Diff.-Temperatur)
real idsolarradiation = dom.GetObject("SV_Solar_Radiation").Value(); ! Solar Radiation
!
!Werte an Wunderground senden. Die Url unten nach " State("extra/curl -s -k " um gewünschte Variablen ergänzen, welche oben definiert worden sind, nach dem Muster: &tempf="#tempf#", die Variablen vor " &action=updateraw " einfügen. Unbedingt die festgelegten Bezeichnungen von Wunderground für die Parameter verwenden, siehe http://wiki.wunderground.com/index.php/PWS_-_Upload_Protocol siehe Abschnitt "List of Fields"
dom.GetObject("CUxD.CUX2801002:5.CMD_EXEC").State("extra/curl -s -k 'http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID="#ID#"&PASSWORD="#PW#"&dateutc=now&tempf="#tempf#"&humidity="#humidity#"&windspeedmph="#windspeedmph#"&&windgustmph="#idwindgustmph#"&winddir="#winddir#"&rainin="#dailyraininnow#"&dailyrainin="#dailyrainin#"&baromin="#baromin#"&solarradiation="#idsolarradiation#"&dewptf="#iddewpointf#"&action=updateraw'");