OpenHAB 2 und OpenWeatherMap
- udo1toni
- Beiträge: 15265
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OpenHAB 2 und OpenWeatherMap
Es ist halt die Frage, ob Du per Text oder per Paper UI konfigurieren möchtest.
Gesendet von meinem SM-G973F mit Tapatalk
Gesendet von meinem SM-G973F mit Tapatalk
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
Re: OpenHAB 2 und OpenWeatherMap
So, jetzt sieht es gut aus. Die 3-Stunden Vorschau zeigt jetzt auch Werte an. Es ist schon ein Kampf mit den langen Bezeichnern und welche Bedeutung nun wirklich dahinter steckt. Aber ich denke, ich habe das Prinzip jetzt verstanden. Damit vielleicht jemand anderes auch was lernen kann, hier meine aktuelle Konfigurationsdateien zu OpenWeatherMap.
Ausschnitt aus meiner .sitemap
OpenWeather.items
OpenWeather.things Den <api-key> muss man sich von OpenWeatcherMap.Org holen.
Danke für die Starthilfe in OpenHAB. Aller Anfang ist schwer und verwirrend.
Grüße
Thomas
Ausschnitt aus meiner .sitemap
Code: Alles auswählen
Group item=gOpenWeather {
Frame label="Überblick" {
Text item=localCurrentCondition
}
Frame label="Aktuell" {
Text item=localLastMeasurement
Text item=localCurrentTemperature
Text item=localCurrentPressure
Text item=localCurrentHumidity
Text item=localCurrentWindSpeed
Text item=localCurrentCloudiness
Text item=localCurrentRainVolume
Text item=localCurrentSnowVolume
}
Frame label="3 Stunden Vorschau" {
Text item=localDailyForecastHours03Timestamp
Text item=localDailyForecastHours03MinTemperature
Text item=localDailyForecastHours03MaxTemperature
}
Frame label="UV Index" {
Text item=localCurrentUVIndexTimestamp
Text item=localCurrentUVIndex
Text item=localForecastTomorrowUVIndexTimestamp
Text item=localForecastTomorrowUVIndex
}
// Frame label="Wetterstation" icon="sun_clouds" {
// Text item=localStationId
// Text item=localStationName
// Text item=localStationLocation
// }
}
OpenWeather.items
Code: Alles auswählen
// Items fuer das OpenWeatherMap Binding
// Stand 11.06.2020
Group gOpenWeather "Wetter" <sun_clouds>
// aktuelle Wetterdaten
DateTime localLastMeasurement "Zeitpunkt Messung [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <time> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#time-stamp" }
String localCurrentCondition "Wetterlage [%s]" <sun_clouds> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#condition" }
Image localCurrentConditionIcon "Icon" (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#icon" }
Number:Temperature localCurrentTemperature "Aussentemperatur [%.2f %unit%]" <temperature> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#temperature" }
Number:Pressure localCurrentPressure "Luftdruck [%.1f %unit%]" <pressure> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#pressure" }
Number:Dimensionless localCurrentHumidity "Luftfeuchtigkeit [%d %unit%]" <humidity> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#humidity" }
Number:Speed localCurrentWindSpeed "Wind Geschwindigkeit [%.1f km/h]" <wind> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#wind-speed" }
Number:Dimensionless localCurrentCloudiness "Bewölkung [%d %unit%]" <clouds> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#cloudiness" }
Number:Length localCurrentRainVolume "Regenmenge [%.1f %unit%]" <rain> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#rain" }
Number:Length localCurrentSnowVolume "Schneemenge [%.1f %unit%]" <snow> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:current#snow" }
// Vorschau 3 Stunden
DateTime localDailyForecastHours03Timestamp "Zeitpunkt Vorschau [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <time> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:forecastHours03#time-stamp_" }
Number:Temperature localDailyForecastHours03MinTemperature "Temperatur (min.) [%.2f %unit%]" <temperature> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:forecastHours03#min-temperature" }
Number:Temperature localDailyForecastHours03MaxTemperature "Temperatur (max.) [%.2f %unit%]" <temperature> (gOpenWeather) { channel="openweathermap:weather-and-forecast:<api-id>:local:forecastHours03#max-temperature" }
// UV
DateTime localCurrentUVIndexTimestamp "Zeitpunkte Messung [%1$td.%1$tm.%1$tY]" <time> (gOpenWeather) { channel="openweathermap:uvindex:<api-id>:local:current#time-stamp" }
Number localCurrentUVIndex "Aktueller UV Index [%.1f]" (gOpenWeather) { channel="openweathermap:uvindex:<api-id>:local:current#uvindex" }
DateTime localForecastTomorrowUVIndexTimestamp "Zeitpunkte Vorschau [%1$td.%1$tm.%1$tY]" <time> (gOpenWeather) { channel="openweathermap:uvindex:<api-id>:local:forecastTomorrow#time-stamp" }
Number localForecastTomorrowUVIndex "UV Index für Morgen [%.1f]" (gOpenWeather) { channel="openweathermap:uvindex:<api-id>:local:forecastTomorrow#uvindex" }
Code: Alles auswählen
Bridge openweathermap:weather-api:<api-id> "OpenWeatherMap Account"
[apikey="<api-key>", refreshInterval=15, language="de"] {
Thing weather-and-forecast local "Local Weather And Forecast" [location="x,y", forecastHours=24, forecastDays=0, steps=3]
Thing uvindex local "Local UV Index" [location="x,y", forecastDays=7]
}
Grüße
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von thomas_w am 11. Jun 2020 14:52, insgesamt 2-mal geändert.
-
- Beiträge: 9
- Registriert: 3. Aug 2020 09:23
Re: OpenHAB 2 und OpenWeatherMap
Schönen guten Morgen zusammen,
ich habe auch gerade erst mit OpenHAB 2 angefangen und dieser Thread hier hat mir zum Thema OpenWeatherMap super weiter geholfen. Vielen Dank dafür!!
Eine Verständisfrage habe ich. Laut der Beschreibung von OpenWeatherMap sollte ja nicht nur die Stundenvorhersage sondern auch für ein paar Tage die Tagesvorhersage (z.B. channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#condition) mit dem freien API funktionieren. Ich bekomme zwar x Stunden Vorhersagen, nicht aber die Tagesvorhersagen. Ist die Beschreibung falsch oder sollte noch etwas beachtet werden? Meine Einstellungen sind gleich denen hier imThread.
Besten Dank
Sven
ich habe auch gerade erst mit OpenHAB 2 angefangen und dieser Thread hier hat mir zum Thema OpenWeatherMap super weiter geholfen. Vielen Dank dafür!!
Eine Verständisfrage habe ich. Laut der Beschreibung von OpenWeatherMap sollte ja nicht nur die Stundenvorhersage sondern auch für ein paar Tage die Tagesvorhersage (z.B. channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#condition) mit dem freien API funktionieren. Ich bekomme zwar x Stunden Vorhersagen, nicht aber die Tagesvorhersagen. Ist die Beschreibung falsch oder sollte noch etwas beachtet werden? Meine Einstellungen sind gleich denen hier imThread.
Besten Dank
Sven
- udo1toni
- Beiträge: 15265
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OpenHAB 2 und OpenWeatherMap
Für mich funktioniert nur die 3-Stunden-Vorhersage.
Ich denke, das ist einfach aus dem Angebot von OpenWeatherMap abgepinnt worden, und dort ist es mindestens ebenso missverständlich formuliert.
Mein Verständnis: Man bekommt die Wetterdaten als Vorhersage für bis zu 5 (? aus dem Gedächtnis) Tage, allerdings nicht in der Form als Tagesübersicht, sondern nur als Vorhersage von bis zu 40 (120 Stunden Vorhersage) Drei-Stunden-Fenstern. Im Binding kann man die Anzahl der Fenster über die Zeitspanne konfigurieren und bekommt dann entsprechend mehr Channel.
Wenn man für den Dienst zahlt, bekommt man hingegen bis zu 14 Tage Vorhersage und zusätzlich zu den 3-Stunden-Vorhersagen auch die Tageszusammenfassungen, die man ja eher gewohnt ist.
Gesendet von iPad mit Tapatalk
Ich denke, das ist einfach aus dem Angebot von OpenWeatherMap abgepinnt worden, und dort ist es mindestens ebenso missverständlich formuliert.
Mein Verständnis: Man bekommt die Wetterdaten als Vorhersage für bis zu 5 (? aus dem Gedächtnis) Tage, allerdings nicht in der Form als Tagesübersicht, sondern nur als Vorhersage von bis zu 40 (120 Stunden Vorhersage) Drei-Stunden-Fenstern. Im Binding kann man die Anzahl der Fenster über die Zeitspanne konfigurieren und bekommt dann entsprechend mehr Channel.
Wenn man für den Dienst zahlt, bekommt man hingegen bis zu 14 Tage Vorhersage und zusätzlich zu den 3-Stunden-Vorhersagen auch die Tageszusammenfassungen, die man ja eher gewohnt ist.
Gesendet von iPad mit Tapatalk
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- peter-pan
- Beiträge: 2769
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OpenHAB 2 und OpenWeatherMap
Tageswerte bekommst du nur in der Bezahlversion. In der freien Version sind es die 3-Stunden-Zyklen bis zu 120 Stunden. Die kannst du dir dann ggf. per Rule zu Tageswerten aggregieren.
Es gibt aber inzswischen auch noch eine andere Möglichkeit, den OpenWeatherMap anbietet. Der Api-Call lautet etwa so:
Code: Alles auswählen
https://api.openweathermap.org/data/2.5/onecall?lat=12.3456&lon=7.890123&exclude=minutely,hourly&appid=dein-api-key&lang=de&units=metric
Ich habe den Aufruf in die http.cfg eingefügt und dann kannst du dir die Werte, die du haben möchtest aus dem JSON-String extrahieren.
Der JSON-String sieht so aus:
Code: Alles auswählen
{"lat":12.34,"lon":5.67
,"timezone":"Europe/Berlin","timezone_offset":7200,"current":{"dt":1596534256,"sunrise":1596513491,"sunset":1596567296,"temp":17.55,"feels_like":18.65,"pressure":1015,"humidity":82,"dew_point":14.44,"uvi":7.09,"clouds":100,"visibility":10000,"wind_speed":0.45,"wind_deg":20,"wind_gust":2.24,"weather":[{"id":500,"main":"Rain","description":"Leichter Regen","icon":"10d"}],"rain":{"1h":0.19}},"daily":[{"dt":1596538800,"sunrise":1596513491,"sunset":1596567296,"temp":{"day":17.53,"min":9.87,"max":17.55,"night":9.87,"eve":14.89,"morn":17.55},"feels_like":{"day":17.18,"night":8.62,"eve":14.45,"morn":17.2},"pressure":1015,"humidity":76,"dew_point":13.26,"wind_speed":1.95,"wind_deg":21,"weather":[{"id":501,"main":"Rain","description":"Mäßiger Regen","icon":"10d"}],"clouds":100,"pop":0.97,"rain":3.81,"uvi":7.09},{"dt":1596625200,"sunrise":1596599974,"sunset":1596653603,"temp":{"day":21.15,"min":11.95,"max":21.49,"night":11.99,"eve":17.56,"morn":11.95},"feels_like":{"day":19.02,"night":11.15,"eve":17.28,"morn":10.9},"pressure":1018,"humidity":53,"dew_point":11.29,"wind_speed":3.58,"wind_deg":87,"weather":[{"id":802,"main":"Clouds","description":"Mäßig bewölkt","icon":"03d"}],"clouds":31,"pop":0,"uvi":7.16},{"dt":1596711600,"sunrise":1596686457,"sunset":1596739908,"temp":{"day":23.16,"min":14.74,"max":23.89,"night":14.93,"eve":19.98,"morn":14.74},"feels_like":{"day":21.78,"night":15.36,"eve":20.82,"morn":13.46},"pressure":1019,"humidity":56,"dew_point":14.17,"wind_speed":3.73,"wind_deg":85,"weather":[{"id":800,"main":"Clear","description":"Klarer Himmel","icon":"01d"}],"clouds":0,"pop":0,"uvi":7.17},{"dt":1596798000,"sunrise":1596772941,"sunset":1596826212,"temp":{"day":24.02,"min":16.85,"max":25.98,"night":16.85,"eve":22.08,"morn":17.7},"feels_like":{"day":24.83,"night":17.94,"eve":24.09,"morn":18.72},"pressure":1019,"humidity":69,"dew_point":18.1,"wind_speed":2.82,"wind_deg":95,"weather":[{"id":500,"main":"Rain","description":"Leichter Regen","icon":"10d"}],"clouds":45,"pop":0.2,"rain":0.14,"uvi":7.11},{"dt":1596884400,"sunrise":1596859425,"sunset":1596912514,"temp":{"day":27.75,"min":17.86,"max":27.75,"night":17.86,"eve":22.66,"morn":19.01},"feels_like":{"day":27.94,"night":18.99,"eve":24.6,"morn":20.38},"pressure":1018,"humidity":47,"dew_point":15.73,"wind_speed":2.24,"wind_deg":106,"weather":[{"id":800,"main":"Clear","description":"Klarer Himmel","icon":"01d"}],"clouds":0,"pop":0,"uvi":7.15},{"dt":1596970800,"sunrise":1596945909,"sunset":1596998814,"temp":{"day":26.27,"min":17.67,"max":26.63,"night":17.67,"eve":22.68,"morn":20.16},"feels_like":{"day":27.59,"night":18.31,"eve":24.31,"morn":22.04},"pressure":1015,"humidity":62,"dew_point":18.42,"wind_speed":2.35,"wind_deg":16,"weather":[{"id":500,"main":"Rain","description":"Leichter Regen","icon":"10d"}],"clouds":98,"pop":0.67,"rain":2.98,"uvi":6.71},{"dt":1597057200,"sunrise":1597032394,"sunset":1597085114,"temp":{"day":27.01,"min":17.98,"max":27.14,"night":17.98,"eve":22.7,"morn":18.86},"feels_like":{"day":26.92,"night":17.93,"eve":23.95,"morn":19.72},"pressure":1013,"humidity":55,"dew_point":17.42,"wind_speed":3.64,"wind_deg":89,"weather":[{"id":800,"main":"Clear","description":"Klarer Himmel","icon":"01d"}],"clouds":0,"pop":0,"uvi":6.94},{"dt":1597143600,"sunrise":1597118878,"sunset":1597171411,"temp":{"day":27.93,"min":17.58,"max":27.93,"night":17.58,"eve":23.29,"morn":17.87},"feels_like":{"day":29.96,"night":18.21,"eve":25.62,"morn":17.17},"pressure":1013,"humidity":53,"dew_point":17.53,"wind_speed":0.76,"wind_deg":102,"weather":[{"id":501,"main":"Rain","description":"Mäßiger Regen","icon":"10d"}],"clouds":87,"pop":1,"rain":5.35,"uvi":7.03}]}
Die Detailierung der Werte lässt sich auch noch steueren mit dem Parameter "exclude" im Api-Aufruf. Ich habe z.B.: exclude=minutely,hourly, also keine Minuten und Stundenwerte. Das wird sonst ein "Riesen-JSON-String" und das brauch ich auch nicht.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 9
- Registriert: 3. Aug 2020 09:23
Re: OpenHAB 2 und OpenWeatherMap
Ist in der Beschreibung nicht sehr verständlich geschrieben, aber das erklärt es. Besten Dank!
- udo1toni
- Beiträge: 15265
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
OpenHAB 2 und OpenWeatherMap
Hast Du da irgendein Dokument von openWeatherMap? Dann könnte man das dem Binding Entwickler mal stecken...peter-pan hat geschrieben:Es gibt aber inzswischen auch noch eine andere Möglichkeit, den OpenWeatherMap anbietet. Der Api-Call lautet etwa so:Latitude, Longitude und Api-Key musst du halt noch mit deinen Werten ersetzen. Du kannst das ja mal so in deinem Browser aufrufen. Dann kannst du dir die Werte anschauen.Code: Alles auswählen
https://api.openweathermap.org/data/2.5/onecall?lat=12.3456&lon=7.890123&exclude=minutely,hourly&appid=dein-api-key&lang=de&units=metric
Gesendet von iPad mit Tapatalk
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- peter-pan
- Beiträge: 2769
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OpenHAB 2 und OpenWeatherMap
...du hast Recht, das ist wirklich nicht so ganz eindeutig. Ich hab mir halt selber 'ne Rule gebastelt, aber....da ich nicht so ganz firm bin, hat die ein paar kleine Bugs (hängt vor allem mit den Lambdas zusammen). Funktioniert aber sonst ganz gut.
Auf meinem Testsystem(NGRE,JSR223), hab ich ein Python-Script laufen, dass besser funktioniert

Aber es gibt ein Python-Script von Scott Rushworth (5iver) aus dem internationalen Forum, die dir sämtliche Items und Gruppen anlegt und auch die Tageswerte aggregiert. Allerdings brauchst du NGRE und JSR223/Jython.
Hallo Udo,
ich kann dir folgende Links anbieten:
Den hier (allgemein) mit dem Hinweis auf das/die neue Api
und den hier mit der Doku der Felder
Ich meine aber mal irgendwo gelesen zu haben, dass Christoph sich nicht mehr mit dem jetzigen Binding beschäftigt, sondern schon an OH3 rumbastelt. Du hast da aber einen besseren Draht, vielleicht macht er's ja doch, oder hat schon was in der Schublade

Ich selber habe spasseshalber nur mal ein paar Items extrahiert, aber so grundsätzlich scheint es gar nicht so schlecht zu sein, was man Werten bekommen kann.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
- udo1toni
- Beiträge: 15265
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OpenHAB 2 und OpenWeatherMap
Ah, da hat sich ja doch einiges getan... Das Dokument, was Du verlinkt hast, kannte ich shcon, aber untendrunter (und der One API Call) hat sich einiges verändert.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet