Aktuelles Wetter über wunderground.com

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

Moderator: Co-Administratoren

grmpf
Beiträge: 670
Registriert: 21.01.2012, 12:16
Hat sich bedankt: 8 Mal
Danksagung erhalten: 7 Mal

Aktuelles Wetter über wunderground.com

Beitrag von 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
________________________________
Raspi 3B+ RaspberryMatic HM+HMIP, LAN-Rep., >80 Geräte, ~180 sichtb. Kanäle, (leider) nur Funk, hoher WAF trotz analogem Wife
Raspi 3B Raspberrymatic (HM, 18x Rollladensteuerung und HMIP Heizungssteuerung in Altbau)
CCU3 (Neubauinst.) HMIPW (3x DRI, 5x DRS, kpl. FB-HZG-Steurung) plus HMIP 23x BROLL und einige Bew-/Wasser-Melder

macklcat
Beiträge: 19
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitrag von 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 ... a/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);

grmpf
Beiträge: 670
Registriert: 21.01.2012, 12:16
Hat sich bedankt: 8 Mal
Danksagung erhalten: 7 Mal

Re: AW: Aktuelles Wetter über wunderground.com

Beitrag von grmpf » 04.10.2012, 20:29

Den Link mal im Browser probiert?

Gesendet von meinem GT-P1000 mit Tapatalk 2
Gert
________________________________
Raspi 3B+ RaspberryMatic HM+HMIP, LAN-Rep., >80 Geräte, ~180 sichtb. Kanäle, (leider) nur Funk, hoher WAF trotz analogem Wife
Raspi 3B Raspberrymatic (HM, 18x Rollladensteuerung und HMIP Heizungssteuerung in Altbau)
CCU3 (Neubauinst.) HMIPW (3x DRI, 5x DRS, kpl. FB-HZG-Steurung) plus HMIP 23x BROLL und einige Bew-/Wasser-Melder

macklcat
Beiträge: 19
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitrag von macklcat » 05.10.2012, 06:48

Ja, im Browser funktioniert er.
kann es sein, weil ich meine homematic auf port 443 umgeleitet habe?

grmpf
Beiträge: 670
Registriert: 21.01.2012, 12:16
Hat sich bedankt: 8 Mal
Danksagung erhalten: 7 Mal

Re: Aktuelles Wetter über wunderground.com

Beitrag von 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
________________________________
Raspi 3B+ RaspberryMatic HM+HMIP, LAN-Rep., >80 Geräte, ~180 sichtb. Kanäle, (leider) nur Funk, hoher WAF trotz analogem Wife
Raspi 3B Raspberrymatic (HM, 18x Rollladensteuerung und HMIP Heizungssteuerung in Altbau)
CCU3 (Neubauinst.) HMIPW (3x DRI, 5x DRS, kpl. FB-HZG-Steurung) plus HMIP 23x BROLL und einige Bew-/Wasser-Melder

macklcat
Beiträge: 19
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitrag von 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.

grmpf
Beiträge: 670
Registriert: 21.01.2012, 12:16
Hat sich bedankt: 8 Mal
Danksagung erhalten: 7 Mal

Re: Aktuelles Wetter über wunderground.com

Beitrag von 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
________________________________
Raspi 3B+ RaspberryMatic HM+HMIP, LAN-Rep., >80 Geräte, ~180 sichtb. Kanäle, (leider) nur Funk, hoher WAF trotz analogem Wife
Raspi 3B Raspberrymatic (HM, 18x Rollladensteuerung und HMIP Heizungssteuerung in Altbau)
CCU3 (Neubauinst.) HMIPW (3x DRI, 5x DRS, kpl. FB-HZG-Steurung) plus HMIP 23x BROLL und einige Bew-/Wasser-Melder

macklcat
Beiträge: 19
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitrag von 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

grmpf
Beiträge: 670
Registriert: 21.01.2012, 12:16
Hat sich bedankt: 8 Mal
Danksagung erhalten: 7 Mal

Re: Aktuelles Wetter über wunderground.com

Beitrag von 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>/c ... /<ORT>.xml
exec /usr/bin/wget -q -O /usr/local/addons/wetter/wetteraktuell.xml $url

hierher.
Gert
________________________________
Raspi 3B+ RaspberryMatic HM+HMIP, LAN-Rep., >80 Geräte, ~180 sichtb. Kanäle, (leider) nur Funk, hoher WAF trotz analogem Wife
Raspi 3B Raspberrymatic (HM, 18x Rollladensteuerung und HMIP Heizungssteuerung in Altbau)
CCU3 (Neubauinst.) HMIPW (3x DRI, 5x DRS, kpl. FB-HZG-Steurung) plus HMIP 23x BROLL und einige Bew-/Wasser-Melder

macklcat
Beiträge: 19
Registriert: 07.05.2012, 09:11

Re: Aktuelles Wetter über wunderground.com

Beitrag von macklcat » 08.10.2012, 16:38

set url http://api.wunderground.com/api/<meinke ... a/imst.xml
exec /usr/bin/wget -q -O /usr/local/addons/wetterauskunft/wetteraktuell.xml $url

Antworten

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