thx @cweitkamp. Iāll try my luck
I installed the OpenWeatherMap-Binding via Paper UI.
owm.things:
Bridge openweathermap:weather-api:api "OpenWeatherMap Account" [apikey="my-api-key 1- 32", refreshInterval=30, language="de"] {
Thing weather-and-forecast local "Local Weather And Forecast" [location="12.34567,1.2345", forecastHours=06, forecastDays=6]
}
owm.items:
Group gOWM
String localStationId "ID [%s]" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:station#id" }
String localStationName "Name [%s]" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:station#name" }
Location localStationLocation "Location [%2$sĀ°N %3$sĀ°E]" <location> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:station#location" }
DateTime localLastMeasurement "Timestamp of last measurement [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]" <time> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#time-stamp" }
String localCurrentCondition "Current condition [%s]" <sun_clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#condition" }
Image localCurrentConditionIcon "Icon" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#icon" }
Number:Temperature localCurrentTemperature "Current temperature [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#temperature" }
Number:Pressure localCurrentPressure "Current barometric pressure [%.1f %unit%]" <pressure> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#pressure" }
Number:Dimensionless localCurrentHumidity "Current atmospheric humidity [%d %unit%]" <humidity> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#humidity" }
Number:Speed localCurrentWindSpeed "Current wind speed [%.1f km/h]" <wind> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#wind-speed" }
Number:Angle localCurrentWindDirection "Current wind direction [%d %unit%]" <wind> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#wind-direction" }
Number:Dimensionless localCurrentCloudiness "Current cloudiness [%d %unit%]" <clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#cloudiness" }
Number:Length localCurrentRainVolume "Current rain volume [%.1f %unit%]" <rain> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#rain" }
Number:Length localCurrentSnowVolume "Current snow volume [%.1f %unit%]" <snow> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:current#snow" }
DateTime localDailyForecastTodayTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#time-stamp" }
String localDailyForecastTodayCondition "Condition for today [%s]" <sun_clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#condition" }
Image localDailyForecastTodayConditionIcon "Icon" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#icon" }
Number:Temperature localDailyForecastTodayMinTemperature "Minimum temperature for today [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#min-temperature" }
Number:Temperature localDailyForecastTodayMaxTemperature "Maximum temperature for today [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#max-temperature" }
Number:Pressure localDailyForecastTodayPressure "Barometric pressure for today [%.1f %unit%]" <pressure> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#pressure" }
Number:Dimensionless localDailyForecastTodayHumidity "Atmospheric humidity for today [%d %unit%]" <humidity> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#humidity" }
Number:Speed localDailyForecastTodayWindSpeed "Wind speed for today [%.1f km/h]" <wind> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#wind-speed" }
Number:Angle localDailyForecastTodayWindDirection "Wind direction for today [%d %unit%]" <wind> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#wind-direction" }
Number:Dimensionless localDailyForecastTodaytCloudiness "Cloudiness for today [%d %unit%]" <clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#cloudiness" }
Number:Length localDailyForecastTodayRainVolume "Rain volume for today [%.1f %unit%]" <rain> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#rain" }
Number:Length localDailyForecastTodaySnowVolume "Snow volume for today [%.1f %unit%]" <snow> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastToday#snow" }
DateTime localDailyForecastTomorrowTimestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#time-stamp" }
String localDailyForecastTomorrowCondition "Condition for tomorrow [%s]" <sun_clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#condition" }
Image localDailyForecastTomorrowConditionIcon "Icon" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#icon" }
Number:Temperature localDailyForecastTomorrowMinTemperature "Minimum temperature for tomorrow [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#min-temperature" }
Number:Temperature localDailyForecastTomorrowMaxTemperature "Maximum temperature for tomorrow [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastTomorrow#max-temperature" }
DateTime localDailyForecastDay2Timestamp "Timestamp of forecast [%1$tY-%1$tm-%1$td]" <time> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastDay2#time-stamp" }
String localDailyForecastDay2Condition "Condition in 2 days [%s]" <sun_clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastDay2#condition" }
Image localDailyForecastDay2ConditionIcon "Icon" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastDay2#icon" }
Number:Temperature localDailyForecastDay2MinTemperature "Minimum temperature in 2 days [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastDay2#min-temperature" }
Number:Temperature localDailyForecastDay2MaxTemperature "Maximum temperature in 2 days [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastDay2#max-temperature" }
String localHourlyForecast03Condition "Condition for the next three hours [%s]" <sun_clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastHours03#condition" }
Image localHourlyForecast03ConditionIcon "Icon" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastHours03#icon" }
Number:Temperature localHourlyForecast03Temperature "Temperature for the next three hours [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastHours03#temperature" }
String localHourlyForecast06Condition "Condition for hours 3 to 6 [%s]" <sun_clouds> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastHours06#condition" }
Image localHourlyForecast06ConditionIcon "Icon" (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastHours06#icon" }
Number:Temperature localHourlyForecast06Temperature "Temperature for hours 3 to 6 [%.1f %unit%]" <temperature> (gOWM) { channel="openweathermap:weather-and-forecast:api:local:forecastHours06#temperature" }
The result looks like this:
As one can see, a lot of the items are not filled with values.
The logger gives the following messages:
2018-11-21 22:35:07.444 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Berlin'.
2018-11-21 22:35:07.467 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to '12.345678,1.234567,111'.
2018-11-21 22:35:07.473 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'de_DE'.
2018-11-21 22:35:07.475 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Measurement system set to 'SIUnits'.
2018-11-21 22:35:17.379 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'yahoo.items'
2018-11-21 22:35:17.758 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonoff.items'
2018-11-21 22:35:17.969 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'owm_http.items'
2018-11-21 22:35:18.086 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'owm.items'
2018-11-21 22:35:18.273 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro.items'
2018-11-21 22:35:18.443 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonos.items'
2018-11-21 22:35:18.653 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'system.items'
2018-11-21 22:35:18.778 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'castle.items'
2018-11-21 22:35:19.271 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'avm_fritz.items'
2018-11-21 22:35:19.597 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'network.items'
2018-11-21 22:35:20.401 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'
2018-11-21 22:35:23.246 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2018-11-21 22:35:26.331 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonoff.rules'
2018-11-21 22:35:27.515 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonoff1.rules'
2018-11-21 22:35:29.755 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro.rules'
2018-11-21 22:35:32.668 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'weather.rules'
2018-11-21 22:35:34.412 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'cpu.rules'
2018-11-21 22:35:35.263 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'startup.rules'
2018-11-21 22:35:36.283 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'castle.sitemap'
2018-11-21 22:35:36.877 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'avm_fritz.things'
2018-11-21 22:35:37.315 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sample_ntp.things'
2018-11-21 22:35:37.340 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'cpu_tempPI.things'
2018-11-21 22:35:37.405 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'network.things'
2018-11-21 22:35:37.490 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'owm.things'
2018-11-21 22:35:37.697 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonos.things'
2018-11-21 22:35:37.721 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro.things'
2018-11-21 22:35:38.958 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:moon:local
2018-11-21 22:35:38.979 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:moon:local every 300 seconds
2018-11-21 22:35:40.559 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:local
2018-11-21 22:35:40.578 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:sun:local every 300 seconds
2018-11-21 22:35:41.545 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:stowing
2018-11-21 22:35:41.687 [WARN ] [mon.registry.AbstractManagedProvider] - Could not update element with key openweathermap:weather-and-forecast:api:local in ManagedThingProvider, because it does not exists.
2018-11-21 22:35:42.442 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.178.123:8080
2018-11-21 22:35:42.447 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.178.123:8443
2018-11-21 22:35:43.122 [INFO ] [penhab.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2018-11-21 22:35:43.125 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'peter'
2018-11-21 22:35:43.199 [INFO ] [b.core.service.AbstractActiveService] - HTTP Refresh Service has been started
2018-11-21 22:35:43.961 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2018-11-21 22:35:52.530 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'samsungtv:tv:0d1cef01_00dc_1000_960f_90f1aac88a51' to inbox.
2018-11-21 22:35:52.947 [INFO ] [eather.internal.common.WeatherConfig] - LocationConfig[providerName=YAHOO,language=de,updateInterval=30,latitude=<null>,longitude=<null>,woeid=123456,locationId=home-yh,name=Miami]
2018-11-21 22:35:56.059 [INFO ] [ternal.scheduler.WeatherJobScheduler] - Starting and scheduling weatherJob-home-yh with interval of 30 minutes
2018-11-21 22:36:05.645 [INFO ] [smarthome.model.script.weather-rules] - Forecast executed every 30 min. / 1 log only once an hour
2018-11-21 22:40:41.554 [INFO ] [marthome.model.script.astro-rules_99] - Moondistance updated every 5 Minutes by "astro.things " 2018-11-21T22:40:39.001+0100 / 1 Log only once an hour
2018-11-21 23:03:53.520 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'owm.things'
2018-11-21 23:03:53.795 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.thingUpdated()' on 'org.eclipse.smarthome.binding.openweathermap.internal.handler.OpenWeatherMapWeatherAndForecastHandler@fdde87': Duplicate channels openweathermap:weather-and-forecast:api:local:forecastToday#time-stamp
java.lang.IllegalArgumentException: Duplicate channels openweathermap:weather-and-forecast:api:local:forecastToday#time-stamp
at org.eclipse.smarthome.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:159) ~[?:?]
at org.eclipse.smarthome.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:151) ~[?:?]
at org.eclipse.smarthome.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:147) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder.withChannel(ThingBuilder.java:74) ~[?:?]
at org.eclipse.smarthome.binding.openweathermap.internal.handler.OpenWeatherMapWeatherAndForecastHandler.initialize(OpenWeatherMapWeatherAndForecastHandler.java:157) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.thingUpdated(BaseThingHandler.java:208) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.oh240M6]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.oh240M6]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-11-21 23:04:40.231 [WARN ] [mon.registry.AbstractManagedProvider] - Could not update element with key openweathermap:weather-and-forecast:api:local in ManagedThingProvider, because it does not exists.
While startup is running (and later) there is a Warning Message which i can not handle.
And when i made a change in the Thing-File an error is spit out. (i canāt find duplicate channels)
The Api-Key is valid and in use to retrieve data with http.cfg and extract it via JSONPATH, like this
String CommonId_owm "Himmel owm [%s]" <sun_clouds> (gYahoo) {http="<[owm_test:120000:JSONPATH($.weather[0].description)]"}
Any hints or ideas whatās wrong in my setup ?
Hi @cweitkamp , thanx for the OWM binding !
I just installed and I will be playing with it the next period
I have some remarks wrt docs. should I post them here or open an issue on ESH?
Also: If I add the altitude in the location
of the Thing, I get the classic ManagedThingProvider WARN. I believe this is because PaperUI ātrimsā the altitude from the Thing conf page and tries then to update the Thing with only lat/long but it canāt because the Thing is not Managed (see here also: Finally, I got rid of this AbstractManagedProvider warning)
I have the same issue with PaperUI also for the Astro binding (trimming of alt). I think that I should open up an issue for PaperUIā¦
Results in Warn:
Bridge openweathermap:weather-api:api "OpenWeatherMap Account" @ "Weather" [ apikey="abc123", refreshInterval=30, language="en" ]
{
Thing weather-and-forecast local "HomeR Weather & Forecast" @ "Weather" [ location="xx.xxx,yy.yyy,0", forecastHours=120, forecastDays=7 ]
}
Works ok (without alt):
Bridge openweathermap:weather-api:api "OpenWeatherMap Account" @ "Weather" [ apikey="abc123", refreshInterval=30, language="en" ]
{
Thing weather-and-forecast local "HomeR Weather & Forecast" @ "Weather" [ location="xx.xxx,yy.yyy", forecastHours=120, forecastDays=7 ]
}
@fibu-freak Do you own a paid account for OWM? If not, the daily forecast will not work.
@Dim Why not contribute your ideas directly? Otherwise share them in this thread.
Yes, could be worth to do some further investigations on that issue. I saw this message from time to time in my life too. But never related them to a geographically location configuration ā¦
No paid account, only free one. Does this mean that my Bridge/Thing is wrong, as using it now ?
So does that mean i canāt use the parameter āforecastDaysā or set it to zero ?
Yes, exactly. Unfortunately, that is one of the biggest disadvantages of the OWM API.
No Problem at all. It is as it is.
May be you find a solution one day to summarize several values to min/max or something like that within the binding.
I thought about writing a rule to do this. Scan the 3-hour forecasts for each day to extract the daily min and max temp, maybe average the humidity, develop some heuristic for the conditions, etc., then populate some daily items.
Of course, it would be much better if the binding did this.
Great. I thought about too. But to heavy for me.Iām newbie and in my former live i was an accountant (i only know āExcelā and a bit of ERP-Software). So i think itās not that easy as it seems, as the daily time sections are sliding.
No, I will not do a research for such a solution inside the binding because bindings are meant to transfer and prepare data from a specific API towards the framework. They should not contain business logic. Therefore we have other tools like groups, rules or transformations. Maybe powerful profiles in the future.
If I should make a proposal I would say create some groups, use the power of the group arithmetical functions (MIN,MAX,AVG), and stuff all items of the hourly forecast into them. Easy without much effort.
For other edge cases you can use rules or transformations.
Sorry, I was just kidding about that.
It just was an idea of me and i understand the aspects that drives you when developing a binding.
I hope the time will come, when i can handle the binding better. And then i will thinking about tunings.
hi Christoph,
thanks for the binding.
Unless Iāve misunderstood, are you saying that the binding doesnāt support the 5-day forecast?
Iām slightly confused, as the api will return the 5-day forecast, eg:-
https://api.openweathermap.org/data/2.5/forecast?APPID=yourapikey&q=London,uk
Hello guys,
IĀ“d like to merge the items winddirection an windspeed into one item. What I did is:
String Wind_Geschw_und_Richtung
Number Windrichtung { channel="openweathermap:weather-and-forecast:9ee44fae:local:current#wind-direction" }
Number Windgeschwindigkeit { channel="openweathermap:weather-and-forecast:9ee44fae:local:current#wind-speed" }
rule "Windgeschwindigkeit und Richtung"
when
Item Windgeschwindigkeit changed or
Item Windrichtung changed
then
var Number wg = (((Windgeschwindigkeit.state as DecimalType).floatValue)*3.6)
var wr = transform("SCALE", "wind.scale",Windrichtung.state.toString)
var String Ausgabe = String::format("%1$.0f km/h aus " +wr, wg)
Wind_Geschw_und_Richtung.postUpdate(Ausgabe)
end
(thx to M. Spiller for that)
That is working quite well. But I had to create those two items āWindgeschwindigkeitā und āWindrichtungā. Instead I would like to use the two items from the demo.items that I already have:
Number:Speed localCurrentWindSpeed "Current wind speed [%.1f km/h]" <wind> { channel="openweathermap:weather-and-forecast:9ee44fae:local:current#wind-speed" }
Number:Angle localCurrentWindDirection "Current wind direction [%d %unit%]" <wind> { channel="openweathermap:weather-and-forecast:9ee44fae:local:current#wind-direction" }
Those two items wonĀ“t work with my rule because of the additions āSpeedā and āAngleā respectively. How do I have to change my rule so I can get rid of those two extra items?
Thanks a lot.
I quoted my opening post. The current weather and the 5 days forecast (in 3 hour steps) are available for everyone. The 16 days forecast (in daily intervals) is restricted to users owning a paid account (Startup minimum). The weather-and-forecast
Thing provided by the bindings has different channel groups. One for current weather, a user-defined number (between 0 and 120 in 3 hour steps) of hourly forecast channel groups and a user-defined number (between 0 and 16 in 1 day steps) of dayly forecast channel groups. The daily forecast channel groups are removed automatically if the configured key belongs to an unpaid account.
To answer your question directly: The binding supports the 5 days forecast. But only in 3 hour steps unless you own a non-free account.
just fyi: I am going to get a cool HABPanel widget going for thisā¦ more news soon
Hi Leif,
from my point of view it can be done in this way. Please be aware of typos I wrote this down in a second:
rule "Windgeschwindigkeit und Richtung"
when
Item localCurrentWindSpeed changed or
Item localCurrentWindDirection changed
then
Wind_Geschw_und_Richtung.postUpdate((localCurrentWindSpeed.state as QuantityType<Speed>).toString + " aus " + transform("SCALE", "wind.scale", localCurrentWindDirection.state.toString))
end
Thats it. IĀ“ve changed the then-part to:
then
Wind_Geschw_und_Richtung.postUpdate((localCurrentWindSpeed.getStateAs(QuantityType).toString) + " aus " + transform("SCALE", "wind.scale", (localCurrentWindDirection.state as QuantityType<Number>).doubleValue.toString))
end
Otherwise VSC displayed an error saying that āSpeed cannot be resolved to a typeā and scale said: āCould not transform ā60.0 Ā°ā with the file āwind.scaleā : Scale can only be used with numeric inputsā.
Now itĀ“s working fine and I wonĀ“t need my additional ādimensionlessā items any more. Thank you very much for leading me to the right direction.
Best regards
ahh, thank you. Iāve set the forecast hours to 120, and am now getting all the forecasts.
Iām interested in this binding, but is not present in my Paper UI bindings section. Iāve a standard openHab 2.3 installation.
How can I install it ?
Mirko