Ankündigung

Einklappen
Keine Ankündigung bisher.

Habt Ihr schon wunderground Transformationen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Habt Ihr schon wunderground Transformationen?

    Hallo Zusammen,

    habe gerade nach ewiger Zeit mal angefangen mir ein Produktivsystem auf armbasis zusammen zu bauen. Da ich das Rad nur ungern neu erfinde, wollte ich mal fragen, ob Ihr schon wunderground Abfragen am Laufen habt und falls ja, ob Ihr die Transformations XSLs teilen würdet ;-)

    Danke schon Mal,
    Markus

    #2
    Schau mal hier https://github.com/openhab/openhab/w...o-your-sitemap als Einstieg...

    Gesendet von meinem Nexus 7 mit Tapatalk

    Kommentar


      #3
      Ich hätte eine Sonnenuntergangstransformation anzubieten:

      
      Code:
      <?xml version="1.0"?>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
              
              <xsl:output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes" />
      
              <xsl:template match="/">
                      <!-- format: hh:mm:ss -->
                      <xsl:value-of select="//response/sun_phase/sunset/hour/text()" /><xsl:text>:</xsl:text><xsl:value-of select="//response/sun_phase/sunset/minute/text()" /><xsl:text>:00</xsl:text>
              </xsl:template>
      
      </xsl:stylesheet>
      Aufruf/ Item: (APICODE ersetzen mit dem deinen)

      String strSunset "Sonnenuntergang [%s]" <moon> (gWeather) { http="<[http://api.wunderground.com/api/APICODE/astronomy/q/zmw:00000.26.10739.xml:3600000:XSLT(wunderground_s unset.xsl)]" }

      Funktioniert super zur Steuerung der Rollläden hin zur Strasse.

      Falls du Regel/ items brauchst sag kurz Bescheid.

      Karsten

      Kommentar


        #4
        Dank Euch,
        habe schon angefangen selber welche zu schreiben. Leider bekomme ich es grad nicht hin, das die entsprechende http Abfrage gecacht wird :-(

        item 'cur_humidity' is not a valid URL or is a cache id yet to be initialised (weather)
        Wenn das irgendwann performt werde ich eine Sammlung zusammenstellen. Vielleicht hilft es mal jemandem...

        Kommentar


          #5
          Das Caching ist relativ einfach:

          in der openhab.cfg (HTTP binding im addon folder):

          Code:
          ############################### HTTP Binding ##########################################
          #
          # timeout in milliseconds for the http requests (optional, defaults to 5000)
          #http:timeout=
          
          # the interval in milliseconds when to find new refresh candidates
          # (optional, defaults to 1000)
          #http:granularity=
          
          # configuration of the first cache item
          http:weatherCache.url=http://api.wunderground.com/api/APICODE/forecast/q/zmw:00000.26.10739.xml
          http:weatherCache.updateInterval=1800000


          ItemConfig:

          Code:
          String w               "Wettervorhersage heute [MAP(wetter.map):%s]"           <w>   { http="<[weatherCache:3600000:XSLT(wunderground_icon_forecast.xsl)]" }


          Transform XML

          Code:
          <?xml version="1.0"?>
          <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
                  
                  <xsl:output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes" />
          
                  <xsl:template match="/">
                          <!-- format: hh:mm:ss -->
                          <xsl:value-of select="//response/forecast/txt_forecast/forecastdays/forecastday/icon/text()" />
                  </xsl:template>
          
          </xsl:stylesheet>


          Grüsse
          Karsten

          Kommentar


            #6
            Sieht bei mir auf den ersten Blick nicht viel anders aus:

            Code:
            ############################### HTTP Binding ##########################################
            #
            # timeout in milliseconds for the http requests (optional, defaults to 5000)
            #http:timeout=
            
            # the interval in milliseconds when to find new refresh candidates
            # (optional, defaults to 1000)
            #http:granularity=
            
            # configuration of the first cache item
            http:<weather>.url=http://api.wunderground.com/api/XXX/geolookup/conditions/forecast/q/Germany/Moers.xml
            http:<weather>.updateInterval=10000
            Code:
            Number cur_temperature "Aktuelle Temperatur [%.1f °C]" { http="<[weather:60000:XSLT(wunderground_cur_temp.xsl)]" }
            und

            Code:
            <?xml version="1.0"?>
            <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">       
               <xsl:output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes" />
               <xsl:template match="/">
                  <xsl:value-of select="/response/current_observation/temp_c" />
               </xsl:template>
            </xsl:stylesheet>
            Trotzdem kommt kein einziger Wert rein. Das Binding liegt in AddOns. Muss man das noch irgendwie aktivieren oder so?

            Kommentar


              #7
              Nee, nimm im stylesheet Form response mal 2 / rein. Dann sollte es funktionieren.

              Gesendet von meinem cm_tenderloin mit Tapatalk

              Kommentar


                #8
                Blöde Korrektur Funktion...
                Select="//response/current_observation/temp_c....

                Gesendet von meinem cm_tenderloin mit Tapatalk

                Kommentar


                  #9
                  Hat leider nichts geändert. Die Ausgabe ist immer noch:

                  Code:
                  19:19:48.774 DEBUG o.o.b.h.internal.HttpBinding[:160] - item 'cur_temperature' is not a valid URL or is a cache id yet to be initialised (weather)
                  19:19:48.776 DEBUG o.o.b.h.internal.HttpBinding[:160] - item 'cur_windSpeed' is not a valid URL or is a cache id yet to be initialised (weather)
                  19:19:48.778 DEBUG o.o.b.h.internal.HttpBinding[:160] - item 'cur_windGust' is not a valid URL or is a cache id yet to be initialised (weather)
                  19:19:48.780 DEBUG o.o.b.h.internal.HttpBinding[:160] - item 'cur_windDirection' is not a valid URL or is a cache id yet to be initialised (weather)
                  19:19:48.781 DEBUG o.o.b.h.internal.HttpBinding[:160] - item 'cur_humidity' is not a valid URL or is a cache id yet to be initialised (weather)
                  Irgendwie klingt es aber auch eher so, als ob gar keine Abfrage der Webseite stattfindet?

                  Kommentar


                    #10
                    Kommt denn eine korrekte Seite, wenn Du Deine URL in einem Browser absetzt? (also http://api.wunderground.com/api/XXX/geolookup/conditions/forecast/q/Germany/Moers.xml mit korrektem apikey?)

                    Kommentar


                      #11
                      Die Anfrage funktioniert im Browser ohne Probleme :-(

                      Kommentar


                        #12
                        Zitat von KingCrab Beitrag anzeigen
                        Die Anfrage funktioniert im Browser ohne Probleme :-(
                        Wunderground hat nur eine gewisse Anzahl von Aufrufen über die API - was sein kann ist das du zu oft versucht hast die URL aufzurufen. Log dich mal mit deinen Details auf wonderground rein ob du da noch Aufrufe frei hast.

                        Gesendet von meinem cm_tenderloin mit Tapatalk

                        Kommentar


                          #13
                          Wunderground sagt, ich habe einen Durchschnitt von 0,6 Anfragen am Tag in den letzten 5 Tagen ;-)

                          Kommentar


                            #14
                            War aber ein guter Tipp...
                            So wie es aussieht habe ich Netzwerkprobleme. Ich kann vom openhab Rechner google anpingen, nicht aber wunderground. Was noch merkwürdiger ist, da die aufgelöste IP Adresse auch auf der Maschine die richtige ist?!

                            Kommentar


                              #15
                              'schuldigung und Kommando zurück, dauert nur etwas länger. Ping und wget auf wunderground geht auch von der Maschine aus.

                              Kommentar

                              Lädt...
                              X