Hoi
Schlimmstenfalls ist perl nicht installiert.
Oder man muss die XML::TreePP funktionalität nachinstallieren.
Debian -- Details of package libxml-treepp-perl in lenny
Ankündigung
Einklappen
Keine Ankündigung bisher.
Wetterabhängige Rolladensteuerung
Einklappen
X
-
HoiZitat von xianlux Beitrag anzeigen... ich würde da ein z.B. ein Perl Skript schreiben welches die Daten ins Netz "fischen" geht und dann per groupswrite die Daten auf den KNX-Bus sendet...
Genau!
Anleitung auf eigene Gefahr:
Linux-Kompendium: Crontab
root Rechte erlangen: su -> Passwort:
Ein Verzeichnis für Userscripte aussuchen, z.B.: /usr/bin/ /*oder sonstwo*/
Eine Datei anlegen: nano /usr/bin/yahoo_weather.pl EDIT: ääähhh, natürlich google_weather.pl
Script:
Script copy pasten und mit ctrl O (wie Otto) sichern, mit ctrl x verlassenCode:#!/usr/bin/perl -w use strict; use XML::TreePP; # Zum Testen im Browser: http://www.google.com/ig/api?weather=Munchen+Germany&hl=de #my $ZipCode = $ARGV[0]; # wenn man das script mit der PLZ als Argument aufrufen möchte my $ZipCode = "Munchen"; # Eigene PLZ oder Ort eingeben, mit yahoo testen ob sie gefunden wird my $country = "Germany"; # Eigenes Land eingeben, Germany oder Switzerland oder ... my $url = "http://www.google.com/ig/api?weather=".$ZipCode."+".$country."&hl=de"; # die URL my $tpp = XML::TreePP->new(); my $tree = $tpp->parsehttp( GET => $url ); # die eigentliche Abfrage my $city = $tree->{xml_api_reply}->{weather}->{forecast_information}->{city}->{"-data"}; if (length($city) < 1) { print "Unable to get info -- most likely a bad zip code. \n"; } my $currtempc = $tree->{xml_api_reply}->{weather}->{current_conditions}->{temp_c}->{"-data"}; my $currhumidity = $tree->{xml_api_reply}->{weather}->{current_conditions}->{humidity}->{"-data"}; my $currcondition = $tree->{xml_api_reply}->{weather}->{current_conditions}->{condition}->{"-data"}; my $currwind = $tree->{xml_api_reply}->{weather}->{current_conditions}->{wind_condition}->{"-data"}; my $todayhigh = $tree->{xml_api_reply}->{weather}->{forecast_conditions}->[0]->{high}->{"-data"}; my $todaylow = $tree->{xml_api_reply}->{weather}->{forecast_conditions}->[0]->{low}->{"-data"}; my $todaycond = $tree->{xml_api_reply}->{weather}->{forecast_conditions}->[0]->{condition}->{"-data"}; my $tomorrowcond = $tree->{xml_api_reply}->{weather}->{forecast_conditions}->[1]->{condition}->{"-data"}; system("groupwrite ip:localhost 7/0/0 $currtempc"); # bitte die richtigen/eigenen GA's eintragen system("groupwrite ip:localhost 7/0/1 $currhumidity"); # vielleicht stimmen die Datentypen für linknx system("groupwrite ip:localhost 7/0/2 $currcondition"); # sonst alles mit type="16.000" versuchen system("groupwrite ip:localhost 7/0/3 $currwind"); system("groupwrite ip:localhost 7/0/4 $todayhigh"); system("groupwrite ip:localhost 7/0/5 $todaylow"); system("groupwrite ip:localhost 7/0/6 $todaycond"); system("groupwrite ip:localhost 7/0/7 $tomorrowcond");
Die Datei ausführbar machen: chmod 755 yahoo_weather.pl EDIT: ääähhh, natürlich google_weather.pl
Damit das script automatisch z.B. alle 15 min. ausgeführt wird mit cron aufrufen lassen:
Mit dem Befehl crontab -e kann man die benutzereigene Crontab editieren.
1,16,31,46 * * * * /usr/bin/yahoo_weather.pl >/dev/null 2>&1 EDIT: ääähhh, natürlich google_weather.pl
hinzufügen und mit ctrl O (wie Otto) sichern, mit ctrl x verlassen
Die Werte in Linknx verfügbar machen:
Das wars, hoffentlich.Code:<!-- Google Webabfrage --> <object id="google_currtempc" gad="7/0/0" type="9.xxx">G-Weather akt. Temperatur</object> <object id="google_currhumidity" gad="7/0/1" type="5.001">G-Weather akt. Feuchte</object> <object id="google_currcondition" gad="7/0/2" type="16.000">G-Weather akt. Wetter</object> <object id="google_currwind" gad="7/0/3" type="16.000">G-Weather akt. Wind</object> <object id="google_todayhigh" gad="7/0/4" type="9.xxx">G-Weather heut. Maxtemp</object> <object id="google_todaylow" gad="7/0/5" type="9.xxx">G-Weather heut. Mintemp</object> <object id="google_todaycond" gad="7/0/6" type="16.000">G-Weather heut. Wetter</object> <object id="google_tomorrowcond" gad="7/0/7" type="16.000">G-Weather morg. Wetter</object>
Einen Kommentar schreiben:
-
Hi,Zitat von nektar Beitrag anzeigenUnd wie kann ich mit linknx die Wetterdaten aus dem Internet beziehen?
Würde mich auch interessieren da ich noch keine Wetterstation habe
ich würde da ein z.B. ein Perl Skript schreiben welches die Daten ins Netz "fischen" geht und dann per groupswrite die Daten auf den KNX-Bus sendet...
Gruss,
Chris
Einen Kommentar schreiben:
-
Und wie kann ich mit linknx die Wetterdaten aus dem Internet beziehen?
Würde mich auch interessieren da ich noch keine Wetterstation habe
Einen Kommentar schreiben:
-
Da ich keine Wetterstation habe müsste ich die Daten irgendwie aus dem Internet beziehen.
Einen Kommentar schreiben:
-
Welche Daten möchtest du haben? Entweder wie du es bereits machts aus dem Internet oder von einer Wetterstation... Entweder ne KNX-Wetterstation (z.B. Elsner) oder halt eine Wetterstation welche am Rechner angeschlossen ist wo linknx drauf läuft.Zitat von OliWit82 Beitrag anzeigenHi Chris,
der Aktor kann das nur wo bekomme ich meine Daten / Werte her?
Gruss,
Chris
Einen Kommentar schreiben:
-
Hi Chris,
der Aktor kann das nur wo bekomme ich meine Daten / Werte her?
Einen Kommentar schreiben:
-
Hi Oliver,Zitat von OliWit82 Beitrag anzeigenKann ich mit Linknx eine Steuerung realisieren das die Rolladen je nach Wetterlage auf bestimmte Positionen fahren?
ja das ist möglich wenn dein Aktor es zulässt.
Meine Aussenstores verschatten dass Haus nur wenn es drinnen wärmer ist als ein bestimmter Wert, wenn die Sonne heller scheint als 40000 lux und wenn die Sonne auch auf der Seite (Azimuth) des Hauses steht.
Gruss,
Chris
Einen Kommentar schreiben:
-
Wetterabhängige Rolladensteuerung
Hallo Zusammen,
Ich nutze in meinem Haus KNX, Eibd, Linknx und Knxweb.
Der Verbaute Aktor ist ein ABB JA/S8.230.1M
Momenatn ist es so geregelt das die Rolladen (linknx) sich den Sonnen auf und untergang im Internet holt.
Nur da es langsam auf den Sommer zugeht habe ich das Problem das mit konstant die Sonne aufs Haus schein.
Kann ich mit Linknx eine Steuerung realisieren das die Rolladen je nach Wetterlage auf bestimmte Positionen fahren?
Gruss
OliverStichworte: -


Einen Kommentar schreiben: