Hoi
Erstens: Ich habe sowas gemacht:
Zweitens: Is so.
Erstens: Ich habe sowas gemacht:
Code:
# Plugin zum Abfragen von Wunder Wetter # Version 0.5 2011-04-29 # Copyright: Bodo (https://knx-user-forum.de/members/bodo.html) # License: GPL (v2) # Aufbau möglichst so, dass man unterhalb der Definitionen nichts ändern muss! ################## ### DEFINITION ### ################## my $city = "IZURICHC2"; # Meine Stadt, hier blabla my $wunder_temp_ga = "13/0/0"; # Gruppenadresse Temperatur (DPT9) my $wunder_hum_ga = "13/0/1"; # Gruppenadresse Luftfeuchte (DPT9) my $wunder_windrichtung_ga = "13/0/2"; # Gruppenadresse Windrichtung (DPT9) my $wunder_taupunkt_ga = "13/0/3"; # Gruppenadresse Taupunkt (DPT9) my $wunder_uv_ga = "13/0/4"; # Gruppenadresse UV (DPT9) my $wunder_ip = "http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID="; my $tmp = "/tmp/"; # Temp Verzeichniss my $wunder_xml = "wunder_wetter.xml"; # Der XML Datensatz $plugin_info{$plugname.'_cycle'} = 60; # Eigenen Aufruf-Zyklus setzen (Initialisierung/zyklisches prüfen) # nicht zu klein, da die Daten sowieso in längeren Perioden refresht werden # 60 ist oft. ####################### ### ENDE DEFINITION ### ####################### # Hauptverarbeitung use LWP::Simple; use XML::Simple; use Encode qw(encode decode); my $url = $wunder_ip.$city; my $xml = encode("utf8",get($url)); die "Couldn't get it!" unless defined $xml; my $xml_w = ">".$tmp.$wunder_xml; open(XML, $xml_w); # XML Datei zum Schreiben öffnen print XML $xml; close(XML); my $wetter = XMLin($xml); # Startpunkt knx_write($wunder_temp_ga,$wetter->{temp_c},9); knx_write($wunder_hum_ga,$wetter->{relative_humidity},9); knx_write($wunder_windrichtung_ga,$wetter->{wind_degrees},9); knx_write($wunder_taupunkt_ga,$wetter->{dewpoint_c},9); knx_write($wunder_uv_ga,$wetter->{UV},9);
Kommentar