mediola

Aktuelles Wetter über wunderground.com

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Werbung


Aktuelles Wetter über wunderground.com

Beitragvon grmpf » 21.09.2012, 12:59

Ich fasse mal die Aktivitäten aus dem Thread (Google Weatherserver down) hier zusammen:

1) Bei wunderground.com anmelden, Wetterstation in der Nähe suchen und den KEY generieren
2) Im tcl-Skript (in der url) Ort und Key eintragen
3) Die Url aus dem Skript erst im Browser testen ob die korrekte Antwort geliefert wird

4) Alle Variablen in der homematic definieren
5) Im Addons-Verzeichnis ein Verzeichnis anlegen "wetter" (z. B.)
6) Skript als .tcl in oben angelegtes Verzeichnis kopieren
7) Periodischen Aufruf des Skripts (z. B. stündlich) in der gewohnten Art anlegen.

Hier ist das Skript:
Code: Alles auswählen
        load tclrega.so

        #
        # Read weather data <Ort>
        # Update der Daten auf wunderground erfolgt immer zur vollen Stunde

        # Variablen:
       #   Wetter-Aktualisierung      Zeichenkette
       #   Wetter-Bedingungen         Zeichenkette
       #   Wetter-Temperatur         Zahl (°C)
       #   Wetter-Windgeschwindigkeit   Zahl (km/h)
       #   Wetter-Windboeen         Zahl (km/h)
       #   Wetter-Windrichtung         Zeichenkette
       #   Wetter-Windbedingungen      Zeichenkette
       #   Wetter-Luftdruck         Zahl (mb)
       #   Wetter-Luftdrucktrend      Zeichenkette
       #   Wetter-Luftfeuchte         Zeichenkette

        #

        set url http://api.wunderground.com/api/<KEY>/conditions/lang:DL/q/Germany/<ORT>.xml
        exec /usr/bin/wget -q -O /usr/local/addons/wetter/wetteraktuell.xml $url

        set f [open "/usr/local/addons/wetter/wetteraktuell.xml"]
        set input [read $f]
        close $f

        #
        # goto section with current observation
        #
        regexp "<current_observation>(.*?)</current_observation>" $input dummy current  ; #get current observation
        #
        regexp "<observation_time>Last Updated on (.*?)</observation_time>" $current dummy observation_time  ; # letzter update
        regexp "<weather>(.*?)</weather>" $current dummy weather  ; # wetterbedingungen
        regexp "<temp_c>(.*?)</temp_c>" $current dummy temp_c  ; # temperatur # ZAHL
        regexp "<wind_kph>(.*?)</wind_kph>" $current dummy wind_kph  ; # Windgeschwindigkeit # ZAHL
        regexp "<wind_gust_kph>(.*?)</wind_gust_kph>" $current dummy wind_gust_kph  ; # Windboeengeschwindigkeit # ZAHL
        regexp "<wind_dir>(.*?)</wind_dir>" $current dummy wind_dir  ; # windrichtung
        regexp "<wind_string>(.*?)</wind_string>" $current dummy wind_string  ; # windbedingungen
        regexp "<pressure_mb>(.*?)</pressure_mb>" $current dummy pressure_mb  ; # Luftdruck #ZAHL
        regexp "<pressure_trend>(.*?)</pressure_trend>" $current dummy pressure_trend  ; # Luftdrucktrend
        regexp "<relative_humidity>(.*?)</relative_humidity>" $current dummy relative_humidity  ; # Luftfeuchte

       # Umlaute korrigieren

       switch $wind_dir {
         "Südwest"          {set wind_dir "Südwest"}
         "Südost"           {set wind_dir "Südost"}
         "West-Südwest"     {set wind_dir "West-Südwest"}
         "Süd-Südwest"     {set wind_dir "Süd-Südwest"}
         "Ost-Südost"       {set wind_dir "Ost-Südost"}
         "Süd-Südost"      {set wind_dir "Süd-Südost"}
    }
        #
        # set ReGaHss variables
        #
        set rega_cmd ""
        append rega_cmd "var c0 = dom.GetObject('Wetter-Aktualisierung');"
        append rega_cmd "var c1 = dom.GetObject('Wetter-Bedingungen');"
        append rega_cmd "var c2 = dom.GetObject('Wetter-Temperatur');"
        append rega_cmd "var c3 = dom.GetObject('Wetter-Windgeschwindigkeit');"
        append rega_cmd "var c4 = dom.GetObject('Wetter-Windboeen');"
        append rega_cmd "var c5 = dom.GetObject('Wetter-Windrichtung');"
        append rega_cmd "var c6 = dom.GetObject('Wetter-Windbedingungen');"
        append rega_cmd "var c7 = dom.GetObject('Wetter-Luftdruck');"
        append rega_cmd "var c8 = dom.GetObject('Wetter-Luftdrucktrend');"
        append rega_cmd "var c9 = dom.GetObject('Wetter-Luftfeuchte');"
        append rega_cmd "c0.State('$observation_time');"
        append rega_cmd "c1.State('$weather');"
        append rega_cmd "c2.State('$temp_c');"
        append rega_cmd "c3.State('$wind_kph');"
        append rega_cmd "c4.State('$wind_gust_kph');"
        append rega_cmd "c5.State('$wind_dir');"
        append rega_cmd "c6.State('$wind_string');"
        append rega_cmd "c7.State('$pressure_mb');"
        append rega_cmd "c8.State('$pressure_trend');"
        append rega_cmd "c9.State('$relative_humidity');"

        rega_script $rega_cmd
Gert
________________________________
CCU2, 53 Geräte, 88 Kanäle, nur Funk
grmpf
 
Beiträge: 309
Registriert: 21.01.2012, 13:16

Re: Aktuelles Wetter über wunderground.com

Beitragvon macklcat » 04.10.2012, 20:26

Habe alles wie beschrieben angelegt. Es wird bei mir aber nur eine leer wetteraktuell.xml beim ausführen des Scriptes angelegt. Die URL habe ich auch überprüft (set url http://api.wunderground.com/api/<123456>/conditions/lang:DL/q/Austria/Imst.xml). Woran könnte es noch liegen, dass die wetteraktuell.xml nur eine leere Seite liefert.

Aufgerufen wird mein TCL-Script mit
string stdout;
string stderr;
system.Exec("tclsh /usr/local/addons/wetter/wetteraktuell.tcl", &stdout, &stderr);
macklcat
 
Beiträge: 17
Registriert: 07.05.2012, 09:11

Re: AW: Aktuelles Wetter über wunderground.com

Beitragvon grmpf » 04.10.2012, 20:29

Den Link mal im Browser probiert?

Gesendet von meinem GT-P1000 mit Tapatalk 2
Gert
________________________________
CCU2, 53 Geräte, 88 Kanäle, nur Funk
grmpf
 
Beiträge: 309
Registriert: 21.01.2012, 13:16

Re: Aktuelles Wetter über wunderground.com

Beitragvon macklcat » 05.10.2012, 06:48

Ja, im Browser funktioniert er.
kann es sein, weil ich meine homematic auf port 443 umgeleitet habe?
macklcat
 
Beiträge: 17
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitragvon grmpf » 08.10.2012, 12:16

Der Ausgabepfad für die Datei wetteraktuell.xml stimmt auch? Die Datei ist nach einer Abfrage auch da?
Gert
________________________________
CCU2, 53 Geräte, 88 Kanäle, nur Funk
grmpf
 
Beiträge: 309
Registriert: 21.01.2012, 13:16

Re: Aktuelles Wetter über wunderground.com

Beitragvon macklcat » 08.10.2012, 14:10

ja die Datei wetteraktuell.xml wird in usr/local/addons/wetter/ jedesmal angelegt bzw geändert wenn man sie nicht löscht, aber eben ohne Inhalt.
macklcat
 
Beiträge: 17
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitragvon grmpf » 08.10.2012, 15:01

Was heißt ohne Inhalt? Vollkommen leere Datei?? Dann würde irgenwas mit der url nicht stimmen!
Was hat denn die tcl-Datei bei Dir für Berechtigungen? 755?
Gert
________________________________
CCU2, 53 Geräte, 88 Kanäle, nur Funk
grmpf
 
Beiträge: 309
Registriert: 21.01.2012, 13:16

Re: Aktuelles Wetter über wunderground.com

Beitragvon macklcat » 08.10.2012, 15:24

Ja die Datei hat einen leeren Inhalt. Die url hab ich aber getestet die funkioniert. Die tcl-Datei hat die Berrechtigung 755
macklcat
 
Beiträge: 17
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitragvon grmpf » 08.10.2012, 15:30

Dann kopiere doch mal einfach deine beiden Zeilen die dem entsprechen:

set url http://api.wunderground.com/api/<KEY>/conditions/lang:DL/q/Germany/<ORT>.xml
exec /usr/bin/wget -q -O /usr/local/addons/wetter/wetteraktuell.xml $url

hierher.
Gert
________________________________
CCU2, 53 Geräte, 88 Kanäle, nur Funk
grmpf
 
Beiträge: 309
Registriert: 21.01.2012, 13:16

Re: Aktuelles Wetter über wunderground.com

Beitragvon macklcat » 08.10.2012, 16:38

set url http://api.wunderground.com/api/<meinkey>/conditions/lang:DL/q/austria/imst.xml
exec /usr/bin/wget -q -O /usr/local/addons/wetterauskunft/wetteraktuell.xml $url
macklcat
 
Beiträge: 17
Registriert: 07.05.2012, 09:11

Nächste

Zurück zu HomeMatic Tipps & Tricks - keine Fragen!

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.