Yes - sorry - I missed that when using just a part of my weather rules…
Not a problem, glad it got solved…
Just like I said, you need to create a weather-<condition>.png
(or svg if that’s what you are using) for each and every condition and put it in icons/classic. Then you can use <weather>
for the Item icon and the icon will be chosen based on the state of the Item. See https://www.openhab.org/docs/configuration/items.html#dynamic-icons
gotcha
So I copied the item (and added my API to it), the rule and your frame (which I used to create its own sitemap). When I run openHAB the sitemap loads but all of the values are blank.
And here are the log comments:
2020-05-05 19:59:15.934 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
2020-05-05 19:59:15.958 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘gW_OWM_Future’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
2020-05-05 19:59:15.987 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘gW_OWM_Future’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
2020-05-05 19:59:16.018 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘gW_OWM_Future’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
What do I need to edit to make it work?
Thanks.
Mike
Assuming those Items/Groups exist for certain, was there an upgrade or clearing of the cache
immediately before theses errors? If so, simply restart OH. If not, verify that these Items exist and if in . items files that there isn’t an error in that file.
Sorry, I’ve been away from the computer the past few days…back to work as usual for now…I agree with Rich, sounds like you don’t have the items defined properly.
I still haven’t been able to get the rule file to work for the image changer, but I’ll have to tackle that when I have more time later this week.
Brandon -
I used NCO’s items and rules with your sitemap - which does have different items than NCO’s. Could you please post your rules and items? Thanks.
Mike
Not a problem.
The rules file:
> import org.eclipse.smarthome.model.script.ScriptServiceUtil
>
> // ***************** Extract Data from OWM hourly forecast into daily forecast
>
> rule "daily forecast for DayX"
>
> when
>
> Time cron "01 01 * * * ?" or Item W_OWM_ObservationTime changed or Item Trigger_Debug changed // every hour at x:01:01
>
> then
>
> var i = 0
>
> while ((i=i+1) < 5) {
>
> var j = i-1
>
> // check actual hour
>
> var Number hour = now.getHourOfDay
>
> var max = (((j * 24) + 12 - hour) / 3)
>
> var l = Math::round(max.floatValue)
>
> val int y = l * 3
>
> if(y > 0) { // means it's before 12 pm
>
> if(now.getHourOfDay == 0) { // at 0 am for min max temps of the entire day arranged in groups over 24 hrs
>
> // TempMin
>
> var tempMin = "G_W_Min" + j.toString // create item name string from prefix and approx hour for forecast
>
> val tempMinItem = ScriptServiceUtil.getItemRegistry.getItem(tempMin)
>
> var tempMinDay = "W_OWM_TempMinDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val tempMinDayItem = ScriptServiceUtil.getItemRegistry.getItem(tempMinDay)
>
> tempMinDayItem.postUpdate(tempMinItem.state) // postUpdate to W_OWM_TempMinDay i with data from W_OWM_Time in x hours
>
> // TempMax
>
> var tempMax = "G_W_Max" + j.toString // get max value for the group covering
>
> val tempMaxItem = ScriptServiceUtil.getItemRegistry.getItem(tempMax)
>
> var tempMaxDay = "W_OWM_TempMaxDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val tempMaxDayItem = ScriptServiceUtil.getItemRegistry.getItem(tempMaxDay)
>
> tempMaxDayItem.postUpdate(tempMaxItem.state) // postUpdate to W_OWM_TempMaxDay i with data from W_OWM_Time in x hours
>
> }
>
> else { // means y >= 0 && x >= 0, so before 4 am (and 12 pm)
>
> // Time
>
> var time = "W_OWM_Time" + y.toString // create item name string from prefix and approx hour for forecast
>
> val timeItem = ScriptServiceUtil.getItemRegistry.getItem(time)
>
> var timeDay = "W_OWM_TimeDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val timeDayItem = ScriptServiceUtil.getItemRegistry.getItem(timeDay)
>
> timeDayItem.postUpdate(timeItem.state) // postUpdate to W_OWM_TimeDay i with data from W_OWM_Time in x hours
>
> // Cond
>
> var cond = "W_OWM_Cond" + y.toString // create item name string from prefix and approx hour for forecast
>
> val condItem = ScriptServiceUtil.getItemRegistry.getItem(cond)
>
> var condDay = "W_OWM_CondDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val condDayItem = ScriptServiceUtil.getItemRegistry.getItem(condDay)
>
> condDayItem.postUpdate(condItem.state) // postUpdate to W_OWM_CondDay i with data from W_OWM_Time in x hours
>
> // CondID
>
> var condID = "W_OWM_CondID" + y.toString // create item name string from prefix and approx hour for forecast
>
> val condIDItem = ScriptServiceUtil.getItemRegistry.getItem(condID)
>
> var condIDDay = "W_OWM_CondIDDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val condIDDayItem = ScriptServiceUtil.getItemRegistry.getItem(condIDDay)
>
> condIDDayItem.postUpdate(condIDItem.state) // postUpdate to W_OWM_CondIDDay i with data from W_OWM_Time in x hours
>
> // Clouds
>
> var cloud = "W_OWM_Cloud" + y.toString // create item name string from prefix and approx hour for forecast
>
> val cloudItem = ScriptServiceUtil.getItemRegistry.getItem(cloud)
>
> var cloudDay = "W_OWM_CloudDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val cloudDayItem = ScriptServiceUtil.getItemRegistry.getItem(cloudDay)
>
> cloudDayItem.postUpdate(cloudItem.state) // postUpdate to W_OWM_CondIDDay i with data from W_OWM_Time in x hours
>
> // Rain
>
> var rain = "W_OWM_Rain" + y.toString // create item name string from prefix and approx hour for forecast
>
> val rainItem = ScriptServiceUtil.getItemRegistry.getItem(rain)
>
> var rainDay = "W_OWM_RainDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val rainDayItem = ScriptServiceUtil.getItemRegistry.getItem(rainDay)
>
> rainDayItem.postUpdate(rainItem.state) // postUpdate to W_OWM_CondIDDay i with data from W_OWM_Time in x hours
>
> }
>
> }
>
> else { // means y < 0, so after 12 pm (and x < 0 anyway)
>
> if(j != 0) {
>
> // Time
>
> var time = "W_OWM_Time" + y.toString // create item name string from prefix and approx hour for forecast
>
> val timeItem = ScriptServiceUtil.getItemRegistry.getItem(time)
>
> var timeDay = "W_OWM_TimeDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val timeDayItem = ScriptServiceUtil.getItemRegistry.getItem(timeDay)
>
> timeDayItem.postUpdate(timeItem.state) // postUpdate to W_OWM_TimeDay i with data from W_OWM_Time in x hours
>
> // Cond
>
> var cond = "W_OWM_Cond" + y.toString // create item name string from prefix and approx hour for forecast
>
> val condItem = ScriptServiceUtil.getItemRegistry.getItem(cond)
>
> var condDay = "W_OWM_CondDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val condDayItem = ScriptServiceUtil.getItemRegistry.getItem(condDay)
>
> condDayItem.postUpdate(condItem.state) // postUpdate to W_OWM_CondDay i with data from W_OWM_Time in x hours
>
> // CondID
>
> var condID = "W_OWM_CondID" + y.toString // create item name string from prefix and approx hour for forecast
>
> val condIDItem = ScriptServiceUtil.getItemRegistry.getItem(condID)
>
> var condIDDay = "W_OWM_CondIDDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val condIDDayItem = ScriptServiceUtil.getItemRegistry.getItem(condIDDay)
>
> condIDDayItem.postUpdate(condIDItem.state) // postUpdate to W_OWM_CondIDDay i with data from W_OWM_Time in x hours
>
> // Clouds
>
> var cloud = "W_OWM_Cloud" + y.toString // create item name string from prefix and approx hour for forecast
>
> val cloudItem = ScriptServiceUtil.getItemRegistry.getItem(cloud)
>
> var cloudDay = "W_OWM_CloudDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val cloudDayItem = ScriptServiceUtil.getItemRegistry.getItem(cloudDay)
>
> cloudDayItem.postUpdate(cloudItem.state) // postUpdate to W_OWM_CondIDDay i with data from W_OWM_Time in x hours
>
> // Rain
>
> var rain = "W_OWM_Rain" + y.toString // create item name string from prefix and approx hour for forecast
>
> val rainItem = ScriptServiceUtil.getItemRegistry.getItem(rain)
>
> var rainDay = "W_OWM_RainDay" + j.toString // create item name string from FC prefix and FC Day No
>
> val rainDayItem = ScriptServiceUtil.getItemRegistry.getItem(rainDay)
>
> rainDayItem.postUpdate(rainItem.state) // postUpdate to W_OWM_CondIDDay i with data from W_OWM_Time in x hours
>
> }
>
> }
>
> }
>
> logInfo("+++ WEATHER", "Weather Forecast updated.")
>
> end
>
> // **************** END of OWM Stuff
And the items:
> /******************************************* Weather (OWM) **********************************************/
>
> String W_OWM_Key "OWM API Key" (G_jdbc)
>
> Switch WeatherThing "Weather" (G_jdbc,G_Things,Group_HabPanel_Dashboard)
>
> String Dummy
>
> Switch Trigger_Debug
>
>
>
> Group gW_OWM_Future
>
> // Open Weather Map
>
> Number:Temperature W_OWM_Temp "Temperature [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#temperature"}
>
> Number:Dimensionless W_OWM_Humidity "Humidity [%d %unit%]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#humidity"}
>
> Number:Length W_OWM_Rain "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#rain"}
>
> Number:Speed W_OWM_Wind_Speed "Wind Speed [%d %unit%]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#wind-speed"}
>
> Number W_OWM_Wind_Dir "Wind Direction [SCALE(winds.scale):%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#wind-direction"}
>
> String W_OWM_Station_Name "Station Name [%s]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:station#name"}
>
> DateTime W_OWM_Time "Observation Time [%1$tA, %1$tB %1$td, %1$tY %1$tI:%1$tM %1$Tp]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#time-stamp"}
>
> String W_OWM_Cond "Condition [%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#condition"}
>
> String W_OWM_CondID "ConditionId [%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#condition-id"}
>
> String W_OWM_CondID_Form "Cond Formatted" (G_jdbc)
>
> Image W_OWM_CondIcon "Icon [%s]" {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#icon"}
>
> Image W_CondIcon <weather>
>
> Image ImageChooser "[MAP(weather_icon.map):%s]"
>
> String W_OWM_CondIconID "IconId [%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#icon-id"}
>
> // ******* Forecast final items based on data below
>
> Number:Temperature W_OWM_TempMinDay0 "Temp Min [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMinDay1 "Temp Min [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMinDay2 "Temp Min [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMinDay3 "Temp Min [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMaxDay0 "Temp Max [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMaxDay1 "Temp Max [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMaxDay2 "Temp Max [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Temperature W_OWM_TempMaxDay3 "Temp Max [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> DateTime W_OWM_TimeDay0 "Observation Time" (G_jdbc,Group_HabPanel_Dashboard)
>
> DateTime W_OWM_TimeDay1 "Observation Time" (G_jdbc,Group_HabPanel_Dashboard)
>
> DateTime W_OWM_TimeDay2 "Observation Time" (G_jdbc,Group_HabPanel_Dashboard)
>
> DateTime W_OWM_TimeDay3 "Observation Time" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondDay0 "Conditions" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondDay1 "Conditions" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondDay2 "Conditions" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondDay3 "Conditions" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay0 "ConditionsID" (G_jdbc,G_CondID,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay1 "ConditionsID" (G_jdbc,G_CondID,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay2 "ConditionsID" (G_jdbc,G_CondID,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay3 "ConditionsID" (G_jdbc,G_CondID,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay0_Form "ConditionsID" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay1_Form "ConditionsID" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay2_Form "ConditionsID" (G_jdbc,Group_HabPanel_Dashboard)
>
> String W_OWM_CondIDDay3_Form "ConditionsID" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Dimensionless W_OWM_CloudDay0 "FC Cloud [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Dimensionless W_OWM_CloudDay1 "FC Cloud [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Dimensionless W_OWM_CloudDay2 "FC Cloud [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Dimensionless W_OWM_CloudDay3 "FC Cloud [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Length W_OWM_RainDay0 "Forcast Rain [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Length W_OWM_RainDay1 "Forcast Rain [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Length W_OWM_RainDay2 "Forcast Rain [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> Number:Length W_OWM_RainDay3 "Forcast Rain [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard)
>
> // ******* END of Forecast final items
>
> // Forecast data 3 to 96 hrs for forecasting the daily items above
>
> // G_W_Min0,G_W_Max0 are workarounds to get a min and max temp for the entire day. This will be done in rules once a day at 0 am
>
> // This is neccessary to let the min / max value fit: e.g. today at 0 am: min / max of the next 24 hrs - this will not match if it's 12 pm for instance
>
> // FC Temperature
>
> Number:Temperature W_OWM_Temp3 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours03#temperature"}
>
> Number:Temperature W_OWM_Temp6 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours06#temperature"}
>
> Number:Temperature W_OWM_Temp9 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours09#temperature"}
>
> Number:Temperature W_OWM_Temp12 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours12#temperature"}
>
> Number:Temperature W_OWM_Temp15 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours15#temperature"}
>
> Number:Temperature W_OWM_Temp18 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours18#temperature"}
>
> Number:Temperature W_OWM_Temp21 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours21#temperature"}
>
> Number:Temperature W_OWM_Temp24 "Temperature [%.1f %unit%]" (G_Num,G_W_Min0,G_W_Max0,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours24#temperature"}
>
> Number:Temperature W_OWM_Temp27 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours27#temperature"}
>
> Number:Temperature W_OWM_Temp30 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours30#temperature"}
>
> Number:Temperature W_OWM_Temp33 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours33#temperature"}
>
> Number:Temperature W_OWM_Temp36 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours36#temperature"}
>
> Number:Temperature W_OWM_Temp39 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours39#temperature"}
>
> Number:Temperature W_OWM_Temp42 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours42#temperature"}
>
> Number:Temperature W_OWM_Temp45 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours45#temperature"}
>
> Number:Temperature W_OWM_Temp48 "Temperature [%.1f %unit%]" (G_Num,G_W_Min1,G_W_Max1) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours48#temperature"}
>
> Number:Temperature W_OWM_Temp51 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours51#temperature"}
>
> Number:Temperature W_OWM_Temp54 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours54#temperature"}
>
> Number:Temperature W_OWM_Temp57 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours57#temperature"}
>
> Number:Temperature W_OWM_Temp60 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours60#temperature"}
>
> Number:Temperature W_OWM_Temp63 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours63#temperature"}
>
> Number:Temperature W_OWM_Temp66 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours66#temperature"}
>
> Number:Temperature W_OWM_Temp69 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours69#temperature"}
>
> Number:Temperature W_OWM_Temp72 "Temperature [%.1f %unit%]" (G_Num,G_W_Min2,G_W_Max2) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours72#temperature"}
>
> Number:Temperature W_OWM_Temp75 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours75#temperature"}
>
> Number:Temperature W_OWM_Temp78 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours78#temperature"}
>
> Number:Temperature W_OWM_Temp81 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours81#temperature"}
>
> Number:Temperature W_OWM_Temp84 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours84#temperature"}
>
> Number:Temperature W_OWM_Temp87 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours87#temperature"}
>
> Number:Temperature W_OWM_Temp90 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours90#temperature"}
>
> Number:Temperature W_OWM_Temp93 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours93#temperature"}
>
> Number:Temperature W_OWM_Temp96 "Temperature [%.1f %unit%]" (G_Num,G_W_Min3,G_W_Max3) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours96#temperature"}
>
> // Observation TimeStamp
>
> DateTime W_OWM_Time3 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours03#time-stamp"}
>
> DateTime W_OWM_Time6 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours06#time-stamp"}
>
> DateTime W_OWM_Time9 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours09#time-stamp"}
>
> DateTime W_OWM_Time12 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours12#time-stamp"}
>
> DateTime W_OWM_Time15 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours15#time-stamp"}
>
> DateTime W_OWM_Time18 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours18#time-stamp"}
>
> DateTime W_OWM_Time21 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours21#time-stamp"}
>
> DateTime W_OWM_Time24 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours24#time-stamp"}
>
> DateTime W_OWM_Time27 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours27#time-stamp"}
>
> DateTime W_OWM_Time30 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours30#time-stamp"}
>
> DateTime W_OWM_Time33 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours33#time-stamp"}
>
> DateTime W_OWM_Time36 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours36#time-stamp"}
>
> DateTime W_OWM_Time39 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours39#time-stamp"}
>
> DateTime W_OWM_Time42 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours42#time-stamp"}
>
> DateTime W_OWM_Time45 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours45#time-stamp"}
>
> DateTime W_OWM_Time48 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours48#time-stamp"}
>
> DateTime W_OWM_Time51 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours51#time-stamp"}
>
> DateTime W_OWM_Time54 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours54#time-stamp"}
>
> DateTime W_OWM_Time57 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours57#time-stamp"}
>
> DateTime W_OWM_Time60 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours60#time-stamp"}
>
> DateTime W_OWM_Time63 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours63#time-stamp"}
>
> DateTime W_OWM_Time66 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours66#time-stamp"}
>
> DateTime W_OWM_Time69 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours69#time-stamp"}
>
> DateTime W_OWM_Time72 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours72#time-stamp"}
>
> DateTime W_OWM_Time75 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours75#time-stamp"}
>
> DateTime W_OWM_Time78 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours78#time-stamp"}
>
> DateTime W_OWM_Time81 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours81#time-stamp"}
>
> DateTime W_OWM_Time84 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours84#time-stamp"}
>
> DateTime W_OWM_Time87 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours87#time-stamp"}
>
> DateTime W_OWM_Time90 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours90#time-stamp"}
>
> DateTime W_OWM_Time93 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours93#time-stamp"}
>
> DateTime W_OWM_Time96 "Observation Time" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours96#time-stamp"}
>
> // Conditionsition
>
> String W_OWM_Cond3 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours03#condition"}
>
> String W_OWM_Cond6 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours06#condition"}
>
> String W_OWM_Cond9 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours09#condition"}
>
> String W_OWM_Cond12 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours12#condition"}
>
> String W_OWM_Cond15 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours15#condition"}
>
> String W_OWM_Cond18 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours18#condition"}
>
> String W_OWM_Cond21 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours21#condition"}
>
> String W_OWM_Cond24 "Conditions" (G_jdbc,gW_OMW_Future) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours24#condition"}
>
> String W_OWM_Cond27 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours27#condition"}
>
> String W_OWM_Cond30 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours30#condition"}
>
> String W_OWM_Cond33 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours33#condition"}
>
> String W_OWM_Cond36 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours36#condition"}
>
> String W_OWM_Cond39 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours39#condition"}
>
> String W_OWM_Cond42 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours42#condition"}
>
> String W_OWM_Cond45 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours45#condition"}
>
> String W_OWM_Cond48 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours48#condition"}
>
> String W_OWM_Cond51 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours51#condition"}
>
> String W_OWM_Cond54 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours54#condition"}
>
> String W_OWM_Cond57 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours57#condition"}
>
> String W_OWM_Cond60 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours60#condition"}
>
> String W_OWM_Cond63 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours63#condition"}
>
> String W_OWM_Cond66 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours66#condition"}
>
> String W_OWM_Cond69 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours69#condition"}
>
> String W_OWM_Cond72 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours72#condition"}
>
> String W_OWM_Cond75 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours75#condition"}
>
> String W_OWM_Cond78 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours78#condition"}
>
> String W_OWM_Cond81 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours81#condition"}
>
> String W_OWM_Cond84 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours84#condition"}
>
> String W_OWM_Cond87 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours87#condition"}
>
> String W_OWM_Cond90 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours90#condition"}
>
> String W_OWM_Cond93 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours93#condition"}
>
> String W_OWM_Cond96 "Conditions" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours96#condition"}
>
> // Conditionsition ID
>
> String W_OWM_CondID3 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours03#condition-id"}
>
> String W_OWM_CondID6 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours06#condition-id"}
>
> String W_OWM_CondID9 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours09#condition-id"}
>
> String W_OWM_CondID12 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours12#condition-id"}
>
> String W_OWM_CondID15 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours15#condition-id"}
>
> String W_OWM_CondID18 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours18#condition-id"}
>
> String W_OWM_CondID21 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours21#condition-id"}
>
> String W_OWM_CondID24 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours24#condition-id"}
>
> String W_OWM_CondID27 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours27#condition-id"}
>
> String W_OWM_CondID30 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours30#condition-id"}
>
> String W_OWM_CondID33 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours33#condition-id"}
>
> String W_OWM_CondID36 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours36#condition-id"}
>
> String W_OWM_CondID39 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours39#condition-id"}
>
> String W_OWM_CondID42 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours42#condition-id"}
>
> String W_OWM_CondID45 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours45#condition-id"}
>
> String W_OWM_CondID48 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours48#condition-id"}
>
> String W_OWM_CondID51 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours51#condition-id"}
>
> String W_OWM_CondID54 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours54#condition-id"}
>
> String W_OWM_CondID57 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours57#condition-id"}
>
> String W_OWM_CondID60 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours60#condition-id"}
>
> String W_OWM_CondID63 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours63#condition-id"}
>
> String W_OWM_CondID66 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours66#condition-id"}
>
> String W_OWM_CondID69 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours69#condition-id"}
>
> String W_OWM_CondID72 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours72#condition-id"}
>
> String W_OWM_CondID75 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours75#condition-id"}
>
> String W_OWM_CondID78 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours78#condition-id"}
>
> String W_OWM_CondID81 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours81#condition-id"}
>
> String W_OWM_CondID84 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours84#condition-id"}
>
> String W_OWM_CondID87 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours87#condition-id"}
>
> String W_OWM_CondID90 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours90#condition-id"}
>
> String W_OWM_CondID93 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours93#condition-id"}
>
> String W_OWM_CondID96 "ConditionsID" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours96#condition-id"}
>
> // FC Cloudiness
>
> Number:Dimensionless W_OWM_Cloud3 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours03#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud6 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours06#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud9 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours09#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud12 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours12#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud15 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours15#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud18 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours18#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud21 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours21#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud24 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours24#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud27 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours27#cloudiness"}
>
> Number:Dimensionless W_OWM_Cloud30 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours30#cloudiness"}
>
>
> Number:Dimensionless W_OWM_Cloud33 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours33#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud36 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours36#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud39 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours39#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud42 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours42#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud45 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours45#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud48 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours48#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud51 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours51#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud54 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours54#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud57 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours57#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud60 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours60#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud63 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours63#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud66 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours66#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud69 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours69#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud72 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours72#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud75 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours75#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud78 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours78#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud81 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours81#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud84 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours84#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud87 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours87#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud90 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours90#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud93 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours93#cloudiness"}
> >
> > Number:Dimensionless W_OWM_Cloud96 "Cloud Cover [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours96#cloudiness"}
> >
> > // Forcast Rain forecast - sums up rain 3 hrs before this point in time in mm
> >
> > Number:Length W_OWM_Rain3 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours03#rain"}
> >
> > Number:Length W_OWM_Rain6 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours06#rain"}
> >
> > Number:Length W_OWM_Rain9 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours09#rain"}
> >
> > Number:Length W_OWM_Rain12 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours12#rain"}
> >
> > Number:Length W_OWM_Rain15 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours15#rain"}
> >
> > Number:Length W_OWM_Rain18 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours18#rain"}
> >
> > Number:Length W_OWM_Rain21 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours21#rain"}
> >
> > Number:Length W_OWM_Rain24 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours24#rain"}
> >
> > Number:Length W_OWM_Rain27 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours27#rain"}
> >
> > Number:Length W_OWM_Rain30 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours30#rain"}
> >
> > Number:Length W_OWM_Rain33 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours33#rain"}
> >
> > Number:Length W_OWM_Rain36 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours36#rain"}
> >
> > Number:Length W_OWM_Rain39 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours39#rain"}
> >
> > Number:Length W_OWM_Rain42 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours42#rain"}
> >
> > Number:Length W_OWM_Rain45 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours45#rain"}
> >
> > Number:Length W_OWM_Rain48 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours48#rain"}
> >
> > Number:Length W_OWM_Rain51 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours51#rain"}
> >
> > Number:Length W_OWM_Rain54 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours54#rain"}
> >
> > Number:Length W_OWM_Rain57 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours57#rain"}
> >
> > Number:Length W_OWM_Rain60 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours60#rain"}
> >
> > Number:Length W_OWM_Rain63 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours63#rain"}
> >
> > Number:Length W_OWM_Rain66 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours66#rain"}
> >
> > Number:Length W_OWM_Rain69 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours69#rain"}
> >
> > Number:Length W_OWM_Rain72 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours72#rain"}
> >
> > Number:Length W_OWM_Rain75 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours75#rain"}
> >
> > Number:Length W_OWM_Rain78 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours78#rain"}
> >
> > Number:Length W_OWM_Rain81 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours81#rain"}
> >
> > Number:Length W_OWM_Rain84 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours84#rain"}
> >
> > Number:Length W_OWM_Rain87 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours87#rain"}
> >
> > Number:Length W_OWM_Rain90 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours90#rain"}
> >
> > Number:Length W_OWM_Rain93 "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:forecastHours93#rain"}
> >
> > Number:Length W_OWM_Rain96 "Rain [%d %unit%]"
Hopefully something here helps you. Make sure you have the import at the top of the rules file!!! Won’t work without it…Problem I ran into. I am stepping away from my computer, so good luck.
Branden
I’ve got the items, rules and sitemap loaded (with my API), but I also need a file called winds.scale. Thanks.
[…22] = North
]23…45] = North-NorthEast
]46…67] = NorthEast
]68…90] = East-NorthEast
]91…112] = East
]113…135] = East-SouthEast
]136…157] = SouthEast
]158…180] = South-SouthEast
]181…202] = South
]203…225] = South-SouthWest
]226…247] = SouthWest
]248…270] = West-SouthWest
]271…292] = West
]293…315] = West-NorthWest
]316…338] = NorthWest
]339…360] = North-NorthWest
You may run into issues with the display of the weather icons. I am currently trying to fix mine. I display the icons in a large format as an image, and the stock ones didn’t scale nicely; so I am trying to use high definition images instead. If you want to follow, it’s over at: Dynamic icons for weather
I also downloaded a lot of custom icons, so they may not display properly for you.
Thanks, I’ll give it a try!
I’m not sure what’s going on here. This is there error I get after I added the winds.scale file in the transforms directory:
2020-05-07 16:33:58.907 [WARN ] [.internal.ScaleTransformationService] - Scale transform file ‘/etc/openhab2/transform/winds.scale’ does not comply with syntax for entry : ‘]316…338]’, ‘NorthWest’
2020-05-07 16:33:58.916 [WARN ] [.internal.ScaleTransformationService] - Scale transform file ‘/etc/openhab2/transform/winds.scale’ does not comply with syntax for entry : ‘]339…360]’, ‘North-NorthWest’
2020-05-07 16:33:59.209 [WARN ] [rm.AbstractFileTransformationService] - Could not transform ‘-’ with the file ‘winds.scale’ : Scale must be used with numeric inputs, valid quantity types or a ‘NaN’ entry.
Your Item is NULL. You need to add an entry to handle NaN states (https://www.openhab.org/addons/transformations/scale/#not-a-number).
I had this same issue. Originally, I copied wind.scale from a post here, can’t remember where…and had to add a condition for NaN at the top of the file. It still wouldn’t take, so I made the new file (with the same code), named it winds.scale, and it worked.
You may have to restart openhab a couple times. Restart through the console, not by de-powering…so you are restarting just openhab, not the entire system.