Da ich diese nicht exakt benötige, kaufe ich mir keine Wetterstation sondern hole diese von http://openweathermap.org/current und schreibe den Wert einmal pro Stunde in eine Systemvariable.
Folgende Vorbereitung muss erfolgen:
1. Eine Systemvariable mit dem Namen AussenTemperatur muss erstellt werden.
2. Die weatherUrl im Script unten muß auf Eure Stadt angepasst werden.
(Es gibt auch die Möglichkeit, Längen und Breitengrad anzugeben ... näheres auf openweathermap.org)
Code: Alles auswählen
string weatherUrl='http://api.openweathermap.org/data/2.5/find?q=Berlin';
string stderr;
string stdout;
system.Exec("wget -q -O - "#weatherUrl, &stdout, &stderr);
string pos1='{"temp":';
string pos2=',';
integer tempPos=stdout.Find(pos1) + pos1.Length();
stdout=stdout.Substr(tempPos,100).StrValueByIndex(pos2,0);
! Die Werte sind in Kelvin, deswegen muss 273.15 abgezogen werden um auf Grad-Celsius zu kommen.
real aktTemp=stdout.ToFloat()-273.15;
!Manchmal gibt es Fehler beim Abfragen, dann entsteht eine Temperatur von -273Grad.
if (aktTemp>-272){
dom.GetObject('AussenTemperatur').Variable(stdout.ToFloat()-273.15);
WriteLine(dom.GetObject('AussenTemperatur').Variable());
}
Ausführlicheres Script mit mehr Ergebnissen (erweitert von hoffmakl):
http://homematic-forum.de/forum/viewtop ... 10#p175847
Weiteres Wetterscript von funkleuchtturm:
http://homematic-forum.de/forum/viewtop ... nd#p139456