Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
@ JuMi:
Nein, im svn ist bisher nichts. Da habe ich keinen Zugang.
Habe die Version noch etwas verändert und nun auch sich anpassende Hintergründe je nach Wetterlage sowie tags und nachts unterschiedlich.
Die entsprechenden Dateien (in den Ordnern symbole und symbolebg) hätte ich hier ja gerne mit hochgeladen, leider sind die zip-Dateien zu groß.
Hier mal der aktuelle Code:
[INFORMATION]# ANPASSUNG an WUNDERGROUND based on
# Plugin zum Abfragen von Google Weather
# Version 0.5 2011-02-15
# 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!
my $city = "Leipzig"; # Meine Stadt, hier statt ü,ä,ö einfach u,a,o nehmen oder ue,ae,oe
my $country = "Germany"; # Mein Land
my $lang = "DL"; # Meine Sprache
my $api = "xxxxxxxxxxxxxxxx"; #API, muss man sich bei Wunderground besorgen
my $wunderground_temp_ga = "10/0/4"; # Gruppenadresse Temperatur (DPT9.001)
my $wunderground_hum_ga = "10/0/5"; # Gruppenadresse Luftfeuchte (DPT9.007)
my $wunderground_forecast_maxtemp_ga = "10/0/6"; # Gruppenadresse Temperatur Maximum (DPT9.001)
my $wunderground_forecast_mintemp_ga = "10/0/7"; # Gruppenadresse Temperatur Minimum (DPT9.001)
my $wunderground_clouds_ga = "10/0/8"; # Gruppenadresse Wolken (DPT16)
my $wunderground_forecast_clouds_ga = "10/0/9"; # Gruppenadresse Vorhersage Wolken (DPT16)
my $wunderground_wind_ga = "10/0/10"; # Gruppenadresse Wind (DPT16)
my $wunderground_ip = "http://api.wunderground.com/api/";
my $symbole = "/symbole/"; # Pfad zu den Wettersymbolen
my $symbolebg = "/symbolebg/"; # Pfad zu den Wetterhintergründen
my $htdocs = "/var/www/"; # Das Webverzeichnis
my $wunderground_xml = "wunderground_weather.xml"; # Der XML Datensatz
my $weather_html = "wunderground_weather.html"; # Ausgabe als HTML
my $wunderground_css = "wunderground_weather.css"; # Das Stylesheet
$plugin_info{$plugname.'_cycle'} = 1800; # Eigenen Aufruf-Zyklus setzen (Initialisierung/zyklisches prüfen)
# nicht zu klein, da die Daten sowieso in längeren Perioden refresht werden
# und das Plugin auf die CF schreibt.
#######################
### ENDE DEFINITION ###
#######################
# Hauptverarbeitung
use LWP::Simple;
use XML::Simple;
use Data:: Dumper;
use Encode qw(encode decode);
# use open ":utf8";
my $url = $wunderground_ip.$api."/conditions/forecast/astronomy/lang:".$lang."/q/".$country."\/".$city."\.xml";
#my $xml = encode("utf8",get($url));
my $xml = get($url);
die "Couldn't get it!" unless defined $xml;
my $xml_w = ">".$htdocs.$wunderground_xml;
open(XML, $xml_w); # XML Datei zum Schreiben öffnen
print XML $xml;
close(XML);
my $weather = XMLin($xml);
my $wunderground_temp = $weather->{current_observation}->{temp_c};
$wunderground_temp =~ m/(\d{1,3})(\D)(\d{1,3})/; # ($1)($2)($3)
knx_write($wunderground_temp_ga,$1,9);
my $wunderground_hum = $weather->{current_observation}->{relative_humidity};
$wunderground_hum =~ m/(\d{1,3})(\D)/; # ($1)($2)
knx_write($wunderground_hum_ga,$1,9);
my $wunderground_forecast_maxtemp = $weather->{forecast}->{simpleforecast}->{forecastdays}->{forecastday}->[0]->{high}->{celcius};
$wunderground_forecast_maxtemp =~ m/(\d{1,3})(\D)(\d{1,3})/; # ($1)($2)($3)
knx_write($wunderground_forecast_maxtemp_ga,$1,9);
my $wunderground_forecast_mintemp = $weather->{forecast}->{simpleforecast}->{forecastdays}->{forecastday}->[0]->{low}->{celcius};
$wunderground_forecast_mintemp =~ m/(\d{1,3})(\D)(\d{1,3})/; # ($1)($2)($3)
knx_write($wunderground_forecast_mintemp_ga,$1,9);
my $wunderground_clouds = $weather->{current_observation}->{weather};
if ($wunderground_clouds =~ m/(\D*)(\s)(\D*)/) { # \s findet Zwischenraum (whitspaces). ($1)($2)($3)
knx_write($wunderground_clouds_ga,$1." ".$3,16);
} else {
knx_write($wunderground_clouds_ga,$wunderground_cl ouds,16);
}
my $wunderground_forecast_clouds = $weather->{forecast}->{simpleforecast}->{forecastdays}->{forecastday}->[0]->{conditions};
if ($wunderground_forecast_clouds =~ m/(\D*)(\s)(\D*)/) { # ($1)($2)($3)
knx_write($wunderground_forecast_clouds_ga,$1." ".$3,16);
} else {
knx_write($wunderground_forecast_clouds_ga,$wunder ground_forecast_clouds,16);
}
my $wunderground_wind = $weather->{current_observation}->{wind_string};
if ($wunderground_wind =~ m/(\D*)(\s)(\D*)/) { # ($1)($2)($3)
knx_write($wunderground_wind_ga,$1." ".$3,"16");
} else {
knx_write($wunderground_wind_ga,$wunderground_wind ,16);
}
my $length = -4;
my $icontoday = substr ($weather->{current_observation}->{icon_url}, 31, $length);
my $location = substr ($weather->{current_observation}->{observation_time}, 5, $length);
my $html =
"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<title>Wetter</title>
<meta name='language' content='de'>
<meta http-equiv='content-type' content='text/html; charset=utf8'>
<link rel='stylesheet' type='text/css' href='".$wunderground_css."'>
<style type='text/css'>
<!--
Oder SourceForge User anlegen, makki schicken und er schaltet dich fürs Wiregate SVN frei.
(oder Chris M.)
Was das beste und einfachste ist, weil es sonst schwer ist alle Entwicklungen zu verfolgen, testen was mal selbst evtl. garnicht verwendet etc..
Zitat von jensgulow
..
wird favorisiert das von mir angepasste plugin für das Wetter mal ins svn zu stellen.
wie gehe ich denn nun vor?
Ich antworte mal gleich hier: s.o. am besten selbst.
+ mit SVN vertraut machen
- Unter dem Stichwort "subversion" finden sich hier einige Threads/Posts mit Anleitungen (und natürlich im Internet zu tausenden); unter Windows ist TortoiseSVN ein Einstiegs-Stichwort.
- Wenns garnicht anders geht: mir schicken, aber dann bitte mit exakter Beschreibung *wo*, *was* (inkl. ggfs. Beispiel-config etc) weil ich kann das wenn nicht aus Seitenlangen Threads rausfieseln / testen.
(aber ich sage: wer Perl-Plugins schreiben kann, kann auch SVN bedienen )
Wenns z.B. eine Beispielconfig für die CV braucht, einfach als Kommentar ("#") ins Plugin..
Edit: Ein subversion (SVN) Tutorial von Usern für User im Lexikon oder cometvisu.de-Wiki wäre mal was (Zaunpfahl-wink-wink )
Und final: google wetter ist nachhhaltig tot, kann man also ersetzen/löschen.. (gilt ebenso für das lose verwandte CV-Plugin von mir)
Die entsprechenden Dateien (in den Ordnern symbole und symbolebg) hätte ich hier ja gerne mit hochgeladen, leider sind die zip-Dateien zu groß.
Könntest du (oder jemand anderes) mir die Symbole + css auf anderem Weg (Mail, Upload-Dienst) zur Verfügung stellen? Das Wetter-Plugin ist wirklich super. Leider sieht es ohne die Icons nicht wirklich sehr schick aus ;-)
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar