Updated external content (Jenkins build 100)

pull/1325/head
openHAB Build Server 2020-11-30 21:33:54 +00:00
parent 3c27e8aa99
commit 1f507c1fb2
5 changed files with 865 additions and 19 deletions

File diff suppressed because one or more lines are too long

View File

@ -25,7 +25,7 @@ This binding integrates the [OpenWeatherMap weather API](https://openweathermap.
## Supported Things
There are three supported things.
There are five supported things.
### OpenWeatherMap Account
@ -42,12 +42,25 @@ You can add as many `weather-and-forecast` things for different locations to you
The binding tries to request daily forecast data from the OpenWeatherMap API.
If the request fails, all daily forecast channel groups will be removed from the thing and further request will be omitted.
### Current UV Index And Forceast
### Current UV Index And Forecast
The third thing `uvindex` supports the [current UV Index](https://openweathermap.org/api/uvi#current) and [forecasted UV Index](https://openweathermap.org/api/uvi#forecast) for a specific location.
It requires coordinates of the location of your interest.
You can add as much `uvindex` things for different locations to your setup as you like to observe.
### One Call API Weather and Forecast
The thing `onecall` supports the [current and forecast weather data](https://openweathermap.org/api/one-call-api#how) for a specific location using the One Call API.
It requires coordinates of the location of your interest.
You can add as many `onecall` things for different locations to your setup as you like to observe.
### One Call API History Data
The thing `onecall-history` supports the [historical weather data](https://openweathermap.org/api/one-call-api#history) for a specific location using the One Call API.
It requires coordinates of the location of your interest.
You can add as many `onecall-history` things for different locations to your setup as you like to observe.
For every day in history you have to create a different thing.
## Discovery
If a system location is set, a "Local Weather And Forecast" (`weather-and-forecast`) thing and "Local UV Index" (`uvindex`) thing will be automatically discovered for this location.
@ -82,6 +95,22 @@ Once the parameters `forecastHours` or `forecastDays` will be changed, the avail
Once the parameter `forecastDays` will be changed, the available channel groups on the thing will be created or removed accordingly.
### One Call API Weather and Forecast
| Parameter | Description |
|----------------|--------------------------------------------------------------------------------------------------------------------------------|
| location | Location of weather in geographical coordinates (latitude/longitude/altitude). **Mandatory** |
| forecastMinutes| Number of minutes for minutely precipitation forecast. Optional, the default value is 0, so by default **no** minutely forecast data is fetched. (min="0", max="60"). |
| forecastHours | Number of hours for hourly forecast. Optional, the default value is 24 (min="0", max="48"). |
| forecastDays | Number of days for daily forecast (including todays forecast). Optional, the default value is 6 (min="0", max="8"). |
### One Call API History Data
| Parameter | Description |
|----------------|--------------------------------------------------------------------------------------------------------------------------------|
| location | Location of weather in geographical coordinates (latitude/longitude/altitude). **Mandatory** |
| historyDay | Number of days back in history. The API supports going back up to 5 days at the moment. **Mandatory** |
## Channels
### Station
@ -92,11 +121,15 @@ Once the parameter `forecastDays` will be changed, the available channel groups
| station | name | String | Name of the weather station or the city. |
| station | location | Location | Location of the weather station or the city. |
These channels are not supported in the One Call API
### Current Weather
| Channel Group ID | Channel ID | Item Type | Description |
|------------------|----------------------|----------------------|-------------------------------------------------------------------------|
| current | time-stamp | DateTime | Time of data observation. |
| current | sunrise | DateTime | Sunrise time of current day. Only available in the One Call API |
| current | sunset | DateTime | Sunset time of current day. Only available in the One Call API |
| current | condition | String | Current weather condition. |
| current | condition-id | String | Id of the current weather condition. **Advanced** |
| current | icon | Image | Icon representing the current weather condition. |
@ -105,6 +138,7 @@ Once the parameter `forecastDays` will be changed, the available channel groups
| current | apparent-temperature | Number:Temperature | Current apparent temperature. |
| current | pressure | Number:Pressure | Current barometric pressure. |
| current | humidity | Number:Dimensionless | Current atmospheric humidity. |
| current | dew-point | Number:Temperature | Current dew-point. Only available in the One Call API |
| current | wind-speed | Number:Speed | Current wind speed. |
| current | wind-direction | Number:Angle | Current wind direction. |
| current | gust-speed | Number:Speed | Current gust speed. **Advanced** |
@ -112,6 +146,8 @@ Once the parameter `forecastDays` will be changed, the available channel groups
| current | rain | Number:Length | Rain volume of the last hour. |
| current | snow | Number:Length | Snow volume of the last hour. |
| current | visibility | Number:Length | Current visibility. |
| current | uvindex | Number | Current UV Index. Only available in the One Call API |
**Attention**: Rain item is showing "1h" in the case when data are received from weather stations directly.
The fact is that some METAR stations do not have precipitation indicators or do not measure precipitation conditions due to some other technical reasons.
@ -119,6 +155,15 @@ In this case, we use model data.
So, rain item is showing "3h" when the API response based on model data.
The "3h" value will be divided by three to always have an estimated value for one hour.
### One Call API Minutely Forecast
Where available, the One Call API provides a minutely precipitation forecast for the next 60 minutes.
| Channel Group ID | Channel ID | Item Type | Description |
|--------------------------------------------------------|----------------------|----------------------|----------------------------------------------------------------------------|
| forecastMinutes01 ... forecastMinutes60 | time-stamp | DateTime | Time of data forecasted. |
| forecastMinutes01 ... forecastMinutes60 | precipitation | Number:Length | Expected precipitation volume. |
### 3 Hour Forecast
| Channel Group ID | Channel ID | Item Type | Description |
@ -130,8 +175,8 @@ The "3h" value will be divided by three to always have an estimated value for on
| forecastHours03, forecastHours06, ... forecastHours120 | icon-id | String | Id of the icon representing the forecasted weather condition. **Advanced** |
| forecastHours03, forecastHours06, ... forecastHours120 | temperature | Number:Temperature | Forecasted temperature. |
| forecastHours03, forecastHours06, ... forecastHours120 | apparent-temperature | Number:Temperature | Forecasted apparent temperature. |
| forecastHours03, forecastHours06, ... forecastHours120 | min-temperature | Number:Temperature | Minimum forecasted temperature. |
| forecastHours03, forecastHours06, ... forecastHours120 | max-temperature | Number:Temperature | Maximum forecasted temperature. |
| forecastHours03, forecastHours06, ... forecastHours120 | min-temperature | Number:Temperature | Minimum forecasted temperature. Not available in One Call API |
| forecastHours03, forecastHours06, ... forecastHours120 | max-temperature | Number:Temperature | Maximum forecasted temperature. Not available in One Call API |
| forecastHours03, forecastHours06, ... forecastHours120 | pressure | Number:Pressure | Forecasted barometric pressure. |
| forecastHours03, forecastHours06, ... forecastHours120 | humidity | Number:Dimensionless | Forecasted atmospheric humidity. |
| forecastHours03, forecastHours06, ... forecastHours120 | wind-speed | Number:Speed | Forecasted wind speed. |
@ -140,6 +185,14 @@ The "3h" value will be divided by three to always have an estimated value for on
| forecastHours03, forecastHours06, ... forecastHours120 | cloudiness | Number:Dimensionless | Forecasted cloudiness. |
| forecastHours03, forecastHours06, ... forecastHours120 | rain | Number:Length | Expected rain volume. |
| forecastHours03, forecastHours06, ... forecastHours120 | snow | Number:Length | Expected snow volume. |
| forecastHours01 ... forecastHours48 | dew-point | Number:Temperature | Expected dew-point. Only available in the One Call API |
| forecastHours01 ... forecastHours48 | precip-probability | Number:Dimensionles | Precipitation probability. Only available in the One Call API |
### One Call API Hourly Forecast
The One Call API provides hourly forecasts for 48 hours.
The Channel Group IDs for those are `forecastHours01` to `forecastHours48`.
See above for a description of the available channels.
### Daily Forecast
@ -150,7 +203,7 @@ The "3h" value will be divided by three to always have an estimated value for on
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | condition-id | String | Id of the forecasted weather condition. **Advanced** |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | icon | Image | Icon representing the forecasted weather condition. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | icon-id | String | Id of the icon representing the forecasted weather condition. **Advanced** |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | apparent-temperature | Number:Temperature | Forecasted apparent temperature. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | apparent-temperature | Number:Temperature | Forecasted apparent temperature. Not available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | min-temperature | Number:Temperature | Minimum forecasted temperature of a day. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | max-temperature | Number:Temperature | Maximum forecasted temperature of a day. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | pressure | Number:Pressure | Forecasted barometric pressure. |
@ -161,7 +214,18 @@ The "3h" value will be divided by three to always have an estimated value for on
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | cloudiness | Number:Dimensionless | Forecasted cloudiness. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | rain | Number:Length | Expected rain volume of a day. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | snow | Number:Length | Expected snow volume of a day. |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | dew-point | Number:Temperature | Expected dew-point. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | uvindex | Number | Forecasted Midday UV Index. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | precip-probability | Number:Dimensionless | Precipitation probability. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | morning-temperature | Number:Temperature | Expected morning temperature. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | day-temperature | Number:Temperature | Expected day-temperature. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | evening-temperature | Number:Temperature | Expected evening-temperature. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | night-temperature | Number:Temperature | Expected night-temperature. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-morning | Number:Temperature | Expected apparent temperature in the morning. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-day | Number:Temperature | Expected apparent temperature in the day. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-evening | Number:Temperature | Expected apparent temperature in the evening. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-night | Number:Temperature | Expected apparent temperature in the night. Only available in the One Call API |
### UV Index
| Channel Group ID | Channel ID | Item Type | Description |
@ -169,6 +233,8 @@ The "3h" value will be divided by three to always have an estimated value for on
| current, forecastTomorrow, forecastDay2, ... forecastDay7 | time-stamp | DateTime | Date of data observation / forecast. |
| current, forecastTomorrow, forecastDay2, ... forecastDay7 | uvindex | Number | Current or forecasted UV Index. |
The `uvindex` channel is also available in the current data and the daily forecast of the One Call API.
## Full Example
### Things
@ -183,6 +249,15 @@ Bridge openweathermap:weather-api:api "OpenWeatherMap Account" [apikey="AAA", re
}
```
#### One Call API version
```java
Bridge openweathermap:weather-api:api "OpenWeatherMap Account" [apikey="Add your API key", refreshInterval=60, language="de"] {
Thing onecall local "Local Weather and Forecast" [location="xxx,yyy"]
Thing onecall-history local-history "Local History" [location="xxx,yyy", historyDay=1]
}
```
### Items
demo.items
@ -255,6 +330,205 @@ Number localForecastTomorrowUVIndex "UV Index for tomorrow [%d]" { channel="open
...
```
#### One Call API version
```java
DateTime localLastMeasurement "Timestamp of Last Measurement [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:current#time-stamp" }
DateTime localTodaySunrise "Todays Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:current#sunrise" }
DateTime localTodaySunset "Todays Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:current#sunset" }
String localCurrentCondition "Current Condition [%s]" <sun_clouds> { channel="openweathermap:onecall:api:local:current#condition" }
Image localCurrentConditionIcon "Icon" { channel="openweathermap:onecall:api:local:current#Icon" }
Number:Temperature localCurrentTemperature "Current Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:current#temperature" }
Number:Temperature localCurrentApparentTemperature "Current Apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:current#apparent-temperature" }
Number:Pressure localCurrentPressure "Current barometric Pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall:api:local:current#pressure" }
Number:Dimensionless localCurrentHumidity "Current atmospheric Humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall:api:local:current#humidity" }
Number:Temperature localCurrentDewpoint "Current Dew-point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall:api:local:eurrent#dew-point" }
Number:Speed localCurrentWindSpeed "Current wind Speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:current#wind-speed" }
Number:Angle localCurrentWindDirection "Current wind Direction [%d %unit%]" <wind> { channel="openweathermap:onecall:api:local:current#wind-direction" }
Number:Speed localCurrentGustSpeed "Current Gust Speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:current#gust-speed" }
Number:Dimensionless localCurrentCloudiness "Current cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall:api:local:current#cloudiness" }
Number:Dimensionless localCurrentUvindex "Current UV Index [%d]" { channel="openweathermap:onecall:api:local:current#uvindex" }
Number:Length localCurrentRainVolume "Current rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:current#rain" }
Number:Length localCurrentSnowVolume "Current snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall:api:local:current#snow" }
Number:Length localCurrentVisibility "Current visibility [%.1f km]" <visibility> { channel="openweathermap:onecall:api:local:current#visibility" }
DateTime localMinutes01ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastMinutes01#time-stamp" }
Number:Length localMinutes01Precipitation "Precipitation Volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastMinutes01#precipitation" }
DateTime localMinutes60ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastMinutes60#time-stamp" }
Number:Length localMinutes60Precipitation "Precipitation Volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastMinutes60#precipitation" }
DateTime localHours01ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastHours01#time-stamp" }
String localHours01Condition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall:api:local:forecastHours01#condition" }
Image localHours01ConditionIcon "Icon" { channel="openweathermap:onecall:api:local:forecastHours01#icon" }
Number:Temperature localHours01Temperature "Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastHours01#temperature" }
Number:Temperature localHours01ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastHours01#apparent-temperature" }
Number:Pressure localHours01Pressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall:api:local:forecastHours01#pressure" }
Number:Dimensionless localHours01Humidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall:api:local:forecastHours01#humidity" }
Number:Temperature localHours01Dewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall:api:local:eurrent#dew-point" }
Number:Speed localHours01WindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastHours01#wind-speed" }
Number:Angle localHours01WindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall:api:local:forecastHours01#wind-direction" }
Number:Speed localHours01GustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastHours01#gust-speed" }
Number:Dimensionless localHours01Cloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall:api:local:forecastHours01#cloudiness" }
Number:Length localHours01RainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastHours01#rain" }
Number:Length localHours01SnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall:api:local:forecastHours01#snow" }
Number:Length localHours01Visibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall:api:local:forecastHours01#visibility" }
DateTime localHours48ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastHours48#time-stamp" }
String localHours48Condition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall:api:local:forecastHours48#condition" }
Image localHours48ConditionIcon "Icon" { channel="openweathermap:onecall:api:local:forecastHours48#icon" }
Number:Temperature localHours48Temperature "Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastHours48#temperature" }
Number:Temperature localHours48ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastHours48#apparent-temperature" }
Number:Pressure localHours48Pressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall:api:local:forecastHours48#pressure" }
Number:Dimensionless localHours48Humidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall:api:local:forecastHours48#humidity" }
Number:Temperature localHours48Dewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall:api:local:eurrent#dew-point" }
Number:Speed localHours48WindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastHours48#wind-speed" }
Number:Angle localHours48WindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall:api:local:forecastHours48#wind-direction" }
Number:Speed localHours48GustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastHours48#gust-speed" }
Number:Dimensionless localHours48Cloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall:api:local:forecastHours48#cloudiness" }
Number:Length localHours48RainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastHours48#rain" }
Number:Length localHours48SnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall:api:local:forecastHours48#snow" }
Number:Length localHours48Visibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall:api:local:forecastHours48#visibility" }
DateTime localTodayTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastToday#time-stamp" }
String localTodayCondition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall:api:local:forecastToday#condition" }
Image localTodayConditionIcon "Icon" { channel="openweathermap:onecall:api:local:forecastToday#icon" }
Number:Temperature localTodayMinTemperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#min-temperature" }
Number:Temperature localTodayMaxTemperature "Maximum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#max-temperature" }
Number:Temperature localTodayMorningTemperature "Morning temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#morning-temperature" }
Number:Temperature localTodayDayTemperature "Day temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#day-temperature" }
Number:Temperature localTodayEveningTemperature "Evening temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#evening-temperature" }
Number:Temperature localTodayNightTemperature "Night temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#night-temperature" }
Number:Temperature localTodayMorningApparent "Morning apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#apparent-morning" }
Number:Temperature localTodayDayApparent "Day apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#apparent-day" }
Number:Temperature localTodayEveningApparent "Evening apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#apparent-evening" }
Number:Temperature localTodayNightApparent "Night apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastToday#apparent-night" }
Number:Pressure localTodayPressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall:api:local:forecastToday#pressure" }
Number:Dimensionless localTodayHumidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall:api:local:forecastToday#humidity" }
Number:Temperature localTodayDewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall:api:local:forecastToday#dew-point" }
Number:Speed localTodayWindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastToday#wind-speed" }
Number:Angle localTodayWindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall:api:local:forecastToday#wind-direction" }
Number:Speed localTodayGustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastToday#gust-speed" }
Number:Dimensionless localTodayPrecipProbability "Precipitation probability [%.1f]" { channel="openweathermap:onecall:api:local:forecastToday#probability" }
Number:Dimensionless localTodayCloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall:api:local:forecastToday#cloudiness" }
Number:Dimensionless localTodayUvindex "Current UV Index [%d]" { channel="openweathermap:onecall:api:local:forecastToday#uvindex" }
Number:Length localTodayRainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastToday#rain" }
Number:Length localTodaySnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall:api:local:forecastToday#snow" }
Number:Length localTodayVisibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall:api:local:forecastToday#visibility" }
DateTime localTomorrowTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastTomorrow#time-stamp" }
DateTime localTomorrowSunrise "Tomorrow Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:forecastTomorrow#sunrise" }
DateTime localTomorrowSunset "Tomorrow Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:forecastTomorrow#sunset" }
String localTomorrowCondition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall:api:local:forecastTomorrow#condition" }
Image localTomorrowConditionIcon "Icon" { channel="openweathermap:onecall:api:local:forecastTomorrow#icon" }
Number:Temperature localTomorrowMinTemperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#min-temperature" }
Number:Temperature localTomorrowMaxTemperature "Maximum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#max-temperature" }
Number:Temperature localTomorrowMorningTemperature "Morning temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#morning-temperature" }
Number:Temperature localTomorrowDayTemperature "Day temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#day-temperature" }
Number:Temperature localTomorrowEveningTemperature "Evening temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#evening-temperature" }
Number:Temperature localTomorrowNightTemperature "Night temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#night-temperature" }
Number:Temperature localTomorrowMorningApparent "Morning apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#apparent-morning" }
Number:Temperature localTomorrowDayApparent "Day apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#apparent-day" }
Number:Temperature localTomorrowEveningApparent "Evening apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#apparent-evening" }
Number:Temperature localTomorrowNightApparent "Night apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastTomorrow#apparent-night" }
Number:Pressure localTomorrowPressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall:api:local:forecastTomorrow#pressure" }
Number:Dimensionless localTomorrowHumidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall:api:local:forecastTomorrow#humidity" }
Number:Temperature localTomorrowDewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall:api:local:forecastTomorrow#dew-point" }
Number:Speed localTomorrowWindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastTomorrow#wind-speed" }
Number:Angle localTomorrowWindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall:api:local:forecastTomorrow#wind-direction" }
Number:Speed localTomorrowGustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastTomorrow#gust-speed" }
Number:Dimensionless localTomorrowPrecipProbability "Precipitation probability [%.1f]" { channel="openweathermap:onecall:api:local:forecastTomorrow#probability" }
Number:Dimensionless localTomorrowCloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall:api:local:forecastTomorrow#cloudiness" }
Number:Dimensionless localTomorrowUvindex "Current UV Index [%d]" { channel="openweathermap:onecall:api:local:forecastTomorrow#uvindex" }
Number:Length localTomorrowRainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastTomorrow#rain" }
Number:Length localTomorrowSnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall:api:local:forecastTomorrow#snow" }
Number:Length localTomorrowVisibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall:api:local:forecastTomorrow#visibility" }
DateTime localDay6Timestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall:api:local:forecastDay6#time-stamp" }
DateTime localDay6Sunrise "Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:forecastDay6#sunrise" }
DateTime localDay6Sunset "Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall:api:local:forecastDay6#sunset" }
String localDay6Condition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall:api:local:forecastDay6#condition" }
Image localDay6ConditionIcon "Icon" { channel="openweathermap:onecall:api:local:forecastDay6#icon" }
Number:Temperature localDay6MinTemperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#min-temperature" }
Number:Temperature localDay6MaxTemperature "Maximum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#max-temperature" }
Number:Temperature localDay6MorningTemperature "Morning temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#morning-temperature" }
Number:Temperature localDay6DayTemperature "Day temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#day-temperature" }
Number:Temperature localDay6EveningTemperature "Evening temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#evening-temperature" }
Number:Temperature localDay6NightTemperature "Night temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#night-temperature" }
Number:Temperature localDay6MorningApparent "Morning apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#apparent-morning" }
Number:Temperature localDay6DayApparent "Day apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#apparent-day" }
Number:Temperature localDay6EveningApparent "Evening apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#apparent-evening" }
Number:Temperature localDay6NightApparent "Night apparent Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall:api:local:forecastDay6#apparent-night" }
Number:Pressure localDay6Pressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall:api:local:forecastDay6#pressure" }
Number:Dimensionless localDay6Humidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall:api:local:forecastDay6#humidity" }
Number:Temperature localDay6Dewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall:api:local:forecastDay6#dew-point" }
Number:Speed localDay6WindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastDay6#wind-speed" }
Number:Angle localDay6WindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall:api:local:forecastDay6#wind-direction" }
Number:Speed localDay6GustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall:api:local:forecastDay6#gust-speed" }
Number:Dimensionless localDay6PrecipProbability "Precipitation probability [%.1f]" { channel="openweathermap:onecall:api:local:forecastDay6#probability" }
Number:Dimensionless localDay6Cloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall:api:local:forecastDay6#cloudiness" }
Number:Dimensionless localDay6Uvindex "Current UV Index [%d]" { channel="openweathermap:onecall:api:local:forecastDay6#uvindex" }
Number:Length localDay6RainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall:api:local:forecastDay6#rain" }
Number:Length localDay6SnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall:api:local:forecastDay6#snow" }
Number:Length localDay6Visibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall:api:local:forecastDay6#visibility" }
DateTime localHistory1LastMeasurement "Timestamp of history [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall-history:api:local-history:history#time-stamp" }
DateTime localHistory1Sunrise "Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall-history:api:local-history:history#sunrise" }
DateTime localHistory1Sunset "Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall-history:api:local-history:history#sunset" }
String localHistory1Condition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall-history:api:local-history:history#condition" }
Image localHistory1ConditionIcon "Icon" { channel="openweathermap:onecall-history:api:local-history:history#icon" }
Number:Temperature localHistory1Temperature "Temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall-history:api:local-history:history#temperature" }
Number:Temperature localHistory1ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall-history:api:local-history:history#apparent-temperature" }
Number:Pressure localHistory1Pressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall-history:api:local-history:history#pressure" }
Number:Dimensionless localHistory1Humidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall-history:api:local-history:history#humidity" }
Number:Temperature localHistory1Dewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall-history:api:local-history:eurrent#dew-point" }
Number:Speed localHistory1WindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall-history:api:local-history:history#wind-speed" }
Number:Angle localHistory1WindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall-history:api:local-history:history#wind-direction" }
Number:Speed localHistory1GustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall-history:api:local-history:history#gust-speed" }
Number:Dimensionless localHistory1Cloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall-history:api:local-history:history#cloudiness" }
Number:Dimensionless localHistory1Uvindex "UV Index [%d]" { channel="openweathermap:onecall-history:api:local-history:history#uvindex" }
Number:Length localHistory1RainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall-history:api:local-history:history#rain" }
Number:Length localHistory1SnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall-history:api:local-history:history#snow" }
Number:Length localHistory1Visibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall-history:api:local-history:history#visibility" }
DateTime localHistory1Hours01LastMeasurement "Timestamp of history [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall-history:api:local-history:historyHours01#time-stamp" }
DateTime localHistory1Hours01Sunrise "Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall-history:api:local-history:historyHours01#sunrise" }
DateTime localHistory1Hours01Sunset "Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall-history:api:local-history:historyHours01#sunset" }
String localHistory1Hours01Condition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall-history:api:local-history:historyHours01#condition" }
Image localHistory1Hours01ConditionIcon "Icon" { channel="openweathermap:onecall-history:api:local-history:historyHours01#icon" }
Number:Temperature localHistory1Hours01Temperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall-history:api:local-history:historyHours01#temperature" }
Number:Temperature localHistory1Hours01ApparentTemperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall-history:api:local-history:historyHours01#apparent-temperature" }
Number:Pressure localHistory1Hours01Pressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall-history:api:local-history:historyHours01#pressure" }
Number:Dimensionless localHistory1Hours01Humidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall-history:api:local-history:historyHours01#humidity" }
Number:Temperature localHistory1Hours01Dewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall-history:api:local-history:eurrent#dew-point" }
Number:Speed localHistory1Hours01WindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall-history:api:local-history:historyHours01#wind-speed" }
Number:Angle localHistory1Hours01WindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall-history:api:local-history:historyHours01#wind-direction" }
Number:Speed localHistory1Hours01GustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall-history:api:local-history:historyHours01#gust-speed" }
Number:Dimensionless localHistory1Hours01Cloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall-history:api:local-history:historyHours01#cloudiness" }
Number:Dimensionless localHistory1Hours01Uvindex "Current UV Index [%d]" { channel="openweathermap:onecall-history:api:local-history:historyHours01#uvindex" }
Number:Length localHistory1Hours01RainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall-history:api:local-history:historyHours01#rain" }
Number:Length localHistory1Hours01SnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall-history:api:local-history:historyHours01#snow" }
Number:Length localHistory1Hours01Visibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall-history:api:local-history:historyHours01#visibility" }
DateTime localHistory1Hours24LastMeasurement "Timestamp of history [%1$tY-%1$tm-%1$td]" <time> { channel="openweathermap:onecall-history:api:local-history:historyHours24#time-stamp" }
DateTime localHistory1Hours24Sunrise "Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall-history:api:local-history:historyHours24#sunrise" }
DateTime localHistory1Hours24Sunset "Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> { channel="openweathermap:onecall-history:api:local-history:historyHours24#sunset" }
String localHistory1Hours24Condition "Condition [%s]" <sun_clouds> { channel="openweathermap:onecall-history:api:local-history:historyHours24#condition" }
Image localHistory1Hours24ConditionIcon "Icon" { channel="openweathermap:onecall-history:api:local-history:historyHours24#icon" }
Number:Temperature localHistory1Hours24Temperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall-history:api:local-history:historyHours24#temperature" }
Number:Temperature localHistory1Hours24ApparentTemperature "Minimum temperature [%.1f %unit%]" <temperature> { channel="openweathermap:onecall-history:api:local-history:historyHours24#apparent-temperature" }
Number:Pressure localHistory1Hours24Pressure "Barometric pressure [%.1f %unit%]" <pressure> { channel="openweathermap:onecall-history:api:local-history:historyHours24#pressure" }
Number:Dimensionless localHistory1Hours24Humidity "Atmospheric humidity [%d %unit%]" <humidity> { channel="openweathermap:onecall-history:api:local-history:historyHours24#humidity" }
Number:Temperature localHistory1Hours24Dewpoint "Dew point [%.1f %unit%]" <Temperature> { channea="openweathermap:onecall-history:api:local-history:eurrent#dew-point" }
Number:Speed localHistory1Hours24WindSpeed "Wind speed [%.1f km/h]" <wind> { channel="openweathermap:onecall-history:api:local-history:historyHours24#wind-speed" }
Number:Angle localHistory1Hours24WindDirection "Wind direction [%d %unit%]" <wind> { channel="openweathermap:onecall-history:api:local-history:historyHours24#wind-direction" }
Number:Speed localHistory1Hours24GustSpeed "Gust speed [%.1f km/h]" <wind> { channel="openweathermap:onecall-history:api:local-history:historyHours24#gust-speed" }
Number:Dimensionless localHistory1Hours24Cloudiness "Cloudiness [%d %unit%]" <clouds> { channel="openweathermap:onecall-history:api:local-history:historyHours24#cloudiness" }
Number:Dimensionless localHistory1Hours24Uvindex "Current UV Index [%d]" { channel="openweathermap:onecall-history:api:local-history:historyHours24#uvindex" }
Number:Length localHistory1Hours24RainVolume "Rain volume [%.1f %unit%]" <rain> { channel="openweathermap:onecall-history:api:local-history:historyHours24#rain" }
Number:Length localHistory1Hours24SnowVolume "Snow volume [%.1f %unit%]" <snow> { channel="openweathermap:onecall-history:api:local-history:historyHours24#snow" }
Number:Length localHistory1Hours24visibility "Visibility [%.1f km]" <visibility> { channel="openweathermap:onecall-history:api:local-history:historyHours24#visibility" }
```
### Sitemap
demo.sitemap
@ -338,3 +612,139 @@ sitemap demo label="OpenWeatherMap" {
}
}
```
#### One Call API version
Please note that this sitemap does not cover all items of the example above.
```perl
sitemap demo label="OpenWeatherMapOneCall" {
Frame label="Current local weather" {
Text item=localLastMeasurement
Text item=localCurrentCondition
Image item=localCurrentConditionIcon
Text item=localCurrentTemperature
Text item=localCurrentApparentTemperature
Text item=localCurrentPressure
Text item=localCurrentHumidity
Text item=localCurrentDewpoint
Text item=localCurrentWindSpeed
Text item=localCurrentWindDirection
Text item=localCurrentGustSpeed
Text item=localCurrentCloudiness
Text item=localCurrentUvindex
Text item=localCurrentRainVolume
Text item=localCurrentSnowVolume
Text item=localCurrentVisibility
}
Frame label="Local forecast for today" {
Text item=localTodayTimestamp
Text item=localTodayPrecipProbability
Text item=localTodaySunrise
Text item=localTodaySunset
Text item=localTodayCondition
Image item=localTodayConditionIcon
Text item=localTodayMinTemperature
Text item=localTodayMaxTemperature
Text item=localTodayMorningTemperature
Text item=localTodayMorningApparent
Text item=localTodayDayTemperature
Text item=localTodayDayApparent
Text item=localTodayEveningTemperature
Text item=localTodayEveningApparent
Text item=localTodayNightTemperature
Text item=localTodayNightApparent
Text item=localTodayPressure
Text item=localTodayHumidity
Text item=localTodayDewpoint
Text item=localTodayWindSpeed
Text item=localTodayWindDirection
Text item=localTodayGustSpeed
Text item=localTodayCloudiness
Text item=localTodayUvindex
Text item=localTodayRainVolume
Text item=localTodaySnowVolume
Text item=localTodayVisibility
}
Frame label="Local forecast for tomorrow" {
Text item=localTomorrowTimestamp
Text item=localTomorrowPrecipProbability
Text item=localTomorrowSunrise
Text item=localTomorrowSunset
Text item=localTomorrowCondition
Image item=localTomorrowConditionIcon
Text item=localTomorrowMinTemperature
Text item=localTomorrowMaxTemperature
Text item=localTomorrowMorningTemperature
Text item=localTomorrowMorningApparent
Text item=localTomorrowDayTemperature
Text item=localTomorrowDayApparent
Text item=localTomorrowEveningTemperature
Text item=localTomorrowEveningApparent
Text item=localTomorrowNightTemperature
Text item=localTomorrowNightApparent
Text item=localTomorrowPressure
Text item=localTomorrowHumidity
Text item=localTomorrowDewpoint
Text item=localTomorrowWindSpeed
Text item=localTomorrowWindDirection
Text item=localTomorrowGustSpeed
Text item=localTomorrowCloudiness
Text item=localTomorrowUvindex
Text item=localTomorrowRainVolume
Text item=localTomorrowSnowVolume
Text item=localTomorrowVisibility
}
Frame label="Local forecast in 6 days" {
Text item=localDay6Timestamp
Text item=localDay6PrecipProbability
Text item=localDay6Sunrise
Text item=localDay6Sunset
Text item=localDay6Condition
Image item=localDay6ConditionIcon
Text item=localDay6MinTemperature
Text item=localDay6MaxTemperature
Text item=localDay6MorningTemperature
Text item=localDay6MorningApparent
Text item=localDay6DayTemperature
Text item=localDay6DayApparent
Text item=localDay6EveningTemperature
Text item=localDay6EveningApparent
Text item=localDay6NightTemperature
Text item=localDay6NightApparent
Text item=localDay6Pressure
Text item=localDay6Humidity
Text item=localDay6Dewpoint
Text item=localDay6WindSpeed
Text item=localDay6WindDirection
Text item=localDay6GustSpeed
Text item=localDay6Cloudiness
Text item=localDay6Uvindex
Text item=localDay6RainVolume
Text item=localDay6SnowVolume
Text item=localDay6Visibility
Text item=localDay6SnowVolume
}
Frame label="Yesterdays local weather" {
Text item=localHistory1LastMeasurement
Text item=localHistory1Condition
Text item=localHistory1Sunrise
Text item=localHistory1Sunset
Image item=localHistory1ConditionIcon
Text item=localHistory1Temperature
Text item=localHistory1ApparentTemperature
Text item=localHistory1Pressure
Text item=localHistory1Humidity
Text item=localHistory1Dewpoint
Text item=localHistory1WindSpeed
Text item=localHistory1WindDirection
Text item=localHistory1GustSpeed
Text item=localHistory1Cloudiness
Text item=localHistory1Uvindex
Text item=localHistory1RainVolume
Text item=localHistory1SnowVolume
Text item=localHistory1Visibility
}
}
```

View File

@ -45,23 +45,28 @@ Currently the binding does not support any Channels.
## Thing Actions
All actions return a `Boolean` value to indicate if the message - parameter `message` **mandatory** - was sent successfully or not.
The `title` parameter defaults to whatever value you defined in the `title` related configuration parameter.
All actions return a `Boolean` value to indicate if the message was sent successfully or not.
The parameter `message` is **mandatory**, the `title` parameter defaults to whatever value you defined in the `title` related configuration parameter.
`sendMessage(String message, @Nullable String title)` - This method is used to send a plain text message.
`sendHtmlMessage(String message, @Nullable String title)` - This method is used to send a HTML message.
`sendMonospaceMessage(String message, @Nullable String title)` - This method is used to send a monospace message.
`sendAttachmentMessage(String message, @Nullable String title, String attachment, @Nullable String contentType)` - This method is used to send a message with an attachment. It takes a (local) path (`attachment` **mandatory**) to the attachment and an optional parameter `contentType` to define the content-type of the attachment (default: `image/jpeg`).
`sendURLMessage(String message, @Nullable String title, String url, @Nullable String urlTitle)` - This method is used to send a message with an URL. A supplementary `url` to show with the message and a `urlTitle` for the URL, otherwise just the URL is shown.
`sendMessageToDevice(String device, String message, @Nullable String title)` - This method is used to send a message to a specific device. Parameter `device` **mandatory** is the name of a specific device (multiple devices may be separated by a comma).
- `sendMessage(String message, @Nullable String title)` - This method is used to send a plain text message.
- `sendHtmlMessage(String message, @Nullable String title)` - This method is used to send a HTML message.
- `sendMonospaceMessage(String message, @Nullable String title)` - This method is used to send a monospace message.
- `sendAttachmentMessage(String message, @Nullable String title, String attachment, @Nullable String contentType)` - This method is used to send a message with an attachment. It takes a (local) path to the attachment (parameter `attachment` **mandatory**) and an optional `contentType` to define the content-type of the attachment (default: `image/jpeg`).
- `sendURLMessage(String message, @Nullable String title, String url, @Nullable String urlTitle)` - This method is used to send a message with an URL. A supplementary `url` to show with the message and a `urlTitle` for the URL, otherwise just the URL is shown.
- `sendMessageToDevice(String device, String message, @Nullable String title)` - This method is used to send a message to a specific device. Parameter `device` **mandatory** is the name of a specific device (multiple devices may be separated by a comma).
The `sendPriorityMessage` action returns a `String` value (the `receipt`) if the message was sent successfully, otherwise `null`.
`sendPriorityMessage(String message, @Nullable String title, @Nullable Integer priority)` - This method is used to send a priority message. Parameter `priority` is the priority (`-2`, `-1`, `0`, `1`, `2`) to be used (default: `2`).
- `sendPriorityMessage(String message, @Nullable String title, @Nullable Integer priority)` - This method is used to send a priority message. Parameter `priority` is the priority (`-2`, `-1`, `0`, `1`, `2`) to be used (default: `2`).
`cancelPriorityMessage` returns a `Boolean` value to indicate if the message was cancelled successfully or not.
The `cancelPriorityMessage` returns a `Boolean` value to indicate if the message was cancelled successfully or not.
`cancelPriorityMessage(String receipt)` - This method is used to cancel a priority message.
- `cancelPriorityMessage(String receipt)` - This method is used to cancel a priority message.
## Full Example
@ -82,7 +87,7 @@ actions.sendHtmlMessage("Hello <font color='green'>World</font>!", "openHAB")
```java
val actions = getActions("pushover", "pushover:pushover-account:account")
// send priority message
var receipt = actions.sendPriorityMessage("Hello <font color='green'>World</font>!", "openHAB", 3)
var receipt = actions.sendPriorityMessage("Emergency!!!", "openHAB", 2)
// wait for your cancel condition

View File

@ -105,6 +105,155 @@
</channels>
</channel-group-type>
<channel-group-type id="oneCallCurrent">
<label>One Call API Current Weather</label>
<description>Current weather data from the One Call API.</description>
<channels>
<channel id="time-stamp" typeId="time-stamp"/>
<channel id="sunrise" typeId="sunrise"/>
<channel id="sunset" typeId="sunset"/>
<channel id="condition" typeId="condition"/>
<channel id="condition-id" typeId="condition-id"/>
<channel id="icon" typeId="condition-icon"/>
<channel id="icon-id" typeId="condition-icon-id"/>
<channel id="temperature" typeId="system.outdoor-temperature"/>
<channel id="apparent-temperature" typeId="apparent-temperature"/>
<channel id="pressure" typeId="system.barometric-pressure"/>
<channel id="humidity" typeId="system.atmospheric-humidity"/>
<channel id="dew-point" typeId="dew-point"/>
<channel id="uvindex" typeId="uvindex"/>
<channel id="wind-speed" typeId="system.wind-speed"/>
<channel id="wind-direction" typeId="system.wind-direction"/>
<channel id="gust-speed" typeId="gust-speed"/>
<channel id="cloudiness" typeId="cloudiness"/>
<channel id="rain" typeId="rain"/>
<channel id="snow" typeId="snow"/>
<channel id="visibility" typeId="visibility"/>
</channels>
</channel-group-type>
<channel-group-type id="oneCallMinutely">
<label>One Call API Minutely Forecast</label>
<description>Minutely precipitation delivered by the One Call API.</description>
<channels>
<channel id="time-stamp" typeId="time-stamp"/>
<channel id="precipitation" typeId="precipitation"/>
</channels>
</channel-group-type>
<channel-group-type id="oneCallHourly">
<label>One Call API Hourly Forecast</label>
<description>Hourly weather forecast delivered by the One Call API.</description>
<channels>
<channel id="time-stamp" typeId="hourly-forecast-time-stamp"/>
<channel id="condition" typeId="condition"/>
<channel id="condition-id" typeId="condition-id"/>
<channel id="icon" typeId="condition-icon"/>
<channel id="icon-id" typeId="condition-icon-id"/>
<channel id="temperature" typeId="system.outdoor-temperature"/>
<channel id="apparent-temperature" typeId="apparent-temperature"/>
<channel id="pressure" typeId="system.barometric-pressure"/>
<channel id="humidity" typeId="system.atmospheric-humidity"/>
<channel id="dew-point" typeId="dew-point"/>
<channel id="wind-speed" typeId="system.wind-speed"/>
<channel id="wind-direction" typeId="system.wind-direction"/>
<channel id="gust-speed" typeId="gust-speed"/>
<channel id="cloudiness" typeId="cloudiness"/>
<channel id="precip-probability" typeId="precip-probability"/>
<channel id="rain" typeId="rain"/>
<channel id="snow" typeId="snow"/>
<channel id="visibility" typeId="visibility"/>
</channels>
</channel-group-type>
<channel-group-type id="oneCallDaily">
<label>One Call API Daily Forecast</label>
<description>Daily weather forecast delivered by the One Call API.</description>
<channels>
<channel id="time-stamp" typeId="daily-forecast-time-stamp"/>
<channel id="sunrise" typeId="sunrise"/>
<channel id="sunset" typeId="sunset"/>
<channel id="condition" typeId="condition"/>
<channel id="condition-id" typeId="condition-id"/>
<channel id="icon" typeId="condition-icon"/>
<channel id="icon-id" typeId="condition-icon-id"/>
<channel id="morning-temperature" typeId="morning-temperature"/>
<channel id="day-temperature" typeId="day-temperature"/>
<channel id="evening-temperature" typeId="evening-temperature"/>
<channel id="night-temperature" typeId="night-temperature"/>
<channel id="min-temperature" typeId="forecasted-min-outdoor-temperature"/>
<channel id="max-temperature" typeId="forecasted-max-outdoor-temperature"/>
<channel id="apparent-morning" typeId="apparent-morning"/>
<channel id="apparent-day" typeId="apparent-day"/>
<channel id="apparent-evening" typeId="apparent-evening"/>
<channel id="apparent-night" typeId="apparent-night"/>
<channel id="pressure" typeId="system.barometric-pressure"/>
<channel id="humidity" typeId="system.atmospheric-humidity"/>
<channel id="wind-speed" typeId="system.wind-speed"/>
<channel id="wind-direction" typeId="system.wind-direction"/>
<channel id="gust-speed" typeId="gust-speed"/>
<channel id="cloudiness" typeId="cloudiness"/>
<channel id="uvindex" typeId="forecasted-uvindex"/>
<channel id="precip-probability" typeId="precip-probability"/>
<channel id="rain" typeId="rain"/>
<channel id="snow" typeId="snow"/>
<channel id="visibility" typeId="visibility"/>
</channels>
</channel-group-type>
<channel-group-type id="oneCallHistory">
<label>One Call API Historical Weather</label>
<description>Historical weather data from the One Call API at this point in time the given day.</description>
<channels>
<channel id="time-stamp" typeId="time-stamp"/>
<channel id="sunrise" typeId="sunrise"/>
<channel id="sunset" typeId="sunset"/>
<channel id="condition" typeId="condition"/>
<channel id="condition-id" typeId="condition-id"/>
<channel id="icon" typeId="condition-icon"/>
<channel id="icon-id" typeId="condition-icon-id"/>
<channel id="temperature" typeId="system.outdoor-temperature"/>
<channel id="apparent-temperature" typeId="apparent-temperature"/>
<channel id="pressure" typeId="system.barometric-pressure"/>
<channel id="humidity" typeId="system.atmospheric-humidity"/>
<channel id="dew-point" typeId="dew-point"/>
<channel id="uvindex" typeId="uvindex"/>
<channel id="wind-speed" typeId="system.wind-speed"/>
<channel id="wind-direction" typeId="system.wind-direction"/>
<channel id="gust-speed" typeId="gust-speed"/>
<channel id="cloudiness" typeId="cloudiness"/>
<channel id="rain" typeId="rain"/>
<channel id="snow" typeId="snow"/>
<channel id="visibility" typeId="visibility"/>
</channels>
</channel-group-type>
<channel-group-type id="oneCallHistoryHours">
<label>One Call API Hourly Historical Weather Data</label>
<description>Historical weather data from the One Call API per hour.</description>
<channels>
<channel id="time-stamp" typeId="time-stamp"/>
<channel id="condition" typeId="condition"/>
<channel id="condition-id" typeId="condition-id"/>
<channel id="icon" typeId="condition-icon"/>
<channel id="icon-id" typeId="condition-icon-id"/>
<channel id="temperature" typeId="system.outdoor-temperature"/>
<channel id="apparent-temperature" typeId="apparent-temperature"/>
<channel id="pressure" typeId="system.barometric-pressure"/>
<channel id="humidity" typeId="system.atmospheric-humidity"/>
<channel id="dew-point" typeId="dew-point"/>
<channel id="uvindex" typeId="uvindex"/>
<channel id="wind-speed" typeId="system.wind-speed"/>
<channel id="wind-direction" typeId="system.wind-direction"/>
<channel id="gust-speed" typeId="gust-speed"/>
<channel id="cloudiness" typeId="cloudiness"/>
<channel id="rain" typeId="rain"/>
<channel id="snow" typeId="snow"/>
<channel id="visibility" typeId="visibility"/>
</channels>
</channel-group-type>
<!-- Channels for OpenWeatherMap Binding -->
<channel-type id="station-id">
<item-type>String</item-type>
@ -128,6 +277,22 @@
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="sunrise">
<item-type>DateTime</item-type>
<label>Sunrise Time</label>
<description>Time of sunrise for the given day.</description>
<category>Time</category>
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="sunset">
<item-type>DateTime</item-type>
<label>Sunset Time</label>
<description>Time of sunset for the given day.</description>
<category>Time</category>
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="hourly-forecast-time-stamp">
<item-type>DateTime</item-type>
<label>Forecast Time</label>
@ -205,6 +370,38 @@
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="day-temperature">
<item-type>Number:Temperature</item-type>
<label>Day Temperature</label>
<description>Forecasted outdoor temperature for the day.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="morning-temperature">
<item-type>Number:Temperature</item-type>
<label>Morning Temperature</label>
<description>Forecasted outdoor temperature for the morning.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="evening-temperature">
<item-type>Number:Temperature</item-type>
<label>Evening Temperature</label>
<description>Forecasted outdoor temperature for the evening.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="night-temperature">
<item-type>Number:Temperature</item-type>
<label>Night Temperature</label>
<description>Forecasted outdoor temperature for the night.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="apparent-temperature">
<item-type>Number:Temperature</item-type>
<label>Apparent Temperature</label>
@ -213,6 +410,54 @@
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="apparent-morning">
<item-type>Number:Temperature</item-type>
<label>Apparent Morning Temperature</label>
<description>Forecasted apparent temperature in the morning.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="apparent-day">
<item-type>Number:Temperature</item-type>
<label>Apparent Day Temperature</label>
<description>Forecasted apparent temperature during the day.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="apparent-evening">
<item-type>Number:Temperature</item-type>
<label>Apparent Evening Temperature</label>
<description>Forecasted apparent temperature at the evening.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="apparent-night">
<item-type>Number:Temperature</item-type>
<label>Apparent Night Temperature</label>
<description>Forecasted apparent temperature in the night.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="dew-point" advanced="true">
<item-type>Number:Temperature</item-type>
<label>Dew-Point Temperature</label>
<description>Forecasted dew-point temperature.</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="precipitation">
<item-type>Number:Length</item-type>
<label>Precipitation</label>
<description>Precipitation volume of the related timespan.</description>
<category>Precipitation</category>
<state readOnly="true" pattern="%.2f %unit%"/>
</channel-type>
<channel-type id="forecasted-apparent-temperature">
<item-type>Number:Temperature</item-type>
<label>Forecasted Apparent Temperature</label>
@ -338,4 +583,11 @@
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="precip-probability">
<item-type>Number:Dimensionless</item-type>
<label>Probability</label>
<description>Forecasted precipitation probability.</description>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -116,4 +116,183 @@
<config-description-ref uri="thing-type:openweathermap:uvindex"/>
</thing-type>
<thing-type id="onecall">
<supported-bridge-type-refs>
<bridge-type-ref id="weather-api"/>
</supported-bridge-type-refs>
<label>One Call API Weather and Forecast</label>
<description>Provides current weather and forecast data from the OpenWeatherMap One Call API.</description>
<channel-groups>
<channel-group id="current" typeId="oneCallCurrent"/>
<channel-group id="forecastMinutes01" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes02" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes03" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes04" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes05" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes06" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes07" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes08" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes09" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes10" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes11" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes12" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes13" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes14" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes15" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes16" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes17" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes18" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes19" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes20" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes21" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes22" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes23" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes24" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes25" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes26" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes27" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes28" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes29" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes30" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes31" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes32" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes33" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes34" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes35" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes36" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes37" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes38" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes39" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes40" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes41" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes42" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes43" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes44" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes45" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes46" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes47" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes48" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes49" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes50" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes51" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes52" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes53" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes54" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes55" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes56" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes57" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes58" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes59" typeId="oneCallMinutely"/>
<channel-group id="forecastMinutes60" typeId="oneCallMinutely"/>
<channel-group id="forecastHours01" typeId="oneCallHourly"/>
<channel-group id="forecastHours02" typeId="oneCallHourly"/>
<channel-group id="forecastHours03" typeId="oneCallHourly"/>
<channel-group id="forecastHours04" typeId="oneCallHourly"/>
<channel-group id="forecastHours05" typeId="oneCallHourly"/>
<channel-group id="forecastHours06" typeId="oneCallHourly"/>
<channel-group id="forecastHours07" typeId="oneCallHourly"/>
<channel-group id="forecastHours08" typeId="oneCallHourly"/>
<channel-group id="forecastHours09" typeId="oneCallHourly"/>
<channel-group id="forecastHours10" typeId="oneCallHourly"/>
<channel-group id="forecastHours11" typeId="oneCallHourly"/>
<channel-group id="forecastHours12" typeId="oneCallHourly"/>
<channel-group id="forecastHours13" typeId="oneCallHourly"/>
<channel-group id="forecastHours14" typeId="oneCallHourly"/>
<channel-group id="forecastHours15" typeId="oneCallHourly"/>
<channel-group id="forecastHours16" typeId="oneCallHourly"/>
<channel-group id="forecastHours17" typeId="oneCallHourly"/>
<channel-group id="forecastHours18" typeId="oneCallHourly"/>
<channel-group id="forecastHours19" typeId="oneCallHourly"/>
<channel-group id="forecastHours20" typeId="oneCallHourly"/>
<channel-group id="forecastHours21" typeId="oneCallHourly"/>
<channel-group id="forecastHours22" typeId="oneCallHourly"/>
<channel-group id="forecastHours23" typeId="oneCallHourly"/>
<channel-group id="forecastHours24" typeId="oneCallHourly"/>
<channel-group id="forecastToday" typeId="oneCallDaily">
<label>One Call API Todays Forecast</label>
<description>This is the weather forecast for today from the one call API.</description>
</channel-group>
<channel-group id="forecastTomorrow" typeId="oneCallDaily">
<label>One Call API Tomorrows Forecast</label>
<description>This is the weather forecast for tomorrow from the one call API.</description>
</channel-group>
<channel-group id="forecastDay2" typeId="oneCallDaily">
<label>One Call API 2 Day Forecast</label>
<description>This is the weather forecast in two days from the one call API.</description>
</channel-group>
<channel-group id="forecastDay3" typeId="oneCallDaily">
<label>One Call API 3 Day Forecast</label>
<description>This is the weather forecast in three days from the one call API.</description>
</channel-group>
<channel-group id="forecastDay4" typeId="oneCallDaily">
<label>One Call API 4 Day Forecast</label>
<description>This is the weather forecast in four days from the one call API.</description>
</channel-group>
<channel-group id="forecastDay5" typeId="oneCallDaily">
<label>One Call API 5 Day Forecast</label>
<description>This is the weather forecast in five days from the one call API.</description>
</channel-group>
<channel-group id="forecastDay6" typeId="oneCallDaily">
<label>One Call API 6 Day Forecast</label>
<description>This is the weather forecast in six days from the one call API.</description>
</channel-group>
<channel-group id="forecastDay7" typeId="oneCallDaily">
<label>One Call API 7 Day Forecast</label>
<description>This is the weather forecast in seven days from the one call API.</description>
</channel-group>
</channel-groups>
<representation-property>location</representation-property>
<config-description-ref uri="thing-type:openweathermap:onecall"/>
</thing-type>
<thing-type id="onecall-history">
<supported-bridge-type-refs>
<bridge-type-ref id="weather-api"/>
</supported-bridge-type-refs>
<label>One Call API Historical data</label>
<description>Provides historical weather data from the OpenWeatherMap One Call API.</description>
<channel-groups>
<channel-group id="history" typeId="oneCallHistory"/>
<channel-group id="historyHours01" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours02" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours03" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours04" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours05" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours06" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours07" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours08" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours09" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours10" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours11" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours12" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours13" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours14" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours15" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours16" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours17" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours18" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours19" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours20" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours21" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours22" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours23" typeId="oneCallHistoryHours"/>
<channel-group id="historyHours24" typeId="oneCallHistoryHours"/>
</channel-groups>
<representation-property>location</representation-property>
<config-description-ref uri="thing-type:openweathermap:onecall-history"/>
</thing-type>
</thing:thing-descriptions>