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