Ankündigung

Einklappen
Keine Ankündigung bisher.

Icons im Weather Binding bzw. Icons importieren Openhab2

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

    Icons im Weather Binding bzw. Icons importieren Openhab2

    Hallo!
    Nachdem ich leider keine Anleitung für Openhab2 finde, ersuche ich euch um Hilfe.
    Ich habe das Weather Binding in der PaperUI installiert und die weather.cfg konfiguriert. Ich nutze OWM. Es passt alles soweit, nur hätte ich gerne die richtigen Icons, die es ja als Download gibt (zB: https://github.com/openhab/openhab1-...nding#download).
    OWM hat darüber hinaus noch Condition IDs für den aktuellen Wetterstand (zB 500 = Regen). Mir zeigt es die 500 an, aber kein Symbol. Meine Items sehen so aus wie im Link vorher.
    Vielen Dank!

    #2
    Um die Ansicht so, wie unter openHAB1 gewohnt einzurichten, muss man einen kleinen Umweg gehen. Meine Variante:
    1. unter /etc/openhab2/html/ einen Ordner weather-data/ anlegen und dort alles so bereitstellen, wie unter openHAB1 üblich, also ein Ordner images/ und ein Ordner layouts/ mit entsprechendem Inhalt.
    2. in der html-Datei (im Original example.html) alle Bezüge anpassen, so dass sie static/weather-data/... lauten
    3. unter /var/lib/openhab2/ einen Pfad webapps/weather-data/layouts/ anlegen, und dort einen Link auf die zuvor bearbeitete html-Datei.
    4. in der Sitemap das Webview mit der "gewohneten" url anlegen.

    Bei mir sind die Icons und auch die komplette Ansicht anschließend in gewohnter Weise zu sehen.

    Kommentar


      #3
      Leider komme ich nicht hin...
      Ich bin genau der Anleitung gefolgt, aber die Sitemap zeigt nur einen Fehler und tut nichts.


      .....

      Group item=gJA label="Jalousien" icon="rollershutter"
      Group item=gYA



      Frame {
      Text item=Grad_WE_Aussentemperatur "Außentemperatur [%.1f °C]" icon=temperature

      }

      Text label="Wetterdaten" icon=weather {
      Webview url="/weather?locationId=home&layout=example&iconset=col orful" height=7
      }

      }

      Vorher sind einzelne Items konfiguriert, dann Gruppen, zum Schluß die Außentemperatur (Fehler mismatched input '"Außentemperatur [%.1f °C]"' expecting '}' , es funktioniert aber).

      Beim Wetter ist der Fehler missing EOF at 'Text'

      Kommentar


        #4
        Zitat von udo1toni Beitrag anzeigen
        3. unter /var/lib/openhab2/ einen Pfad webapps/weather-data/layouts/ anlegen, und dort einen Link auf die zuvor bearbeitete html-Datei.
        Diesen Punkt verstehe ich nicht Finde dies unter Windows nicht?!
        Zuletzt geändert von JoergA; 08.05.2017, 21:29.

        Kommentar


          #5
          Ja, das ist unter windows an einer anderen Stelle... lass mich schauen... C:\openHAB2\userdata sollte der Pfad unter Windows sein. Dort müsste der weitere Pfad dann natürlich webapps\weather-data\layouts\ heißen. Ich weiß, dass NTFS auch Softlinks kennt, aber Microsoft stellt dazu kein einfaches Mittel zum Erzeugen zur Verfügung. Wenn ich mich richtig erinnere, geht es aber über die Kommandozeile, der Befehl heißt dann mklink. Du kannst natürlich die html-Datei auch direkt an die Stelle kopieren.

          Kommentar


            #6
            so, bei mir funktioniert gar nichts mehr, es kommen keinerlei Daten zu den Items. Ich habe die weather.cfg geändert und mal OWM probiert, kein Ergebnis. Egal ob mit oder ohne Fehler in der Sitemap (ich hab das mal rausgenommen).
            Woran kann das wieder liegen?

            Kommentar


              #7
              Was passiert, wenn Du die html-Seite direkt aufrufst?
              Code:
              http://ip.deines.openhab.servers:8080/weather?locationId=home&layout=example&iconset=colorful

              Kommentar


                #8
                nicht viel...: HTTP ERROR 500

                Problem accessing /weather. Reason:
                Server Error
                Caused by:

                javax.servlet.ServletException: Weather locationId 'home' does not exist at org.openhab.binding.weather.internal.gfx.WeatherSe rvlet.doGet(WeatherServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet .java:687) at javax.servlet.http.HttpServlet.service(HttpServlet .java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(Ser vletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler.doHandle( ServletHandler.java:587) at org.ops4j.pax.web.service.jetty.internal.HttpServi ceServletHandler.doHandle(HttpServiceServletHandle r.java:71) at org.eclipse.jetty.server.handler.ScopedHandler.han dle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle( SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.do Handle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.do Handle(ContextHandler.java:1127) at org.ops4j.pax.web.service.jetty.internal.HttpServi ceContext.doHandle(HttpServiceContext.java:287) at org.eclipse.jetty.servlet.ServletHandler.doScope(S ervletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.do Scope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.do Scope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.han dle(ScopedHandler.java:141) at org.ops4j.pax.web.service.jetty.internal.JettyServ erHandlerCollection.handle(JettyServerHandlerColle ction.java:80) at org.eclipse.jetty.server.handler.HandlerWrapper.ha ndle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java :499) at org.eclipse.jetty.server.HttpChannel.handle(HttpCh annel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(Abst ractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.run Job(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.r un(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745)
                Powered by Jetty://

                Kommentar


                  #9
                  Zitat von udo1toni Beitrag anzeigen
                  Ja, das ist unter windows an einer anderen Stelle... lass mich schauen... C:\openHAB2\userdata sollte der Pfad unter Windows sein. Dort müsste der weitere Pfad dann natürlich webapps\weather-data\layouts\ heißen. Ich weiß, dass NTFS auch Softlinks kennt, aber Microsoft stellt dazu kein einfaches Mittel zum Erzeugen zur Verfügung. Wenn ich mich richtig erinnere, geht es aber über die Kommandozeile, der Befehl heißt dann mklink. Du kannst natürlich die html-Datei auch direkt an die Stelle kopieren.
                  Also ich habe dies nun kopiert nach => x:\OHab\openHAB_Live_2\Runtime\userdata\webapps\we ather-data\layouts\

                  Meine Eintrag in der Sitemap
                  Code:
                  Webview url="/weather?locationId=myhome&layout=example&iconset=colorful" height=7
                  Beim Aufruf in der OpenHab iOS App habe ich nur eine leere Seite

                  Unter OH1 hatte ich zwar Fehler, aber einige Werte waren bereits gefüllt. Hatte dies kurz vor dem Umstieg (Heute ist Tag 2 unter OpenHab 2) mal in OH1 getestet, aber dann wegen der Migration nach OH2 nicht weiterverfolgt. Das Binding an sich läuft gut, bekomme alle Werte. Nur die HTML View will nicht.

                  In der Classic UI im Edge bekomme ich zumindest Text
                  WetterHTML.JPG
                  Zuletzt geändert von JoergA; 09.05.2017, 18:14. Grund: Weitere Info's

                  Kommentar


                    #10
                    Log Einträge => Die Werte werden gefüllt
                    Code:
                    19:43:02.513 [INFO ] [marthome.event.ItemStateChangedEvent] - Date changed from 2017-05-09T19:42:02.515+0200 to 2017-05-09T19:43:02.508+0200
                    19:43:02.631 [INFO ] [marthome.event.ItemStateChangedEvent] - Time changed from 2017-05-09T19:42:02.515+0200 to 2017-05-09T19:43:02.508+0200
                    19:43:34.764 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Weather_Temperature' received command 13.0
                    19:43:34.769 [INFO ] [ome.event.GroupItemStateChangedEvent] - Weather_Chart changed from 13.1 to 13.0 through Weather_Temperature
                    19:43:34.789 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Temperature changed from 13.1 to 13.0
                    19:44:02.510 [INFO ] [marthome.event.ItemStateChangedEvent] - Date changed from 2017-05-09T19:43:02.508+0200 to 2017-05-09T19:44:02.501+0200
                    19:44:02.632 [INFO ] [marthome.event.ItemStateChangedEvent] - Time changed from 2017-05-09T19:43:02.508+0200 to 2017-05-09T19:44:02.501+0200
                    19:44:34.750 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Weather_Temperature' received command 13.0
                    19:44:40.235 [INFO ] [ternal.scheduler.WeatherJobScheduler] - Starting and scheduling weatherJob-MEH with interval of 15 minutes
                    19:44:40.848 [INFO ] [marthome.event.ItemStateChangedEvent] - Condition changed from ▄berwiegend bew÷lkt to Leicht bew÷lkt
                    19:44:40.859 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Pressure changed from NULL to 30.02
                    19:44:40.867 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Forecast_Day_1 changed from NULL to 2017-05-10T00:00:00.000+0200
                    19:44:40.873 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Temp_Min_1 changed from NULL to 0.80
                    19:44:40.880 [INFO ] [marthome.event.ItemStateChangedEvent] - Wind_Speed changed from 8.39 to 8.24
                    19:44:40.887 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Temp_Min_2 changed from NULL to 5.60
                    19:44:40.895 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Forecast_Day_2 changed from NULL to 2017-05-11T00:00:00.000+0200
                    19:44:40.906 [INFO ] [marthome.event.ItemStateChangedEvent] - Wind_Direction changed from NNW to N
                    19:44:40.915 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Temp_Max_2 changed from NULL to 20.54
                    19:44:40.922 [INFO ] [marthome.event.ItemStateChangedEvent] - Weather_Temp_Max_1 changed from NULL to 16.34
                    19:45:02.502 [INFO ] [marthome.event.ItemStateChangedEvent] - Date changed from 2017-05-09T19:44:02.501+0200 to 2017-05-09T19:45:02.496+0200
                    19:45:02.623 [INFO ] [marthome.event.ItemStateChangedEvent] - Time changed from 2017-05-09T19:44:02.501+0200 to 2017-05-09T19:45:02.496+0200
                    Aber wenn die HTML Seite aufgerufen wird
                    Code:
                    19:49:28.018 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:ObservationTime
                    19:49:28.018 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Current_Temp.value
                    19:49:28.020 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Pressure.value
                    19:49:28.020 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Forecast_Day_1
                    19:49:28.021 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Forecast_Day_2
                    19:49:28.022 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Temp_Max_0.value
                    19:49:28.022 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Temp_Max_1.value
                    19:49:28.022 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Temp_Max_2.value
                    19:49:28.023 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Temp_Min_0.value
                    19:49:28.023 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Temp_Min_1.value
                    19:49:28.023 [WARN ] [er.internal.gfx.WeatherTokenResolver] - Invalid weather token: item:Weather_Temp_Min_2.value
                    Zuletzt geändert von JoergA; 09.05.2017, 18:51.

                    Kommentar


                      #11
                      ich habe es geschafft, es funktioniert. Ich habe die Einstellungen in der weather.cfg von location.meinort.name= auf location.home.name= geändert und auch die items angepasst. Auf einmal geht es, auch wenn ich nicht weiß, warum.

                      Es geht auch der Aufruf über den Browser, mit einem "Fleck" in der Ansicht, also ein nicht vorhandenes icon. Was nicht geht, ist die Einbindung in die Sitemap, siehe #3 sowie die Icons in der BasicUI.
                      Zuletzt geändert von fred07; 09.05.2017, 19:52.

                      Kommentar


                        #12
                        Hi, scheint wir machen Fortschritte

                        WetterHTML_Bilder.JPG

                        Jetzt müsste ich "nur" noch die Werte da rein bekommen Im Log https://knx-user-forum.de/forum/supp...85#post1092485 sind sie ja zu sehen

                        Kommentar


                          #13

                          L, 09.05.2017 21:13
                          4,9 °C
                          Humidity: 97 %
                          Pressure: 1017,5 mb
                          Today Mittwoch Donnerstag
                          14 21
                          -1 4 9

                          Am Bildschirm fehlt neben der Temperatur was, ich komm aber nicht dahinter, was. Sieht man am Ausschnitt leider nicht.

                          hier meine Items, vielleicht hilft dir das:


                          // atmosphere
                          Number Humidity "Luftfeuchtigkeit [%d %%]" (gYA) {weather="locationId=home, type=atmosphere, property=humidity"}
                          Number Visibility "Sichtweite [%.2f km]" (gYA) {weather="locationId=home, type=atmosphere, property=visibility"}
                          Number Pressure "Luftdruck [%.2f mb]" (gYA) {weather="locationId=home, type=atmosphere, property=pressure"}
                          String Pressure_Trend "Pressuretrend [%s]" (gYA) {weather="locationId=home, type=atmosphere, property=pressureTrend"}
                          Number Ozone "Ozon [%d ppm]" (gYA) {weather="locationId=home, type=atmosphere, property=ozone"}
                          Number UV_Index "UV Index" (gYA) {weather="locationId=home, type=atmosphere, property=uvIndex, scale=0"}

                          // clouds
                          Number Clouds "Bewölkung [%.0f %%]" (gYA) {weather="locationId=home, type=clouds, property=percent"}

                          // condition
                          String Condition "Wetterverhältnisse [%s]" (gYA) {weather="locationId=home, type=condition, property=text"}
                          String Condition_ID "Wetterverhältnisse id [%s]" (gYA) {weather="locationId=home, type=condition, property=id"}
                          DateTime ObservationTime "Beobachtungszeit [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" (gYA) {weather="locationId=home, type=condition, property=observationTime"}
                          DateTime LastUpdate "Letztes Update [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" (gYA) {weather="locationId=home, type=condition, property=lastUpdate"}
                          String CommonId "Common id [%s]" (gYA) {weather="locationId=home, type=condition, property=commonId"}

                          // precipitation
                          Number Rain "Regen [%.2f mm/h]" (gYA) {weather="locationId=home, type=precipitation, property=rain"}
                          Number Snow "Schnee [%.2f cm/h]" (gYA) {weather="locationId=home, type=precipitation, property=snow"}
                          Number Precip_Probability "Niederschlagswahrscheinlichkeit [%d %%]" (gYA) {weather="locationId=home, type=precipitation, property=probability"}
                          // new total property in 1.8, only Wunderground
                          Number Precip_Total "Niederschlag total [%d mm]" (gYA) {weather="locationId=home, type=precipitation, property=total"}
                          Number Precip_Total_Inches "NIederschlag total [%d in]" (gYA) {weather="locationId=home, type=precipitation, property=total, unit=inches"}

                          // temperature
                          Number Temperature "Temperatur [%.2f °C]" (gYA) {weather="locationId=home, type=temperature, property=current"}
                          Number Temp_Feel "Temperatur gefühlt [%.2f °C]" (gYA) {weather="locationId=home, type=temperature, property=feel"}
                          Number Temp_Dewpoint "Taupunkt [%.2f °C]" (gYA) {weather="locationId=home, type=temperature, property=dewpoint"}

                          // Forecasts
                          Number Temp_Min_1 "Temperatur min [%.2f °C]" (gYA) {weather="locationId=home, forecast=1, type=temperature, property=min"}
                          Number Temp_Max_1 "Temperatur max [%.2f °C]" (gYA) {weather="locationId=home, forecast=1, type=temperature, property=max"}
                          String Temp_MinMax_1 "Vorhersage 1 Min/Max [%s °C]" (gYA) {weather="locationId=home, forecast=1, type=temperature, property=minMax"}
                          String Temp_MinMax_2 "Vorhersage 2 Min/Max [%s °C]" (gYA) {weather="locationId=home, forecast=2, type=temperature, property=minMax"}
                          String Temp_MinMax_3 "Vorhersage 3 Min/Max [%s °C]" (gYA) {weather="locationId=home, forecast=3, type=temperature, property=minMax"}
                          String Temp_MinMax_4 "Vorhersage 4 Min/Max [%s °C]" (gYA) {weather="locationId=home, forecast=4, type=temperature, property=minMax"}
                          String Temp_MinMax_5 "Vorhersage 5 Min/Max [%s °C]" (gYA) {weather="locationId=home, forecast=5, type=temperature, property=minMax"}

                          // Wind
                          Number Wind_Speed "Windgeschwindigkeit [%.2f km/h]" (gYA) {weather="locationId=home, type=wind, property=speed"}
                          /*Number Wind_Speed_Beaufort "Windgeschwindigkeit Beaufort [%d]" (gYA) {weather="locationId=home, type=wind, property=speed, unit=beaufort"}
                          Number Wind_Speed_Knots "Windgeschwindigkeit [%.2f kn]" (gYA) {weather="locationId=home, type=wind, property=speed, unit=knots"}
                          Number Wind_Speed_Mps "Windgeschwindigkeit [%.2f mps]" (gYA) {weather="locationId=home, type=wind, property=speed, unit=mps"}
                          Number Wind_Speed_Mph "Windgeschwindigkeit [%.2f mph]" (gYA) {weather="locationId=home, type=wind, property=speed, unit=mph"}*/
                          String Wind_Direction "Windrichtung [%s]" (gYA) {weather="locationId=home, type=wind, property=direction"}
                          Number Wind_Degree "Wind Grad [%.0f °]" (gYA) {weather="locationId=home, type=wind, property=degree"}
                          Number Wind_Gust "Wind Böe [%.2f km/h]" (gYA) {weather="locationId=home, type=wind, property=gust"}
                          /*Number Wind_Gust_Beaufort "Wind Böe Beaufort [%d]" (gYA) {weather="locationId=home, type=wind, property=gust, unit=beaufort"}
                          Number Wind_Gust_Knots "Wind Böe [%.2f kn]" (gYA) {weather="locationId=home, type=wind, property=gust, unit=knots"}
                          Number Wind_Gust_Mps "Wind Böe [%.2f mps]" (gYA) {weather="locationId=home, type=wind, property=gust, unit=mps"}
                          Number Wind_Gust_Mph "Wind Böe [%.2f mph]" (gYA) {weather="locationId=home, type=wind, property=gust, unit=mph"}*/
                          Number Wind_Chill "Windkühle [%.2f °C]" (gYA) {weather="locationId=home, type=wind, property=chill"}

                          // weather station (only Wunderground and Hamweather), needs version 1.7 or greater of the binding
                          String Station_Name "Messstation [%s]" (gYA) {weather="locationId=home, type=station, property=name"}
                          String Station_Id "Station Id [%s]" (gYA) {weather="locationId=home, type=station, property=id"}
                          Number Station_Latitude "Station Latitude [%.6f]" (gYA) {weather="locationId=home, type=station, property=latitude, scale=6"}
                          Number Station_Longitude "Station Longitude [%.6f]" (gYA) {weather="locationId=home, type=station, property=longitude, scale=6"}



                          die Seite im Browser:

                          <!DOCTYPE html>
                          <html>
                          <head>
                          <meta http-equiv="Content-type" CONTENT="text/html; charset=utf-8">
                          <link rel="stylesheet" type="text/css" href="static/weather-data/layouts/example.css" />
                          <script type="text/javascript" src="static/weather-data/layouts/example.js"></script>
                          </head>

                          <body id="weather-body" onload="formatIframe()">
                          <div id="weather-location-name">Lilienfeld, 09.05.2017 21:13</div>

                          <table id="weather-table">
                          <tr>
                          <td rowspan="2"><img id="weather-icon" src="weather-data/images/colorful/partly-cloudy-day.png"/></td>
                          <td id="weather-temp">4,9</td>
                          <td id="weather-temp-sign">°C</td>
                          </tr>
                          <tr>
                          <td colspan="2">
                          <table id="weather-table-details">
                          <tr>
                          <td>Humidity:</td>
                          <td>97 %</td>
                          </tr>
                          <tr>
                          <td>Pressure:</td>
                          <td>1017,5 mb</td>
                          </tr>
                          </table>
                          </td>
                          </tr>
                          </table>

                          <table id="weather-forecast-table">
                          <tr>
                          <td>Today</td>
                          <td>Mittwoch</td>
                          <td>Donnerstag</td>
                          </tr>
                          <tr>
                          <td><img src="static/weather-data/images/colorful/partly-cloudy-day.png"/></td>
                          <td><img src="static/weather-data/images/colorful/sunny.png"/></td>
                          <td><img src="static/weather-data/images/colorful/partly-cloudy-day.png"/></td>
                          </tr>
                          <tr>
                          <td class="temp-max"></td>
                          <td class="temp-max">14</td>
                          <td class="temp-max">21</td>
                          </tr>
                          <tr>
                          <td class="temp-min">-1</td>
                          <td class="temp-min">4</td>
                          <td class="temp-min">9</td>
                          </tr>
                          </table>

                          </body>

                          </html>


                          Kommentar


                            #14
                            so, auch gelöst, udo1toni hat es eh geschrieben, ich habe aber einen Bezug nicht angepasst gehabt. Jetzt läuft es

                            Kommentar


                              #15
                              Wie sieht denn Deine html im Source code aus?? Evtl. werden die Items dort anders abgefragt? Ich bekomme die Werte nicht dort rein :-(

                              Kommentar

                              Lädt...
                              X