WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Lichti
Beiträge: 17
Registriert: 07.07.2019, 17:05
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von Lichti » 24.07.2019, 15:59

Jo, passt :D

Danke für das schnelle Update !

MartinBr
Beiträge: 287
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Danksagung erhalten: 1 Mal

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von MartinBr » 24.07.2019, 21:28

Ich 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'");
RaspberryMatic-3.47.10 auf TinkerBoard S, CUxD 2.33, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

mb817
Beiträge: 9
Registriert: 25.01.2015, 18:36

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von mb817 » 25.07.2019, 07:49

Vielen Dank für das schnelle Update und Deine Mühe.
Soweit ich feststellen kann läuft alles :D

DneprM750
Beiträge: 4
Registriert: 18.07.2019, 19:12

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von DneprM750 » 25.07.2019, 11:24

Der Freund, der mir gesagt hat, was Hausautomation ist, ist auch ein Weatherman Wetterstation-Benützer! Ist es nicht zu schwer für Beginnern?

dondaik
Beiträge: 10074
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 12 Mal
Danksagung erhalten: 15 Mal

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von dondaik » 25.07.2019, 13:17

hab das update mal "eingeworfen".... bin gespannt ........ also iobroker zusätze sind aus ( mein iobroker hat sommerpause )
-------
wer schreibfehler findet darf sie behalten.

MartinBr
Beiträge: 287
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Danksagung erhalten: 1 Mal

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von MartinBr » 25.07.2019, 21:09

MartinBr hat geschrieben:
24.07.2019, 21:28
Ich 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'");
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.

Im Vergleich zu echten Messergebnissen gibt es schon Abweichungen, aber es sieht schon ganz gut aus.
Am Wochenende stelle ich dann das gesamte "Upload" Script hier ein.

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);

Gruß
Martin
RaspberryMatic-3.47.10 auf TinkerBoard S, CUxD 2.33, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

MartinBr
Beiträge: 287
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Danksagung erhalten: 1 Mal

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von MartinBr » 25.07.2019, 21:21

Ich konnte es nicht lassen, ich habe das Script nun doch vollständig fertig.
Damit lade ich die Weatherman Daten zu Underground hoch:

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'");


Gruß
Martin

Edit:
4.8.19 Es fehlte ein Anführungszeichen. Korrigiert.

5.8.19 Ich habe zwei weitere Werte hinzugefügt: Dew Point (w_taupunkt) und Wind gust (w_wind_spitze)
Zuletzt geändert von MartinBr am 05.08.2019, 19:17, insgesamt 3-mal geändert.
RaspberryMatic-3.47.10 auf TinkerBoard S, CUxD 2.33, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

HomeZecke
Beiträge: 131
Registriert: 08.07.2014, 09:50

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von HomeZecke » 26.07.2019, 08:41

Hallo,

ich kann ja wie manche vielleicht wissen nur die Firmware 58 nutzen. Aber ich probiere natürlich immer das neueste Update aus. Wenn ich jetzt aber wieder mittels Komplettupdate downgrade auf die 58 kann ich mich nicht mittels Zugriff auf 192.168.4.1 einloggen. Ins Wiffi - Wlan kann ich mich einloggen. Aber mehr geht nicht. Die Website fürs Einrichten ist nicht erreichbar.

Geht ein downgrade überhaupt so? Sollte ich nur ein Teilupdate machen? Oder bleibt mir nur das neuflashen am PC?

Grüsse..

dondaik
Beiträge: 10074
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 12 Mal
Danksagung erhalten: 15 Mal

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von dondaik » 26.07.2019, 09:15

auch nach neustart nicht ?wenn wirklich nur die 58 funzt .. dann würde ich mir damit einen wemos flashen und fertig einrichten
und auch wenn es mechanische gefahren birgt ! einen zweiten zum testen nutzen also austauschen oder eine testumgebung bauen...
mag ja sein das basics geändert wurden die nicht immer neu geschrieben werden - doch das kann nur eugen sagen!

downgrad beirgt immer gefahren ..... egal wo
-------
wer schreibfehler findet darf sie behalten.

HomeZecke
Beiträge: 131
Registriert: 08.07.2014, 09:50

Re: WEATHERMAN ...die perfekte Wetterstation für die Hausautomation

Beitrag von HomeZecke » 26.07.2019, 10:19

Nee, das geht net. Immer auf den Schuppen klettern Weatherman auf, wemos wechseln, Weatherman zu... Da funktioniert der Weatherman irgenwann gar nicht mehr. Schon wegen dem Abdichten. Mal ganz davon abgesehen.. Dafür bin ich auch einfach zu faul. :mrgreen: Das ist auch der Grund warum ich nicht bis auf's Blut testen kann welcher Sensor wann mal aussetzt. Der Weatherman wird ja "produktiv" eingesetzt.

Und nen frischen Wemos auf Breadboard mit neuer Firmware geht auch nicht so gut, da er ja hängen bleibt, wenn ein Sensor fehlt! :wink: Zumindest die w132 Sensoren habe ich nicht 2 mal, Licht Sensor und Sonnensensor müsste ich alles erst besorgen. Schlimm, denn geizig bin ich auch noch.. :mrgreen:

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“