great, much appreciated.
Someone should check this config based arrengement, but it should work for most of the provided channel-data. If something is missing or wrong please tell me.
openweathermap.things:
you have to fill in yourAPIkey
and your location in latlong at xx.xxx,xx.xxx
Bridge openweathermap:weather-api:api "OpenWeatherMap Account" [apikey="yourAPIkey", refreshInterval=10, language="de"]
{
//Thing onecall local "Local Weather and Forecast" [location="xx.xxx,xx.xxx"]
Thing weatherandforecast local "Local Weather And Forecast" [location="xx.xxx,xx.xxx", forecastDays=4]
Thing onecall local "OneCall API" [location="xx.xxx,xx.xxx", forecastHours=48, forecastDays=7]
}
openweathermap.items: (part1)
item localCurrent_StationName doesn’t work in my case, but I was to lazy to fix this
//Current Weather
Group localCurrent_Weather
String localCurrent_StationName "Name [%s]" (localCurrent_Weather) { channel="openweathermap:weather-and-forecast:api:local:station#name" }
DateTime localCurrent_LastMeasurement "Timestamp of Last Measurement [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#time-stamp" }
DateTime localCurrent_TodaySunrise "Todays Sunrise [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#sunrise" }
DateTime localCurrent_TodaySunset "Todays Sunset [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#sunset" }
String localCurrent_Condition "Current Condition [%s]" <sun_clouds> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#condition" }
Image localCurrent_Icon "Icon" (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#icon" }
String localCurrent_Iconid "[%s]" (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#icon-id" }
Number:Temperature localCurrent_Temperature "Current Temperature [%.1f %unit%]" <temperature> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#temperature" }
Number:Temperature localCurrent_Apparenttemperature "Current Apparent Temperature [%.1f %unit%]" <temperature> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#apparent-temperature" }
Number:Pressure localCurrent_Pressure "Current barometric Pressure [%.1f %unit%]" <pressure> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#pressure" }
Number:Dimensionless localCurrent_Humidity "Current atmospheric Humidity [%d %unit%]" <humidity> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#humidity" }
Number:Speed localCurrent_Windspeed "Current wind Speed [%.1f km/h]" <wind> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#wind-speed" }
Number:Angle localCurrent_WindDirection "Current wind Direction [%d %unit%]" <wind> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#wind-direction" }
Number:Speed localCurrent_GustSpeed "Current Gust Speed [%.1f km/h]" <wind> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#gust-speed" }
Number:Dimensionless localCurrent_Cloudiness "Current cloudiness [%d %unit%]" <clouds> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#cloudiness" }
Number:Length localCurrent_RainVolume "Current rain volume [%.1f %unit%]" <rain> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#rain" }
Number:Length localCurrent_SnowVolume "Current snow volume [%.1f %unit%]" <snow> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#snow" }
Number:Length localCurrent_Visibility "Current visibility [%.1f km]" <visibility> (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#visibility" }
Number:Dimensionless localCurrent_Uvindex "Current UV Index [%d]" (localCurrent_Weather) { channel="openweathermap:onecall:api:local:current#uvindex" }
//Forecast 1 hour
Group localForecastHours01
DateTime localForecastHours01_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#time-stamp" }
String localForecastHours01_Condition "Condition [%s]" <sun_clouds> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#condition" }
Image localForecastHours01_ConditionIcon "Icon" (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#icon" }
Number:Temperature localForecastHours01_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#temperature" }
Number:Temperature localForecastHours01_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#apparent-temperature" }
Number:Pressure localForecastHours01_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#pressure" }
Number:Dimensionless localForecastHours01_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#humidity" }
Number:Speed localForecastHours01_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#wind-speed" }
Number:Angle localForecastHours01_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#wind-direction" }
Number:Speed localForecastHours01_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#gust-speed" }
Number:Dimensionless localForecastHours01_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#cloudiness" }
Number:Length localForecastHours01_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#rain" }
Number:Length localForecastHours01_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#snow" }
//Number:Length localForecastHours01_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#visibility" }
Number:Dimensionless localForecastHours01_Precipprobability "Precipitation probability [%.0f]" (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#precip-probability" }
String localForecastHours01_Iconid "[%s]" (localForecastHours01) { channel="openweathermap:onecall:api:local:forecastHours01#icon-id" }
//Forecast 2 hours
Group localForecastHours02
DateTime localForecastHours02_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#time-stamp" }
String localForecastHours02_Condition "Condition [%s]" <sun_clouds> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#condition" }
Image localForecastHours02_ConditionIcon "Icon" (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#icon" }
Number:Temperature localForecastHours02_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#temperature" }
Number:Temperature localForecastHours02_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#apparent-temperature" }
Number:Pressure localForecastHours02_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#pressure" }
Number:Dimensionless localForecastHours02_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#humidity" }
Number:Speed localForecastHours02_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#wind-speed" }
Number:Angle localForecastHours02_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#wind-direction" }
Number:Speed localForecastHours02_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#gust-speed" }
Number:Dimensionless localForecastHours02_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#cloudiness" }
Number:Length localForecastHours02_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#rain" }
Number:Length localForecastHours02_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#snow" }
//Number:Length localForecastHours02_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#visibility" }
Number:Dimensionless localForecastHours02_Precipprobability "Precipitation probability [%.0f]" (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#precip-probability" }
String localForecastHours02_Iconid "[%s]" (localForecastHours02) { channel="openweathermap:onecall:api:local:forecastHours02#icon-id" }
//Forecast 3 hours
Group localForecastHours03
DateTime localForecastHours03_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#time-stamp" }
String localForecastHours03_Condition "Condition [%s]" <sun_clouds> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#condition" }
Image localForecastHours03_ConditionIcon "Icon" (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#icon" }
Number:Temperature localForecastHours03_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#temperature" }
Number:Temperature localForecastHours03_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#apparent-temperature" }
Number:Pressure localForecastHours03_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#pressure" }
Number:Dimensionless localForecastHours03_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#humidity" }
Number:Speed localForecastHours03_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#wind-speed" }
Number:Angle localForecastHours03_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#wind-direction" }
Number:Speed localForecastHours03_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#gust-speed" }
Number:Dimensionless localForecastHours03_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#cloudiness" }
Number:Length localForecastHours03_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#rain" }
Number:Length localForecastHours03_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#snow" }
//Number:Length localForecastHours03_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#visibility" }
Number:Dimensionless localForecastHours03_Precipprobability "Precipitation probability [%.0f]" (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#precip-probability" }
String localForecastHours03_Iconid "[%s]" (localForecastHours03) { channel="openweathermap:onecall:api:local:forecastHours03#icon-id" }
//Forecast 4 hours
Group localForecastHours04
DateTime localForecastHours04_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#time-stamp" }
String localForecastHours04_Condition "Condition [%s]" <sun_clouds> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#condition" }
Image localForecastHours04_ConditionIcon "Icon" (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#icon" }
Number:Temperature localForecastHours04_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#temperature" }
Number:Temperature localForecastHours04_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#apparent-temperature" }
Number:Pressure localForecastHours04_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#pressure" }
Number:Dimensionless localForecastHours04_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#humidity" }
Number:Speed localForecastHours04_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#wind-speed" }
Number:Angle localForecastHours04_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#wind-direction" }
Number:Speed localForecastHours04_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#gust-speed" }
Number:Dimensionless localForecastHours04_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#cloudiness" }
Number:Length localForecastHours04_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#rain" }
Number:Length localForecastHours04_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#snow" }
//Number:Length localForecastHours04_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#visibility" }
Number:Dimensionless localForecastHours04_Precipprobability "Precipitation probability [%.0f]" (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#precip-probability" }
String localForecastHours04_Iconid "[%s]" (localForecastHours04) { channel="openweathermap:onecall:api:local:forecastHours04#icon-id" }
//Forecast 5 hours
Group localForecastHours05
DateTime localForecastHours05_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#time-stamp" }
String localForecastHours05_Condition "Condition [%s]" <sun_clouds> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#condition" }
Image localForecastHours05_ConditionIcon "Icon" (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#icon" }
Number:Temperature localForecastHours05_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#temperature" }
Number:Temperature localForecastHours05_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#apparent-temperature" }
Number:Pressure localForecastHours05_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#pressure" }
Number:Dimensionless localForecastHours05_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#humidity" }
Number:Speed localForecastHours05_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#wind-speed" }
Number:Angle localForecastHours05_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#wind-direction" }
Number:Speed localForecastHours05_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#gust-speed" }
Number:Dimensionless localForecastHours05_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#cloudiness" }
Number:Length localForecastHours05_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#rain" }
Number:Length localForecastHours05_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#snow" }
//Number:Length localForecastHours05_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#visibility" }
Number:Dimensionless localForecastHours05_Precipprobability "Precipitation probability [%.0f]" (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#precip-probability" }
String localForecastHours05_Iconid "[%s]" (localForecastHours05) { channel="openweathermap:onecall:api:local:forecastHours05#icon-id" }
//Forecast 6 hours
Group localForecastHours06
DateTime localForecastHours06_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#time-stamp" }
String localForecastHours06_Condition "Condition [%s]" <sun_clouds> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#condition" }
Image localForecastHours06_ConditionIcon "Icon" (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#icon" }
Number:Temperature localForecastHours06_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#temperature" }
Number:Temperature localForecastHours06_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#apparent-temperature" }
Number:Pressure localForecastHours06_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#pressure" }
Number:Dimensionless localForecastHours06_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#humidity" }
Number:Speed localForecastHours06_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#wind-speed" }
Number:Angle localForecastHours06_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#wind-direction" }
Number:Speed localForecastHours06_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#gust-speed" }
Number:Dimensionless localForecastHours06_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#cloudiness" }
Number:Length localForecastHours06_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#rain" }
Number:Length localForecastHours06_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#snow" }
//Number:Length localForecastHours06_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#visibility" }
Number:Dimensionless localForecastHours06_Precipprobability "Precipitation probability [%.0f]" (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#precip-probability" }
String localForecastHours06_Iconid "[%s]" (localForecastHours06) { channel="openweathermap:onecall:api:local:forecastHours06#icon-id" }
//Forecast 7 hours
Group localForecastHours07
DateTime localForecastHours07_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#time-stamp" }
String localForecastHours07_Condition "Condition [%s]" <sun_clouds> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#condition" }
Image localForecastHours07_ConditionIcon "Icon" (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#icon" }
Number:Temperature localForecastHours07_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#temperature" }
Number:Temperature localForecastHours07_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#apparent-temperature" }
Number:Pressure localForecastHours07_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#pressure" }
Number:Dimensionless localForecastHours07_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#humidity" }
Number:Speed localForecastHours07_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#wind-speed" }
Number:Angle localForecastHours07_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#wind-direction" }
Number:Speed localForecastHours07_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#gust-speed" }
Number:Dimensionless localForecastHours07_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#cloudiness" }
Number:Length localForecastHours07_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#rain" }
Number:Length localForecastHours07_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#snow" }
//Number:Length localForecastHours07_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#visibility" }
Number:Dimensionless localForecastHours07_Precipprobability "Precipitation probability [%.0f]" (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#precip-probability" }
String localForecastHours07_Iconid "[%s]" (localForecastHours07) { channel="openweathermap:onecall:api:local:forecastHours07#icon-id" }
//Forecast 8 hours
Group localForecastHours08
DateTime localForecastHours08_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#time-stamp" }
String localForecastHours08_Condition "Condition [%s]" <sun_clouds> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#condition" }
Image localForecastHours08_ConditionIcon "Icon" (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#icon" }
Number:Temperature localForecastHours08_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#temperature" }
Number:Temperature localForecastHours08_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#apparent-temperature" }
Number:Pressure localForecastHours08_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#pressure" }
Number:Dimensionless localForecastHours08_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#humidity" }
Number:Speed localForecastHours08_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#wind-speed" }
Number:Angle localForecastHours08_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#wind-direction" }
Number:Speed localForecastHours08_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#gust-speed" }
Number:Dimensionless localForecastHours08_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#cloudiness" }
Number:Length localForecastHours08_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#rain" }
Number:Length localForecastHours08_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#snow" }
//Number:Length localForecastHours08_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#visibility" }
Number:Dimensionless localForecastHours08_Precipprobability "Precipitation probability [%.0f]" (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#precip-probability" }
String localForecastHours08_Iconid "[%s]" (localForecastHours08) { channel="openweathermap:onecall:api:local:forecastHours08#icon-id" }
//Forecast 9 hours
Group localForecastHours09
DateTime localForecastHours09_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#time-stamp" }
String localForecastHours09_Condition "Condition [%s]" <sun_clouds> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#condition" }
Image localForecastHours09_ConditionIcon "Icon" (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#icon" }
Number:Temperature localForecastHours09_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#temperature" }
Number:Temperature localForecastHours09_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#apparent-temperature" }
Number:Pressure localForecastHours09_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#pressure" }
Number:Dimensionless localForecastHours09_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#humidity" }
Number:Speed localForecastHours09_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#wind-speed" }
Number:Angle localForecastHours09_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#wind-direction" }
Number:Speed localForecastHours09_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#gust-speed" }
Number:Dimensionless localForecastHours09_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#cloudiness" }
Number:Length localForecastHours09_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#rain" }
Number:Length localForecastHours09_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#snow" }
//Number:Length localForecastHours09_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#visibility" }
Number:Dimensionless localForecastHours09_Precipprobability "Precipitation probability [%.0f]" (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#precip-probability" }
String localForecastHours09_Iconid "[%s]" (localForecastHours09) { channel="openweathermap:onecall:api:local:forecastHours09#icon-id" }
//Forecast 10 hours
Group localForecastHours10
DateTime localForecastHours10_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#time-stamp" }
String localForecastHours10_Condition "Condition [%s]" <sun_clouds> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#condition" }
Image localForecastHours10_ConditionIcon "Icon" (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#icon" }
Number:Temperature localForecastHours10_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#temperature" }
Number:Temperature localForecastHours10_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#apparent-temperature" }
Number:Pressure localForecastHours10_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#pressure" }
Number:Dimensionless localForecastHours10_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#humidity" }
Number:Speed localForecastHours10_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#wind-speed" }
Number:Angle localForecastHours10_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#wind-direction" }
Number:Speed localForecastHours10_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#gust-speed" }
Number:Dimensionless localForecastHours10_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#cloudiness" }
Number:Length localForecastHours10_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#rain" }
Number:Length localForecastHours10_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#snow" }
//Number:Length localForecastHours10_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#visibility" }
Number:Dimensionless localForecastHours10_Precipprobability "Precipitation probability [%.0f]" (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#precip-probability" }
String localForecastHours10_Iconid "[%s]" (localForecastHours10) { channel="openweathermap:onecall:api:local:forecastHours10#icon-id" }
//Forecast 11 hours
Group localForecastHours11
DateTime localForecastHours11_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#time-stamp" }
String localForecastHours11_Condition "Condition [%s]" <sun_clouds> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#condition" }
Image localForecastHours11_ConditionIcon "Icon" (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#icon" }
Number:Temperature localForecastHours11_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#temperature" }
Number:Temperature localForecastHours11_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#apparent-temperature" }
Number:Pressure localForecastHours11_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#pressure" }
Number:Dimensionless localForecastHours11_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#humidity" }
Number:Speed localForecastHours11_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#wind-speed" }
Number:Angle localForecastHours11_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#wind-direction" }
Number:Speed localForecastHours11_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#gust-speed" }
Number:Dimensionless localForecastHours11_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#cloudiness" }
Number:Length localForecastHours11_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#rain" }
Number:Length localForecastHours11_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#snow" }
//Number:Length localForecastHours11_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#visibility" }
Number:Dimensionless localForecastHours11_Precipprobability "Precipitation probability [%.0f]" (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#precip-probability" }
String localForecastHours11_Iconid "[%s]" (localForecastHours11) { channel="openweathermap:onecall:api:local:forecastHours11#icon-id" }
//Forecast 12 hours
Group localForecastHours12
DateTime localForecastHours12_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#time-stamp" }
String localForecastHours12_Condition "Condition [%s]" <sun_clouds> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#condition" }
Image localForecastHours12_ConditionIcon "Icon" (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#icon" }
Number:Temperature localForecastHours12_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#temperature" }
Number:Temperature localForecastHours12_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#apparent-temperature" }
Number:Pressure localForecastHours12_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#pressure" }
Number:Dimensionless localForecastHours12_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#humidity" }
Number:Speed localForecastHours12_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#wind-speed" }
Number:Angle localForecastHours12_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#wind-direction" }
Number:Speed localForecastHours12_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#gust-speed" }
Number:Dimensionless localForecastHours12_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#cloudiness" }
Number:Length localForecastHours12_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#rain" }
Number:Length localForecastHours12_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#snow" }
//Number:Length localForecastHours12_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#visibility" }
Number:Dimensionless localForecastHours12_Precipprobability "Precipitation probability [%.0f]" (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#precip-probability" }
String localForecastHours12_Iconid "[%s]" (localForecastHours12) { channel="openweathermap:onecall:api:local:forecastHours12#icon-id" }
openweathermap.items: (part2)
//Forecast 13 hours
Group localForecastHours13
DateTime localForecastHours13_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#time-stamp" }
String localForecastHours13_Condition "Condition [%s]" <sun_clouds> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#condition" }
Image localForecastHours13_ConditionIcon "Icon" (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#icon" }
Number:Temperature localForecastHours13_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#temperature" }
Number:Temperature localForecastHours13_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#apparent-temperature" }
Number:Pressure localForecastHours13_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#pressure" }
Number:Dimensionless localForecastHours13_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#humidity" }
Number:Speed localForecastHours13_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#wind-speed" }
Number:Angle localForecastHours13_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#wind-direction" }
Number:Speed localForecastHours13_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#gust-speed" }
Number:Dimensionless localForecastHours13_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#cloudiness" }
Number:Length localForecastHours13_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#rain" }
Number:Length localForecastHours13_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#snow" }
//Number:Length localForecastHours13_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#visibility" }
Number:Dimensionless localForecastHours13_Precipprobability "Precipitation probability [%.0f]" (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#precip-probability" }
String localForecastHours13_Iconid "[%s]" (localForecastHours13) { channel="openweathermap:onecall:api:local:forecastHours13#icon-id" }
//Forecast 14 hours
Group localForecastHours14
DateTime localForecastHours14_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#time-stamp" }
String localForecastHours14_Condition "Condition [%s]" <sun_clouds> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#condition" }
Image localForecastHours14_ConditionIcon "Icon" (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#icon" }
Number:Temperature localForecastHours14_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#temperature" }
Number:Temperature localForecastHours14_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#apparent-temperature" }
Number:Pressure localForecastHours14_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#pressure" }
Number:Dimensionless localForecastHours14_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#humidity" }
Number:Speed localForecastHours14_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#wind-speed" }
Number:Angle localForecastHours14_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#wind-direction" }
Number:Speed localForecastHours14_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#gust-speed" }
Number:Dimensionless localForecastHours14_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#cloudiness" }
Number:Length localForecastHours14_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#rain" }
Number:Length localForecastHours14_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#snow" }
//Number:Length localForecastHours14_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#visibility" }
Number:Dimensionless localForecastHours14_Precipprobability "Precipitation probability [%.0f]" (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#precip-probability" }
String localForecastHours14_Iconid "[%s]" (localForecastHours14) { channel="openweathermap:onecall:api:local:forecastHours14#icon-id" }
//Forecast 15 hours
Group localForecastHours15
DateTime localForecastHours15_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#time-stamp" }
String localForecastHours15_Condition "Condition [%s]" <sun_clouds> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#condition" }
Image localForecastHours15_ConditionIcon "Icon" (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#icon" }
Number:Temperature localForecastHours15_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#temperature" }
Number:Temperature localForecastHours15_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#apparent-temperature" }
Number:Pressure localForecastHours15_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#pressure" }
Number:Dimensionless localForecastHours15_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#humidity" }
Number:Speed localForecastHours15_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#wind-speed" }
Number:Angle localForecastHours15_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#wind-direction" }
Number:Speed localForecastHours15_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#gust-speed" }
Number:Dimensionless localForecastHours15_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#cloudiness" }
Number:Length localForecastHours15_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#rain" }
Number:Length localForecastHours15_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#snow" }
//Number:Length localForecastHours15_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#visibility" }
Number:Dimensionless localForecastHours15_Precipprobability "Precipitation probability [%.0f]" (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#precip-probability" }
String localForecastHours15_Iconid "[%s]" (localForecastHours15) { channel="openweathermap:onecall:api:local:forecastHours15#icon-id" }
//Forecast 16 hours
Group localForecastHours16
DateTime localForecastHours16_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#time-stamp" }
String localForecastHours16_Condition "Condition [%s]" <sun_clouds> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#condition" }
Image localForecastHours16_ConditionIcon "Icon" (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#icon" }
Number:Temperature localForecastHours16_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#temperature" }
Number:Temperature localForecastHours16_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#apparent-temperature" }
Number:Pressure localForecastHours16_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#pressure" }
Number:Dimensionless localForecastHours16_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#humidity" }
Number:Speed localForecastHours16_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#wind-speed" }
Number:Angle localForecastHours16_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#wind-direction" }
Number:Speed localForecastHours16_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#gust-speed" }
Number:Dimensionless localForecastHours16_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#cloudiness" }
Number:Length localForecastHours16_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#rain" }
Number:Length localForecastHours16_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#snow" }
//Number:Length localForecastHours16_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#visibility" }
Number:Dimensionless localForecastHours16_Precipprobability "Precipitation probability [%.0f]" (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#precip-probability" }
String localForecastHours16_Iconid "[%s]" (localForecastHours16) { channel="openweathermap:onecall:api:local:forecastHours16#icon-id" }
//Forecast 17 hours
Group localForecastHours17
DateTime localForecastHours17_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#time-stamp" }
String localForecastHours17_Condition "Condition [%s]" <sun_clouds> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#condition" }
Image localForecastHours17_ConditionIcon "Icon" (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#icon" }
Number:Temperature localForecastHours17_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#temperature" }
Number:Temperature localForecastHours17_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#apparent-temperature" }
Number:Pressure localForecastHours17_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#pressure" }
Number:Dimensionless localForecastHours17_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#humidity" }
Number:Speed localForecastHours17_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#wind-speed" }
Number:Angle localForecastHours17_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#wind-direction" }
Number:Speed localForecastHours17_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#gust-speed" }
Number:Dimensionless localForecastHours17_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#cloudiness" }
Number:Length localForecastHours17_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#rain" }
Number:Length localForecastHours17_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#snow" }
//Number:Length localForecastHours17_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#visibility" }
Number:Dimensionless localForecastHours17_Precipprobability "Precipitation probability [%.0f]" (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#precip-probability" }
String localForecastHours17_Iconid "[%s]" (localForecastHours17) { channel="openweathermap:onecall:api:local:forecastHours17#icon-id" }
//Forecast 18 hours
Group localForecastHours18
DateTime localForecastHours18_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#time-stamp" }
String localForecastHours18_Condition "Condition [%s]" <sun_clouds> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#condition" }
Image localForecastHours18_ConditionIcon "Icon" (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#icon" }
Number:Temperature localForecastHours18_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#temperature" }
Number:Temperature localForecastHours18_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#apparent-temperature" }
Number:Pressure localForecastHours18_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#pressure" }
Number:Dimensionless localForecastHours18_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#humidity" }
Number:Speed localForecastHours18_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#wind-speed" }
Number:Angle localForecastHours18_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#wind-direction" }
Number:Speed localForecastHours18_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#gust-speed" }
Number:Dimensionless localForecastHours18_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#cloudiness" }
Number:Length localForecastHours18_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#rain" }
Number:Length localForecastHours18_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#snow" }
//Number:Length localForecastHours18_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#visibility" }
Number:Dimensionless localForecastHours18_Precipprobability "Precipitation probability [%.0f]" (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#precip-probability" }
String localForecastHours18_Iconid "[%s]" (localForecastHours18) { channel="openweathermap:onecall:api:local:forecastHours18#icon-id" }
//Forecast 19 hours
Group localForecastHours19
DateTime localForecastHours19_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#time-stamp" }
String localForecastHours19_Condition "Condition [%s]" <sun_clouds> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#condition" }
Image localForecastHours19_ConditionIcon "Icon" (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#icon" }
Number:Temperature localForecastHours19_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#temperature" }
Number:Temperature localForecastHours19_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#apparent-temperature" }
Number:Pressure localForecastHours19_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#pressure" }
Number:Dimensionless localForecastHours19_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#humidity" }
Number:Speed localForecastHours19_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#wind-speed" }
Number:Angle localForecastHours19_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#wind-direction" }
Number:Speed localForecastHours19_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#gust-speed" }
Number:Dimensionless localForecastHours19_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#cloudiness" }
Number:Length localForecastHours19_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#rain" }
Number:Length localForecastHours19_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#snow" }
//Number:Length localForecastHours19_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#visibility" }
Number:Dimensionless localForecastHours19_Precipprobability "Precipitation probability [%.0f]" (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#precip-probability" }
String localForecastHours19_Iconid "[%s]" (localForecastHours19) { channel="openweathermap:onecall:api:local:forecastHours19#icon-id" }
//Forecast 20 hours
Group localForecastHours20
DateTime localForecastHours20_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#time-stamp" }
String localForecastHours20_Condition "Condition [%s]" <sun_clouds> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#condition" }
Image localForecastHours20_ConditionIcon "Icon" (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#icon" }
Number:Temperature localForecastHours20_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#temperature" }
Number:Temperature localForecastHours20_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#apparent-temperature" }
Number:Pressure localForecastHours20_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#pressure" }
Number:Dimensionless localForecastHours20_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#humidity" }
Number:Speed localForecastHours20_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#wind-speed" }
Number:Angle localForecastHours20_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#wind-direction" }
Number:Speed localForecastHours20_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#gust-speed" }
Number:Dimensionless localForecastHours20_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#cloudiness" }
Number:Length localForecastHours20_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#rain" }
Number:Length localForecastHours20_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#snow" }
//Number:Length localForecastHours20_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#visibility" }
Number:Dimensionless localForecastHours20_Precipprobability "Precipitation probability [%.0f]" (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#precip-probability" }
String localForecastHours20_Iconid "[%s]" (localForecastHours20) { channel="openweathermap:onecall:api:local:forecastHours20#icon-id" }
//Forecast 21 hours
Group localForecastHours21
DateTime localForecastHours21_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#time-stamp" }
String localForecastHours21_Condition "Condition [%s]" <sun_clouds> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#condition" }
Image localForecastHours21_ConditionIcon "Icon" (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#icon" }
Number:Temperature localForecastHours21_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#temperature" }
Number:Temperature localForecastHours21_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#apparent-temperature" }
Number:Pressure localForecastHours21_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#pressure" }
Number:Dimensionless localForecastHours21_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#humidity" }
Number:Speed localForecastHours21_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#wind-speed" }
Number:Angle localForecastHours21_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#wind-direction" }
Number:Speed localForecastHours21_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#gust-speed" }
Number:Dimensionless localForecastHours21_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#cloudiness" }
Number:Length localForecastHours21_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#rain" }
Number:Length localForecastHours21_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#snow" }
//Number:Length localForecastHours21_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#visibility" }
Number:Dimensionless localForecastHours21_Precipprobability "Precipitation probability [%.0f]" (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#precip-probability" }
String localForecastHours21_Iconid "[%s]" (localForecastHours21) { channel="openweathermap:onecall:api:local:forecastHours21#icon-id" }
//Forecast 22 hours
Group localForecastHours22
DateTime localForecastHours22_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#time-stamp" }
String localForecastHours22_Condition "Condition [%s]" <sun_clouds> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#condition" }
Image localForecastHours22_ConditionIcon "Icon" (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#icon" }
Number:Temperature localForecastHours22_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#temperature" }
Number:Temperature localForecastHours22_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#apparent-temperature" }
Number:Pressure localForecastHours22_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#pressure" }
Number:Dimensionless localForecastHours22_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#humidity" }
Number:Speed localForecastHours22_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#wind-speed" }
Number:Angle localForecastHours22_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#wind-direction" }
Number:Speed localForecastHours22_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#gust-speed" }
Number:Dimensionless localForecastHours22_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#cloudiness" }
Number:Length localForecastHours22_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#rain" }
Number:Length localForecastHours22_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#snow" }
//Number:Length localForecastHours22_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#visibility" }
Number:Dimensionless localForecastHours22_Precipprobability "Precipitation probability [%.0f]" (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#precip-probability" }
String localForecastHours22_Iconid "[%s]" (localForecastHours22) { channel="openweathermap:onecall:api:local:forecastHours22#icon-id" }
//Forecast 23 hours
Group localForecastHours23
DateTime localForecastHours23_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#time-stamp" }
String localForecastHours23_Condition "Condition [%s]" <sun_clouds> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#condition" }
Image localForecastHours23_ConditionIcon "Icon" (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#icon" }
Number:Temperature localForecastHours23_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#temperature" }
Number:Temperature localForecastHours23_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#apparent-temperature" }
Number:Pressure localForecastHours23_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#pressure" }
Number:Dimensionless localForecastHours23_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#humidity" }
Number:Speed localForecastHours23_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#wind-speed" }
Number:Angle localForecastHours23_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#wind-direction" }
Number:Speed localForecastHours23_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#gust-speed" }
Number:Dimensionless localForecastHours23_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#cloudiness" }
Number:Length localForecastHours23_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#rain" }
Number:Length localForecastHours23_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#snow" }
//Number:Length localForecastHours23_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#visibility" }
Number:Dimensionless localForecastHours23_Precipprobability "Precipitation probability [%.0f]" (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#precip-probability" }
String localForecastHours23_Iconid "[%s]" (localForecastHours23) { channel="openweathermap:onecall:api:local:forecastHours23#icon-id" }
//Forecast 24 hours
Group localForecastHours24
DateTime localForecastHours24_ForecastTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#time-stamp" }
String localForecastHours24_Condition "Condition [%s]" <sun_clouds> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#condition" }
Image localForecastHours24_ConditionIcon "Icon" (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#icon" }
Number:Temperature localForecastHours24_Temperature "Temperature [%.1f %unit%]" <temperature> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#temperature" }
Number:Temperature localForecastHours24_ApparentTemperature "Apparent temperature [%.1f %unit%]" <temperature> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#apparent-temperature" }
Number:Pressure localForecastHours24_Pressure "Barometric pressure [%.1f %unit%]" <pressure> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#pressure" }
Number:Dimensionless localForecastHours24_Humidity "Atmospheric humidity [%d %unit%]" <humidity> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#humidity" }
Number:Speed localForecastHours24_Windspeed "Wind speed [%.1f km/h]" <wind> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#wind-speed" }
Number:Angle localForecastHours24_WindDirection "Wind direction [%d %unit%]" <wind> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#wind-direction" }
Number:Speed localForecastHours24_GustSpeed "Gust speed [%.1f km/h]" <wind> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#gust-speed" }
Number:Dimensionless localForecastHours24_Cloudiness "Cloudiness [%d %unit%]" <clouds> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#cloudiness" }
Number:Length localForecastHours24_RainVolume "Rain volume [%.1f %unit%]" <rain> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#rain" }
Number:Length localForecastHours24_SnowVolume "Snow volume [%.1f %unit%]" <snow> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#snow" }
//Number:Length localForecastHours24_Visibility "Visibility [%.1f km]" <visibility> (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#visibility" }
Number:Dimensionless localForecastHours24_Precipprobability "Precipitation probability [%.0f]" (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#precip-probability" }
String localForecastHours24_Iconid "[%s]" (localForecastHours24) { channel="openweathermap:onecall:api:local:forecastHours24#icon-id" }
The forum regulations wont let me post all in one reply and not more than 3 replies.
If someone is asking for, I will provide the missing code (until hour 48). and maybe someone tells me how to post more than 48000 characters
Hello,
awesome work, thanks to all contributors.
If my weather condition forecast is every 3 hour (accordingly to my UI configuration), how can i modify the code to display hourly condition every 3h instead of 1h ?
I suspect it is near line N° 363
item: "=((props.itemPrefix === undefined) ? '' : props.itemPrefix) + '' + ((loop.hour === 0) ? 'Current' : 'ForecastHours' + (loop.hour_idx+1).toString().padStart(2,'0')) + '_Icon'"
Thank you!
@cmar In my attempt to clean up this thread (including adding the promised item-overview as well as some other fixes for the already posted widgets) I can’t get around the character limit for postings currently.
So sadly you have to wait a bit longer (hopefully not that long) until I find a usefull soloution for this. Until then I will write you a PM and send you the current valid item-definitions.
@Muplex
I think this should be possible - I’ll look into this and get in touch with you if I found a way.
@RGroll
Thanks so much. Got it up and running.
Wouldn’t these item definitions be either make sense as accompanying data for the widget code, if that eventually goes into the marketplace that was discussed a while ago?
Alliteratively - and particularly for this binding - it would make sense as being part of the open-weather binding, even in these “UI-first” times. I on my part would definitely want to avoid the click-fest necessary to e.g.
- simply creating the items even through the Ad Equipment to Model path
- let alone make a few changes like
adding them to an additional group, renaming them for a second site or translating them into sth. else but English.
Further - and maybe a bit down the road - it would be really useful to require add-ons to provide a default widerte for visualization purposes (even if it is only used for initial setup/debugging purposes and later never gets used again, bc. the binding is used only for non-visual automation purposes).
just my 2c
Thanks again
Clemens
This would be nice, yes. But I’m not sure how the marketplace is exactly planned and whats the current state of this concept tbh.
But there might be a risk of giving too much control to widget developers so that ‘normal’ users does not understand, whats happening in their system anymore. Besides the fact that there is no fixed ‘ruleset’ currently, which defines how the item naming should be done - so that it might happen that different widgets for the same purpose creates different items which would mess up the system over time.
Nevertheless, I can imagine that there are ways around these challenges, like checking channels for already existing item-connections and / or adding the items only after confirmation by the user (e.g. clicking something that authorize the system to create these items)
You could theoretically just copy and paste the given item definitions into the system with the Expert Mode
within the Model point / equipment creation process - but this isn’t something a beginner might able to handle, especially when it comes to changing some of the definitions by hand to fit their setup (e.g. Bridge Thing naming or Group-affiliation)
Sounds good and I´m with you here but I’m afraid this isn’t something that is easy to accomplish, with all the complexity that OH offers. But I know that there are efforts tweaking the system to optimize it’s UX in the future.
I’m not sure if I understand you here (it might be a translation problem on my side )
- What exactly you mean with ‘add-ons’?
Thanks for your efforts!
Thanks for the reply @RGroll
A solution for a duplicate item problem might be to introduce a name-space concept that goes beyond a mere naming scheme.
My installation - with the almost complete port of my 2.5 installation (and the addition of 600+ weather items) - is now well beyond 1000 items. All of these in a list in the UI with little or no structure is quite challenging (I know that one can pin items to the developer panel).
Let me clarify my last point (and correct a spelling error on my end): With add-ons I mean bindings and
I would really like to see bindings (particularly more complex ones) to be “delivered” with a default visualization / default widget. Bindings that provide single data points or a small handful are possibly ok, but even there I´d consider it useful (i.e. for a color lamp hat has an on/off channel a color temp and a color picker), especially for newer users who - I believe - are overwhelmed by the complexity of the possibilities of our current UI-approach.
May I ask you, how you go about widget development? I find myself put back in my very early (and long ago) career days with rather clunky textual definitions of the UI and very poor UI support. Is there a better way than to open the YAML hope to find the right spot try something and test run it? Some way to draw/drag drop UI components?
I also had a situation, in which I had tried to add a component in the code view, test ran it - which did not work - only to find that the code had disappeared from the code view.
All the best
Clemens
hi,
many thanks for that nice widget! helped me also a bit in my learning process.
there’s one issue I got with the top field for stationName, temperature and apparent temperature. as you can see that field seems to be on the topmost layer, even when another widget should be on top. it’s not browser related, same issue on openHAB app.
Hey @powerpolly
thanks for the hint and your nice words!
As I updated this widget and aligned the itemNamings with the other widgets now, I can’t advise you to use the new version (as your item-namings might differ, based on the ‘old’ version)
So as an easy fix, go into the yaml and search for ‘z-index’ - change the values from ‘999’ to ‘99’
It seems i was a bit too ambitious with the z-index-structure of other components
Hope it will work for you!
Hey @Claes_Nordmark
for the widget that you choose, no. Theres no easy way to make it to a ‘card widget’ - but see post #1 for a card version of this weather widget with some more possibilites to tweak the look & feel.
TOP, thx
Hey @cmar
It goes beyond my expertise if this is possible to implement and what impact that might have on other sections of OH - but it sounds you have a lot of good ideas in mind, which should be disussed. Maybe it’s a good idea to create a separate thread for that, to get more attention to this topic.
Same here - I’m sure Yannick and others would be happy to get some help (or even ideas) how that could be optimized!
Would be nice, yes - but it might slow down the process of the binding development and a binding developer might have their problems digging into the UI creation as this isn’t their main ‘playfield’. I think it’s generally a good idea in an open-source project to make things available and let others contribute with things, that they feel experienced with.
But I get your point and especially for beginners this would help. But nearly (if not all) bindings (+ their channels) could be visualized in the current UI, with just the use of the ‘standard’ widgets, I think. They might not be “fancy” for all usecases, but they work.
Maybe it would be enough to have a demo-implementation of the most commonly used binding channels in these standard widgets to make it easier for beginners finding a starting point. But as said, I think it’s on all of us, to create this ‘library’. The discussed widget marketplace will make all of this a lot easier, I think as it’s hard to find the correct thread in a forum with that much activity.
I try to make me a rough concept before I start, sometimes only in my head, sometimes on paper. As I get more and more familiar with the f7- as well as the custom oh-components, I try to think about how these components could fit together to achieve what I have in mind.
After that it’s more or less what you say - writing the YAML and test run it until I get something that fits my needs. And I have to be honest that some experience with HTML structures and especially CSS is helpfull here.
Currently theres no ‘easy’ drag and drop approach available for the widgets. The easiest starting point in my opinion is, to use the already created standard oh-components and trying to put them together in a way to something new arises (e.g. putting some buttons in a oh-label-card or similar)
This might not be fancy at the start but give s you a good understanding how everything fits together - and you’ll get more comfortable with it over time.
I started to digg into the UI without any clue what even YAML is and a poor knowledge of CSS - I just invested some time to try and understand - now I have a rough understanding of how everything works.
This sounds like you used invalid YAML syntax which will be removed after the initial saving of a widget.
Glad to have passionate people like you in the community!
aaaww!!! I want that, how can I get that?
Not yet available, as it needs to be dynamic for the implementation in the widget (which isn’t possible right now - or at least I don’t know yet, how to do it)
If I find a way, I will make it available here.
Hello RGroll,
thanks first of all for the great widgets! They help me extremely with the YAML but also the general conversion to OH3.
I have had the code adapted for me because I wanted to see some more information. After your last update I didn’t have the time to do that again. Maybe it is a suggestion to take over that or do you see maybe a possibility by means of checkbox to select what one on the 3 tabs everything would like to see?
Under Hourly I have the Current Temperature/Felt Temperature and below that the Wind Speed.
under Daily the same only instead of wind then rain probability.
and last and rain probability additionally the amount of precipitation, in my example you can see well why the amount was so important to me, because at 80% 0.0mmm rain falls sometimes.
The second thing I wanted to ask is, I have seen you have added an action. I have tried that and some “- component: Label” exchanged against “- component: oh-link”, thereby I can see by clicking on the temperature as the course of the variable was by means of “action: analyzer”. Your approach I find but just as practical to say I click on the widget and can do what I want, only unfortunately does not go both. As soon as I create an action in the settings, my actions are no longer selectable. Do you have an idea how it is possible to make the background and some variables (items) selectable at the same time?
I am looking forward to new ideas
You’re welcome!
Classical checkboxes won’t work here, but maybe I can make something up, that would allow to assign a dynamic amount of user-defined values to the swiper-elements. It should be doable.
I like the adjustments you made, especially the one with the amount of precipitation - it makes totaly sense and should be usefull for everyone so I might steal that - and I see you’ve replaced the |
-sign with /
, which makes sense as it seems the YAML syntax don’t like the |
-char very much.
If you have the components ordered that way, it should work out-of-the-box, as the components (oh-buttons
in this case) are ordered inside the action-component that acts as the trigger for the widget-action.
YAML example
uid: something
props:
parameters:
- description: Dummy parameter
name: dummy
type: TEXT
parameterGroups:
- name: widgetAction
context: action
label: Action
description: Action to perform when the element is clicked (<b>Experimental</b>)
component: f7-card
config:
class:
- padding
slots:
default:
- component: oh-button
config:
actionPropsParameterGroup: widgetAction
style:
position: absolute
width: 100%
height: 100%
top: 0
left: 0
- component: f7-row
slots:
default:
- component: oh-button
config:
text: "Link #1"
- component: oh-button
config:
text: "Link #2"
- component: oh-button
config:
text: "Link #3"
The other case would be that you have ordered your components outside of the widget-action component - in that case you should use the css property z-index
(read more about this property). You’ve to ensure that your widget-action component has a lower z-index
as the elements that you want to show on top of it.
YAML example
uid: something_else
props:
parameters:
- description: Dummy parameter
name: dummy
type: TEXT
parameterGroups:
- name: widgetAction
context: action
label: Action
description: Action to perform when the element is clicked (<b>Experimental</b>)
component: f7-card
config:
class:
- padding
slots:
default:
- component: f7-row
slots:
default:
- component: oh-button
config:
text: "Link #1"
style:
z-index: 2
- component: oh-button
config:
text: "Link #2"
style:
z-index: 2
- component: oh-button
config:
text: "Link #3"
style:
z-index: 2
- component: oh-button
config:
actionPropsParameterGroup: widgetAction
style:
position: absolute
width: 100%
height: 100%
top: 0
left: 0
z-index: 1
But be aware, there is a small bug in the widget-action currently which makes it impossible to set the parameters for the widget to open (but I’m sure this will be fixed soon).
Hope it helps.
Hey RGroll, hey everyone,
I am fairly new to OH in general and just started setting everything up, so I’m sorry for potentially dumb questions
I installed and set up the OWM binding using the thing- and item-defintions. When I am now trying to get the widgets to work and assign the itemPrefix and additonial itemPrefix via “Set Props”, the widget looks fine in the preview, but as soon as I save and leave the widget-configuration the itemPrefixes get deleteted and the widget doesn’t show any data anymore. Does anybody have an idea what I am doing wrong? Help would be greatly appreciated!
Thanks for all your great work
Catherina
Hey @MadOregano and welcome to the community!
You have to set the item prefixes in the page configuration.
Based on your explanation I would assume that you’ ve tried to set the properties in the widget-editor (in which the set properties will not be saved).
To do it via page config:
Click on Edit
in the top right corner of the page you want to add the widget to. Then Add Block
→ Add Row
→ Add Column
→ +
(Add) → Select the widget → Click the black square icon on the top right of the widget and select Configure Widget
→ Set-up the widget to your liking → Hit Save
in the widget as well as on the page and it should work!
P.S. If you want the widget to be smaller in width or if it should be resized based of the browser-size, you could do this via the Column Options
in the same menu.
Don’t hesitate to ask, if you need further help!