Ankündigung

Einklappen
Keine Ankündigung bisher.

yahoo weather

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

    yahoo weather

    Hallo,

    ich versuche gerade openhab auf meinem Raspi zu installieren. Die erste sitemap läuft schon mal. Beim Einbinden von yahoo-wetterdaten komme ich aber laut Wiki nicht weiter.
    Es erscheint lediglich ein: "today is "
    Unter /transform habe ich yahoo_weather_code.map u. yahoo_weather_code.xml wie beschrieben angelegt.
    In /items/my1item.items habe ich
    Code:
    Number YahooWeatherCode "Today is [MAP(yahoo_weather_code.map):%s]" (weather) { http="<[h
    ttp://weather.yahooapis.com/forecastrss?w=2459115:3600000:XSLT(yahoo_weather_code.xsl)]"}

    hinzugefügt.
    Was könnte ich vergessen haben?

    Gruß
    optimizer


    #2
    Hi,

    zuallererst - hast du das HTTP Binding drin im addons folder?

    dann solltest du mal das item ändern - denn der wert der zurückkommt per Definition ist ein %s - das ist ein String und keine Nummer.

    String YahooWeatherCode "Today is [MAP(yahoo_weather_code.map):%s]" (weather) { http="<[h
    ttp://weather.yahooapis.com/forecastrss?w=2459115:3600000:XSLT(yahoo_weather_c ode.xsl)]"}

    NUMBER gibt nur eine INTEGER Zahl aus - da kann kein führender Text dazu.



    Grüsse
    Karsten

    Kommentar


      #3
      Hallo,

      das http binding org.openhab.binding.http-1.4.0.jar ist unter /addons.
      Durch ändern von Number auf String wird nun sehr viel ausgegeben:
      Today is MAP(yahoo_weather_code.map): http://us.rd.yahoo.com/dailynews/rss...SNY0996_f.html Yahoo! Weather for New York, NY en-us Sat, 17 May 2014 5:50 am EDT 60 142 18 http://weather.yahoo.com http://l.yimg.com/a/i/brand/purplelo...s/news-wea.gif 40.67 -73.95 http://us.rd.yahoo.com/dailynews/rss...SNY0996_f.html Sat, 17 May 2014 5:50 am EDT CDATA
      Current Conditions:
      Fair, 54 F
      ...

      Sollte lt. yahoo_weather_code.xml nicht nur ein Wert ausgegeben werden?

      Gruß
      optimizer

      Kommentar


        #4
        Kannst du mal die yahoo_weather_code.xsl reinkopieren?

        WEnn beim %S so ein langer wert kommt dann ist hier evetnuell der Hund begraben. Was erwartest du denn mit dem Wettercode zurück?

        Ich hole den Forecast mit folgendem XSL in textfrom:

        <?xml version="1.0"?>
        <xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" version="1.0">

        <xsl: output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes" />

        <xsl:template match="/">
        <xsl:value-of select="//yweather:forecast/@text" />
        </xsl:template>

        </xsl:stylesheet>

        Kommentar


          #5
          lt. Wiki steht folgendes in yahoo_weather_code.xml:

          Code:
          <?xml version="1.0"?>
          <xsl:stylesheet
              xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
              xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" version="1.0">
              <xsl:output indent="yes" method="xml" omit-xml-declaration="yes" />
              <xsl:template match="/">
                  <xsl:value-of select="//item/yweather:condition/@code" />
              </xsl:template>
          </xsl:stylesheet>
          Am liebsten hätte ich (und damit sind nicht nur die Temperaturen gemeint :-) ):
          Heute ist es sonnig bei 20°C
          Morgen wird es sonnig bei 25°C

          Wenn ich es richtig verstehe, wird anstatt sonnig ein Symbol angezeigt. Die Icons dazu habe ich auch schon runtergeladen.

          Wo ist die Verbindung zwischen der *.items und der yahoo_weather_code.xml Datei?
          Wie kann man die vielen debug-Infos beim starten der start.sh reduzieren?

          Mit deiner xml-Datei hats leider auch nicht geklappt.

          Gruß
          Karlheinz

          Kommentar


            #6
            Hi,

            Erst mal müssen wir das Problem mit den XSLT lösen.

            Hast du dir den englischen Thread mal angeschaut - da geht es genau da drum:

            https://groups.google.com/forum/#!ms...M/no6mMFFeMqEJ

            Und betreffend des gesamten Textes:

            Heute ist es sonnig bei 20°C
            Morgen wird es sonnig bei 25°C

            kannst du wahrscheinlich nur über eine Regel zusammenführen - da du in einem Item keine zwei Variablen verarbeiten kannst.

            Irgendetwas (ungetested) in der Art:

            item wetterConditionsFCST "[MAP(wetter.map):%s]" {HTTP Aufruf zum Füllen der Werte}
            item wetterConditionsTEMP "[%1f °C]" {HTTP Aufruf zum Füllen der Werte}

            wobei in der wetter.map die entsprechenden deutschen Begriffe drin stehen sollten (sunny=sonnig, ...)

            rule "wettertext"
            when
            item wetterConditionsFCST changed
            then
            var today = "Heute ist es"+wetterConditionsFCST.state+"bei"+wetterConditi onsTEMP.state
            postUpdate(wetterTodayDisplay, today)
            end

            Grüsse
            Karsten

            Kommentar


              #7
              Hallo Karsten,

              erst mal Danke für deine Unterstützung. Mit deinem Link habe ich alles noch einmal gecheckt.
              Einen Fehler habe ich gefunden:
              die yahoo_weather_code hatte .xml anstatt .xsl :-(
              Gibt es ein Fehlerlog für so etwas?
              So sieht das erste Ergebnis aus:
              Heute ist es meist bewölkt (Nacht)

              Mangels deutscher Datei habe ich die /configuarations/transform/yahoo_weather_de.map grob übersetzt:
              Code:
              0=Tornado
              1=tropischer Sturm
              2=Hurricane
              3=schwere Gewitter
              4=Gewitter
              5=Regen und Schnee
              6=Regen und Graupel
              7=Schnee und Graupel
              8=Eisregen
              9=Regen
              10=Eis-Regen
              11=Schauer
              12=Schauer
              13=Schneewehen
              14=leichter Schneefall
              15=windig mit Schnee
              16=Schnee
              17=Hagel
              18=Graupelschauer
              19=Staub
              20=neblig
              21=diesig
              22=neblig
              23=stürmisch
              24=windig
              25=kalt
              26=bewölkt
              27=meist bewölkt (Nacht)
              28=meist bewölkt (Tag)
              29=teilweise bewölkt (Nacht)
              30=teilweise bewölkt (Tag)
              31=klar (Nacht)
              32=sonnig
              33=heiter (Nacht)
              34=heiter (Tag)
              35=Regen und Hagel
              36=heiss
              37=stellenweise stürmisch
              38=stellenweise stürmisch
              39=stellenweise stürmisch
              40=vereinzelt Regen
              41=schwerer Schneefall
              42=vereinzelt Schneeschauer
              43=schwerer Schneefall
              44=stellenweise bewölkt
              45=Sturmregen
              46=Schneeschauer
              47=vereinzelt Schneeschauer
              der Eintrag der *.items Datei muss dann so aussehen:
              Code:
              Number YahooWeatherCode "Heute ist es [MAP(yahoo_weather_code_de.map):%s]".(weather) { http="<[http://weather.yahooapis.com/forecastrss?w=669994:3600000:XSLT(yahoo_weather_code.xsl)]"}
              Mit "String" am Anfang funktioniert das bei mir nicht.
              Auch beim Zurückändern von String auf Number und auffrischen erscheint nicht mehr die korrekte Anzeige wie oben. Stattdessen bleibt es bei "Heute ist es". Erst nach stoppen und Neustart von openhab funktioniert es wieder.
              Könnte das ein Bug sein?

              Gruß
              optimizer

              Kommentar


                #8
                Da liegt derFehler wohl im Detail

                Number YahooWeatherCode "Heute ist es [MAP(yahoo_weather_code_de.map):%s]".(weather) { http="<[http://weather.yahooapis.com/forecastrss?w=669994:3600000:XSLT(yahoo_weather_co de.xsl)]"}
                Den Punkt für deinen Satz solltest du in die Hochkomma machen und nicht danach:

                Number YahooWeatherCode "Heute ist es [MAP(yahoo_weather_code_de.map):%s]."(weather) { http="<[http://weather.yahooapis.com/forecastrss?w=669994:3600000:XSLT(yahoo_weather_co de.xsl)]"}

                Kommentar


                  #9
                  Hallo,

                  ich versuche krampfhaft über eine MAP-Datei den Ausdruck "Partly Cloudy" in "teilweise Bewölkt" umzusetzten, aber es kommt immer:

                  2015-04-03 23:07:59.145 [WARN ] [t.i.s.MapTransformationService] - Could not fin
                  d a mapping for 'Partly Cloudy' in the file 'weather_de.map'.

                  Die Datei ist vorhanden und die Werte stehen auch darin: Partly Cloudy=teilweise Bewölkt

                  Gibt es mit der MAP-Datei noch etwas besonderes zu beachten oder woran könnte es sonst noch liegen ?

                  Gruß Talli
                  - openHAB 3.4.4 auf WIN11/64

                  Kommentar


                    #10
                    Vermutlich musst Du das Leerzeichen auf der linken Seite mit einem \ escapen, also

                    Partly\ Cloudy=teilweise Bewölkt

                    Kommentar


                      #11
                      Super, genau das war es, Danke .

                      Kannst du mir auch sagen, wie bei der deutschen Entsprechung die Sonderzeichen (ö) richtig angezeigt werden ?

                      Gruß Talli
                      - openHAB 3.4.4 auf WIN11/64

                      Kommentar


                        #12
                        Keine Ahnung ich nutze seit dem Erscheinen das weather-Binding

                        Kommentar


                          #13
                          Ok trotzdem Danke :-)

                          Das komische ist, wenn ich das Mapping in der items-Datei mache, werden die Umlaute korrekt angezeigt. Nur in der Sitemap klappt es nicht.
                          Vielleicht hat ja jemand anderes eine Idee

                          Gruß Talli
                          - openHAB 3.4.4 auf WIN11/64

                          Kommentar


                            #14
                            Ah. Das klingt dann aber schwer nach einem (kleinen) Bug. Das Verhalten sollte eigentlich an beiden Stellen identisch sein. Muss ich mir mal anschauen...

                            Kommentar

                            Lädt...
                            X