WeatherCompany binding (WeatherUnderground replacement for PWS data uploaders only!)

I just pushed a couple changed that better handle missing PWS data. If your PWS didn’t supply some values (e.g. solar radiation, UV index, etc.), the binding would throw an NPE. This should be fixed now.

Thanks for finding this! I was searching through their docs for rate limits, but couldn’t find it.

As I now make two API calls (forecast + PWS), the low end refresh interval would be 2 minutes. I’ll make that change now. Ok?

Just posted a new version with a minimum refresh interval of 2 minutes. :+1:

1 Like

Now its online, without any change or editing from my site.

Ok, that’s pretty weird. But, if it happens again, a debug log will help sort it out.

With the addition of PWS Current Observations, it feels like the binding is pretty much functionally complete now (although there are some areas of the code and documentation that need to be cleaned up). So, I’m going to try to hold off on adding new features for a while to focus on any bug fixes in this binding, as well as some needed work on some other bindings.

Please, if you run into any issues with the latest version of this binding, post here and I’ll try to get them sorted out. A debug log showing the issue is always helpful, of course. If you’re not on the latest version and you run into an issue, please try the latest version of the binding before reporting the issue. This will save us all a lot of time.

You can post requests for new features too, but I may not get to those for a few days.

Hello @mhilbush
the new version of the binding doesnt work here and I get some Warning:

I deleted the old thing, removed the jar, put the new one into the addon folder and configured the thing. I had at first a 5min interval and now a 2min interval for test:

The binding does not pull data and after the weather thing gets configured I get this warning in the log:

2019-03-07 17:05:36.753 [me.event.ThingUpdatedEvent] - Thing 'weathercompany:weather:local' has been updated.

2019-03-07 17:05:37.261 [hingStatusInfoChangedEvent] - 'weathercompany:weather:local' changed from UNINITIALIZED (HANDLER_CONFIGURATION_PENDING) to INITIALIZING

2019-03-07 17:05:37.319 [hingStatusInfoChangedEvent] - 'weathercompany:weather:local' changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2019-03-07 17:05:41.429 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 

java.lang.NullPointerException: null

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.updateDaypartChannel(WeatherCompanyHandler.java:436) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.updateDaypartForecast(WeatherCompanyHandler.java:335) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.refreshForecast(WeatherCompanyHandler.java:275) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.access$0(WeatherCompanyHandler.java:252) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler$1.run(WeatherCompanyHandler.java:119) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:?]

	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) [?:?]

Thanks. I’ll take a look at it.

1 Like

What were the lines immediately before the NullPointerException in openhab.log?

Wait, you’re not in debug mode. Can you try putting the binding in debug mode?

I just posted a new version. Can you try it out with debugging enabled?

hey - here the log with the previous version in debug mode:
i ll test the new version next:

2019-03-07 17:33:36.262 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Disposing

2019-03-07 17:33:36.271 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Canceling forecast refresh job

==> /var/log/openhab2/events.log <==

2019-03-07 17:33:36.295 [hingStatusInfoChangedEvent] - 'weathercompany:weather:local' changed from ONLINE to OFFLINE

==> /var/log/openhab2/openhab.log <==

2019-03-07 17:33:37.366 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Initializing

==> /var/log/openhab2/events.log <==

2019-03-07 17:33:37.369 [me.event.ThingUpdatedEvent] - Thing 'weathercompany:weather:local' has been updated.

==> /var/log/openhab2/openhab.log <==

2019-03-07 17:33:37.374 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: apiKey=MYAPICODE

2019-03-07 17:33:37.378 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: locationType=geocode

2019-03-07 17:33:37.381 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: postalCode=null

2019-03-07 17:33:37.386 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: geocode=55.609549564977556,12.975507492494211

2019-03-07 17:33:37.391 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: language=en-US

2019-03-07 17:33:37.394 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: pwsStationId=IMALM41

2019-03-07 17:33:37.399 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: refreshInterval=13 minutes

2019-03-07 17:33:37.406 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Forecast URL is https://api.weather.com/v3/wx/forecast/daily/5day?units=e&format=json&language=en-US&apiKey=myAPI&geocode=55.609549564977556,12.975507492494211

2019-03-07 17:33:37.412 [DEBUG] [ternal.handler.WeatherCompanyHandler] - PWS observations URL is https://api.weather.com/v2/pws/observations/current?units=e&format=json&stationId=IMALM41&apiKey=MYAPI

2019-03-07 17:33:37.419 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Scheduling forecast refresh job in 3 seconds

==> /var/log/openhab2/events.log <==

2019-03-07 17:33:37.422 [hingStatusInfoChangedEvent] - 'weathercompany:weather:local' changed from OFFLINE to ONLINE

==> /var/log/openhab2/openhab.log <==

2019-03-07 17:33:37.424 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Canceling forecast refresh job

2019-03-07 17:33:40.430 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Requesting forecast from The Weather Company API

2019-03-07 17:33:40.964 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Cache-Control header is max-age=149

2019-03-07 17:33:40.969 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Parsing response: {"dayOfWeek":["Thursday","Friday","Saturday","Sunday","Monday","Tuesday"],"expirationTimeUtc":[1551976634,1551976634,1551976634,1551976634,1551976634,1551976634],"moonPhase":["New Moon","Waxing Crescent","Waxing Crescent","Waxing Crescent","Waxing Crescent","Waxing Crescent"],"moonPhaseCode":["N","WXC","WXC","WXC","WXC","WXC"],"moonPhaseDay":[0,1,2,3,4,5],"moonriseTimeLocal":["2019-03-07T07:30:41+0100","2019-03-08T07:46:15+0100","2019-03-09T08:01:35+0100","2019-03-10T08:17:38+0100","2019-03-11T08:35:30+0100","2019-03-12T08:56:34+0100"],"moonriseTimeUtc":[1551940241,1552027575,1552114895,1552202258,1552289730,1552377394],"moonsetTimeLocal":["2019-03-07T18:40:52+0100","2019-03-08T19:51:07+0100","2019-03-09T21:02:39+0100","2019-03-10T22:15:38+0100","2019-03-11T23:29:24+0100",""],"moonsetTimeUtc":[1551980452,1552071067,1552161759,1552252538,1552343364,null],"narrative":["Windy, light rain late. Lows overnight in the low 40s.","Windy with showers ending. Highs in the mid 40s and lows in the upper 30s.","Windy with showers. Highs in the mid 40s and lows in the mid 30s.","Windy, afternoon showers developing. Highs in the low 40s and lows in the mid 30s.","Morning rain mixed with snow. Highs in the low 40s and lows in the low 30s.","Cloudy. Highs in the low 40s and lows in the upper 30s."],"qpf":[0.06,0.09,0.21,0.1,0.03,0.14],"qpfSnow":[0.0,0.0,0.0,0.0,0.0,0.0],"sunriseTimeLocal":["2019-03-07T06:45:00+0100","2019-03-08T06:42:28+0100","2019-03-09T06:39:56+0100","2019-03-10T06:37:24+0100","2019-03-11T06:34:50+0100","2019-03-12T06:32:16+0100"],"sunriseTimeUtc":[1551937500,1552023748,1552109996,1552196244,1552282490,1552368736],"sunsetTimeLocal":["2019-03-07T17:54:23+0100","2019-03-08T17:56:28+0100","2019-03-09T17:58:33+0100","2019-03-10T18:00:37+0100","2019-03-11T18:02:42+0100","2019-03-12T18:04:46+0100"],"sunsetTimeUtc":[1551977663,1552064188,1552150713,1552237237,1552323762,1552410286],"temperatureMax":[null,44,45,43,41,40],"temperatureMin":[40,37,36,34,30,37],"validTimeLocal":["2019-03-07T07:00:00+0100","2019-03-08T07:00:00+0100","2019-03-09T07:00:00+0100","2019-03-10T07:00:00+0100","2019-03-11T07:00:00+0100","2019-03-12T07:00:00+0100"],"validTimeUtc":[1551938400,1552024800,1552111200,1552197600,1552284000,1552370400],"daypart":[{"cloudCover":[null,71,63,68,77,75,70,74,67,35,84,89],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night"],"iconCode":[null,11,39,12,11,11,39,5,5,29,26,11],"iconCodeExtend":[null,7311,6113,7310,1110,1100,7113,500,6403,2900,2600,1100],"narrative":[null,"Gusty winds developing. Partly cloudy skies giving way to light rain overnight. Low around 40F. Winds SSW at 20 to 30 mph. Chance of rain 70%.","Windy. Showers early with clearing later in the day. High 44F. Winds W at 25 to 35 mph. Chance of rain 50%. Winds could occasionally gust over 50 mph.","Partly cloudy and windy early followed by increasing clouds and periods of rain later at night. Low 37F. Winds WSW at 20 to 30 mph. Chance of rain 90%.","Windy with light rain early...then remaining cloudy with showers in the afternoon. High around 45F. Winds WSW at 20 to 30 mph. Chance of rain 80%.","Showers early becoming a steady light rain late. Low 36F. Winds W at 15 to 25 mph. Chance of rain 60%.","Cloudy and windy early. A few showers possible later in the day. High 43F. Winds W at 20 to 30 mph. Chance of rain 30%.","Rain showers in the evening with precipitation turning to a mixture of rain and snow overnight. Low 34F. Winds WSW at 10 to 15 mph. Chance of precip 70%.","Rain and snow tapering off in the morning. Decreasing cloudiness in the afternoon. High 41F. Winds WNW at 10 to 20 mph. Chance of rain 70%.","A few clouds from time to time. Low around 30F. Winds WNW at 10 to 15 mph.","Cloudy. High near 40F. Winds S at 15 to 25 mph.","Light rain early...then remaining cloudy with showers late. Low 37F. Winds S at 15 to 25 mph. Chance of rain 70%."],"precipChance":[null,70,50,90,80,60,30,70,70,20,20,70],"precipType":[null,"rain","rain","rain","rain","rain","rain","precip","rain","precip","rain","rain"],"qpf":[null,0.06,0.03,0.06,0.15,0.06,0.02,0.07,0.03,0.0,0.0,0.14],"qpfSnow":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":[null,null,"Q1022",null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,null,"Winds could occasionally gust over 50 mph.",null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,85,71,79,82,85,74,87,75,81,79,87],"snowRange":[null,"","","","","","","","","","",""],"temperature":[null,40,44,37,45,36,43,34,41,30,40,37],"temperatureHeatIndex":[null,44,44,40,45,40,43,39,40,36,39,39],"temperatureWindChill":[null,31,31,29,29,28,28,27,26,24,25,28],"thunderCategory":[null,"No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,0,0,0,0,0,0,0,0,0,0,0],"uvDescription":[null,"Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low"],"uvIndex":[null,0,1,0,1,0,1,0,1,0,1,0],"windDirection":[null,211,263,246,242,266,266,258,300,285,175,174],"windDirectionCardinal":[null,"SSW","W","WSW","WSW","W","W","WSW","WNW","WNW","S","S"],"windPhrase":[null,"Winds SSW at 20 to 30 mph.","Winds W at 25 to 35 mph.","Winds WSW at 20 to 30 mph.","Winds WSW at 20 to 30 mph.","Winds W at 15 to 25 mph.","Winds W at 20 to 30 mph.","Winds WSW at 10 to 15 mph.","Winds WNW at 10 to 20 mph.","Winds WNW at 10 to 15 mph.","Winds S at 15 to 25 mph.","Winds S at 15 to 25 mph."],"windSpeed":[null,23,30,23,20,19,20,12,15,11,17,19],"wxPhraseLong":[null,"Light Rain/Wind Late","AM Showers/Wind","Rain/Wind Late","Showers/Wind","Showers","PM Showers/Wind","Rain/Snow","AM Rain/Snow","Partly Cloudy","Cloudy","Showers"],"wxPhraseShort":[null,"Rain/Wind","Showers/Wind","Rain/Wind","Showers/Wind","Showers","Showers/Wind","Rain/Snow","AM Rain/Snow","P Cloudy","Cloudy","Showers"]}]}

2019-03-07 17:33:41.000 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed daily forecast response object

2019-03-07 17:33:41.005 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Thursday'

2019-03-07 17:33:41.025 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Friday'

2019-03-07 17:33:41.046 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Saturday'

2019-03-07 17:33:41.058 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Sunday'

2019-03-07 17:33:41.071 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Monday'

2019-03-07 17:33:41.083 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Tuesday'

2019-03-07 17:33:41.102 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Parsing daypartsObject: [{"cloudCover":[null,71.0,63.0,68.0,77.0,75.0,70.0,74.0,67.0,35.0,84.0,89.0],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night"],"iconCode":[null,11.0,39.0,12.0,11.0,11.0,39.0,5.0,5.0,29.0,26.0,11.0],"iconCodeExtend":[null,7311.0,6113.0,7310.0,1110.0,1100.0,7113.0,500.0,6403.0,2900.0,2600.0,1100.0],"narrative":[null,"Gusty winds developing. Partly cloudy skies giving way to light rain overnight. Low around 40F. Winds SSW at 20 to 30 mph. Chance of rain 70%.","Windy. Showers early with clearing later in the day. High 44F. Winds W at 25 to 35 mph. Chance of rain 50%. Winds could occasionally gust over 50 mph.","Partly cloudy and windy early followed by increasing clouds and periods of rain later at night. Low 37F. Winds WSW at 20 to 30 mph. Chance of rain 90%.","Windy with light rain early...then remaining cloudy with showers in the afternoon. High around 45F. Winds WSW at 20 to 30 mph. Chance of rain 80%.","Showers early becoming a steady light rain late. Low 36F. Winds W at 15 to 25 mph. Chance of rain 60%.","Cloudy and windy early. A few showers possible later in the day. High 43F. Winds W at 20 to 30 mph. Chance of rain 30%.","Rain showers in the evening with precipitation turning to a mixture of rain and snow overnight. Low 34F. Winds WSW at 10 to 15 mph. Chance of precip 70%.","Rain and snow tapering off in the morning. Decreasing cloudiness in the afternoon. High 41F. Winds WNW at 10 to 20 mph. Chance of rain 70%.","A few clouds from time to time. Low around 30F. Winds WNW at 10 to 15 mph.","Cloudy. High near 40F. Winds S at 15 to 25 mph.","Light rain early...then remaining cloudy with showers late. Low 37F. Winds S at 15 to 25 mph. Chance of rain 70%."],"precipChance":[null,70.0,50.0,90.0,80.0,60.0,30.0,70.0,70.0,20.0,20.0,70.0],"precipType":[null,"rain","rain","rain","rain","rain","rain","precip","rain","precip","rain","rain"],"qpf":[null,0.06,0.03,0.06,0.15,0.06,0.02,0.07,0.03,0.0,0.0,0.14],"qpfSnow":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":[null,null,"Q1022",null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,null,"Winds could occasionally gust over 50 mph.",null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,85.0,71.0,79.0,82.0,85.0,74.0,87.0,75.0,81.0,79.0,87.0],"snowRange":[null,"","","","","","","","","","",""],"temperature":[null,40.0,44.0,37.0,45.0,36.0,43.0,34.0,41.0,30.0,40.0,37.0],"temperatureHeatIndex":[null,44.0,44.0,40.0,45.0,40.0,43.0,39.0,40.0,36.0,39.0,39.0],"temperatureWindChill":[null,31.0,31.0,29.0,29.0,28.0,28.0,27.0,26.0,24.0,25.0,28.0],"thunderCategory":[null,"No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"uvDescription":[null,"Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low"],"uvIndex":[null,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0],"windDirection":[null,211.0,263.0,246.0,242.0,266.0,266.0,258.0,300.0,285.0,175.0,174.0],"windDirectionCardinal":[null,"SSW","W","WSW","WSW","W","W","WSW","WNW","WNW","S","S"],"windPhrase":[null,"Winds SSW at 20 to 30 mph.","Winds W at 25 to 35 mph.","Winds WSW at 20 to 30 mph.","Winds WSW at 20 to 30 mph.","Winds W at 15 to 25 mph.","Winds W at 20 to 30 mph.","Winds WSW at 10 to 15 mph.","Winds WNW at 10 to 20 mph.","Winds WNW at 10 to 15 mph.","Winds S at 15 to 25 mph.","Winds S at 15 to 25 mph."],"windSpeed":[null,23.0,30.0,23.0,20.0,19.0,20.0,12.0,15.0,11.0,17.0,19.0],"wxPhraseLong":[null,"Light Rain/Wind Late","AM Showers/Wind","Rain/Wind Late","Showers/Wind","Showers","PM Showers/Wind","Rain/Snow","AM Rain/Snow","Partly Cloudy","Cloudy","Showers"],"wxPhraseShort":[null,"Rain/Wind","Showers/Wind","Rain/Wind","Showers/Wind","Showers","Showers/Wind","Rain/Snow","AM Rain/Snow","P Cloudy","Cloudy","Showers"]}]

2019-03-07 17:33:41.114 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed daypart forecast object

2019-03-07 17:33:41.120 [DEBUG] [ternal.handler.WeatherCompanyHandler] - There are 1 daypart forecast entries

2019-03-07 17:33:41.124 [DEBUG] [ternal.handler.WeatherCompanyHandler] - There are 12 daypartName entries in this forecast

2019-03-07 17:33:41.129 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'null'

2019-03-07 17:33:41.133 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 

java.lang.NullPointerException: null

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.updateDaypartChannel(WeatherCompanyHandler.java:436) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.updateDaypartForecast(WeatherCompanyHandler.java:335) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.refreshForecast(WeatherCompanyHandler.java:275) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler.access$0(WeatherCompanyHandler.java:252) ~[?:?]

	at org.openhab.binding.weathercompany.internal.handler.WeatherCompanyHandler$1.run(WeatherCompanyHandler.java:119) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:?]

	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) [?:?]

Can you edit the log in your last post to remove your API key from the URL?

thanks - i thought i had caught all places…

Yeah, I need to make some changes to strip out the API key when I log the URL.

I am very interested in deploying this…with that said which PWS should I look at purchasing? What model offers the most data that is consumable by OH?

Thanks for all of your hard work!

Squid

Hello @mhilbush

the new version seems to work - i get reports again.
here the log after i have moved the new version into teh addon folder and changed the interval in the thing.

2019-03-07 17:47:37.988 [DEBUG] [org.openhab.binding.weathercompany  ] - BundleEvent INSTALLED - org.openhab.binding.weathercompany

2019-03-07 17:47:38.608 [DEBUG] [org.openhab.binding.weathercompany  ] - BundleEvent RESOLVED - org.openhab.binding.weathercompany

2019-03-07 17:47:38.758 [DEBUG] [org.openhab.binding.weathercompany  ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=445, service.bundleid=250, service.scope=bundle, component.name=org.openhab.binding.weathercompany.internal.WeatherCompanyHandlerFactory, component.id=271} - org.openhab.binding.weathercompany

2019-03-07 17:47:38.787 [DEBUG] [org.openhab.binding.weathercompany  ] - BundleEvent STARTING - org.openhab.binding.weathercompany

2019-03-07 17:47:38.839 [DEBUG] [org.openhab.binding.weathercompany  ] - BundleEvent STARTED - org.openhab.binding.weathercompany

2019-03-07 17:47:39.006 [DEBUG] [org.openhab.binding.weathercompany  ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=446, service.bundleid=250, service.scope=bundle, component.name=org.openhab.binding.weathercompany.internal.discovery.WeatherCompanyDiscoveryService, component.id=272} - org.openhab.binding.weathercompany

2019-03-07 17:47:39.053 [DEBUG] [overy.WeatherCompanyDiscoveryService] - Starting Weather Company device background discovery

2019-03-07 17:47:39.069 [DEBUG] [overy.WeatherCompanyDiscoveryService] - Discovery: Scheduled Weather Company discovery job every 1200 seconds

2019-03-07 17:47:39.090 [DEBUG] [org.openhab.binding.weathercompany  ] - BundleEvent [unknown:512] - org.openhab.binding.weathercompany

2019-03-07 17:47:40.988 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Initializing

2019-03-07 17:47:41.000 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: apiKey=MYAPIKEY

2019-03-07 17:47:41.010 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: locationType=geocode

2019-03-07 17:47:41.019 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: postalCode=null

2019-03-07 17:47:41.023 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: geocode=55.609549564977556,12.975507492494211

2019-03-07 17:47:41.040 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: language=en-US

2019-03-07 17:47:41.056 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: pwsStationId=IMALM41

2019-03-07 17:47:41.066 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: refreshInterval=13 minutes

2019-03-07 17:47:41.085 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Forecast URL is https://api.weather.com/v3/wx/forecast/daily/5day?units=e&format=json&language=en-US&apiKey=MYAPIKEY&geocode=55.609549564977556,12.975507492494211

2019-03-07 17:47:41.104 [DEBUG] [ternal.handler.WeatherCompanyHandler] - PWS observations URL is https://api.weather.com/v2/pws/observations/current?units=e&format=json&stationId=IMALM41&apiKey=MYAPIKEY

2019-03-07 17:47:41.118 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Scheduling forecast refresh job in 3 seconds

2019-03-07 17:47:44.131 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Requesting forecast from The Weather Company API

2019-03-07 17:47:44.588 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Cache-Control header is max-age=1080

2019-03-07 17:47:44.593 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Parsing response: {"dayOfWeek":["Thursday","Friday","Saturday","Sunday","Monday","Tuesday"],"expirationTimeUtc":[1551978470,1551978470,1551978470,1551978470,1551978470,1551978470],"moonPhase":["New Moon","Waxing Crescent","Waxing Crescent","Waxing Crescent","Waxing Crescent","Waxing Crescent"],"moonPhaseCode":["N","WXC","WXC","WXC","WXC","WXC"],"moonPhaseDay":[0,1,2,3,4,5],"moonriseTimeLocal":["2019-03-07T07:30:46+0100","2019-03-08T07:46:20+0100","2019-03-09T08:01:40+0100","2019-03-10T08:17:43+0100","2019-03-11T08:35:35+0100","2019-03-12T08:56:39+0100"],"moonriseTimeUtc":[1551940246,1552027580,1552114900,1552202263,1552289735,1552377399],"moonsetTimeLocal":["2019-03-07T18:40:57+0100","2019-03-08T19:51:13+0100","2019-03-09T21:02:44+0100","2019-03-10T22:15:43+0100","2019-03-11T23:29:29+0100",""],"moonsetTimeUtc":[1551980457,1552071073,1552161764,1552252543,1552343369,null],"narrative":["Windy with light rain late. Lows overnight in the low 40s.","Showers early, windy. Highs in the mid 40s and lows in the upper 30s.","Windy with showers at times. Highs in the mid 40s and lows in the mid 30s.","Windy, chance of late day showers. Highs in the low 40s and lows in the mid 30s.","Morning rain mixed with snow. Highs in the low 40s and lows in the low 30s.","Cloudy. Highs in the low 40s and lows in the upper 30s."],"qpf":[0.06,0.09,0.21,0.1,0.04,0.14],"qpfSnow":[0.0,0.0,0.0,0.0,0.0,0.0],"sunriseTimeLocal":["2019-03-07T06:45:04+0100","2019-03-08T06:42:33+0100","2019-03-09T06:40:01+0100","2019-03-10T06:37:28+0100","2019-03-11T06:34:55+0100","2019-03-12T06:32:21+0100"],"sunriseTimeUtc":[1551937504,1552023753,1552110001,1552196248,1552282495,1552368741],"sunsetTimeLocal":["2019-03-07T17:54:27+0100","2019-03-08T17:56:33+0100","2019-03-09T17:58:38+0100","2019-03-10T18:00:42+0100","2019-03-11T18:02:47+0100","2019-03-12T18:04:51+0100"],"sunsetTimeUtc":[1551977667,1552064193,1552150718,1552237242,1552323767,1552410291],"temperatureMax":[null,44,45,43,41,40],"temperatureMin":[40,37,36,34,31,37],"validTimeLocal":["2019-03-07T07:00:00+0100","2019-03-08T07:00:00+0100","2019-03-09T07:00:00+0100","2019-03-10T07:00:00+0100","2019-03-11T07:00:00+0100","2019-03-12T07:00:00+0100"],"validTimeUtc":[1551938400,1552024800,1552111200,1552197600,1552284000,1552370400],"daypart":[{"cloudCover":[null,71,63,68,77,76,71,75,67,36,84,89],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night"],"iconCode":[null,11,39,12,11,11,39,5,5,29,26,11],"iconCodeExtend":[null,7311,6113,7310,1110,1100,7113,500,6403,2900,2600,1100],"narrative":[null,"Windy with light rain developing after midnight. Low near 40F. Winds SSW at 20 to 30 mph. Chance of rain 70%.","Windy with rain showers in the morning then partly cloudy in the afternoon. High 44F. Winds W at 25 to 35 mph. Chance of rain 50%. Winds could occasionally gust over 50 mph.","Windy early with rain developing later at night. Low 37F. Winds WSW at 20 to 30 mph. Chance of rain 90%.","Windy with light rain early...then remaining cloudy with showers in the afternoon. High around 45F. Winds WSW at 20 to 30 mph. Chance of rain 80%.","Rain showers in the evening becoming a steady light rain overnight. Low 36F. Winds W at 15 to 25 mph. Chance of rain 60%.","Windy in the morning with a few showers developing during the afternoon. High 43F. Winds W at 20 to 30 mph. Chance of rain 30%.","Rain showers in the evening with precipitation turning to a mixture of rain and snow overnight. Low 34F. Winds WSW at 10 to 15 mph. Chance of precip 70%.","Cloudy with rain and snow diminishing in the morning. Partial clearing in the afternoon. High 41F. Winds WNW at 10 to 20 mph. Chance of rain 70%.","Partly cloudy skies. Low 31F. Winds WNW at 10 to 15 mph.","Cloudy. High near 40F. Winds S at 15 to 25 mph.","Steady light rain in the evening. Showers continuing late. Low 37F. Winds S at 15 to 25 mph. Chance of rain 70%."],"precipChance":[null,70,50,90,80,60,30,70,70,10,20,70],"precipType":[null,"rain","rain","rain","rain","rain","rain","precip","rain","precip","rain","rain"],"qpf":[null,0.06,0.03,0.06,0.15,0.06,0.02,0.07,0.04,0.0,0.0,0.14],"qpfSnow":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":[null,null,"Q1022",null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,null,"Winds could occasionally gust over 50 mph.",null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,84,71,78,82,85,74,87,75,80,80,87],"snowRange":[null,"","","","","","","","","","",""],"temperature":[null,40,44,37,45,36,43,34,41,31,40,37],"temperatureHeatIndex":[null,44,44,40,45,40,43,39,40,36,39,39],"temperatureWindChill":[null,31,31,29,29,28,28,27,26,25,25,28],"thunderCategory":[null,"No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,0,0,0,0,0,0,0,0,0,0,0],"uvDescription":[null,"Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low"],"uvIndex":[null,0,1,0,1,0,1,0,1,0,1,0],"windDirection":[null,211,263,246,242,266,265,258,300,285,175,174],"windDirectionCardinal":[null,"SSW","W","WSW","WSW","W","W","WSW","WNW","WNW","S","S"],"windPhrase":[null,"Winds SSW at 20 to 30 mph.","Winds W at 25 to 35 mph.","Winds WSW at 20 to 30 mph.","Winds WSW at 20 to 30 mph.","Winds W at 15 to 25 mph.","Winds W at 20 to 30 mph.","Winds WSW at 10 to 15 mph.","Winds WNW at 10 to 20 mph.","Winds WNW at 10 to 15 mph.","Winds S at 15 to 25 mph.","Winds S at 15 to 25 mph."],"windSpeed":[null,24,31,23,20,19,20,12,15,11,17,19],"wxPhraseLong":[null,"Light Rain/Wind Late","AM Showers/Wind","Rain/Wind Late","Showers/Wind","Showers","PM Showers/Wind","Rain/Snow","AM Rain/Snow","Partly Cloudy","Cloudy","Showers"],"wxPhraseShort":[null,"Rain/Wind","Showers/Wind","Rain/Wind","Showers/Wind","Showers","Showers/Wind","Rain/Snow","AM Rain/Snow","P Cloudy","Cloudy","Showers"]}]}

2019-03-07 17:47:44.616 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed daily forecast response object

2019-03-07 17:47:44.620 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Thursday'

2019-03-07 17:47:44.632 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Friday'

2019-03-07 17:47:44.640 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Saturday'

2019-03-07 17:47:44.649 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Sunday'

2019-03-07 17:47:44.656 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Monday'

2019-03-07 17:47:44.664 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Tuesday'

2019-03-07 17:47:44.680 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Parsing daypartsObject: [{"cloudCover":[null,71.0,63.0,68.0,77.0,76.0,71.0,75.0,67.0,36.0,84.0,89.0],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night"],"iconCode":[null,11.0,39.0,12.0,11.0,11.0,39.0,5.0,5.0,29.0,26.0,11.0],"iconCodeExtend":[null,7311.0,6113.0,7310.0,1110.0,1100.0,7113.0,500.0,6403.0,2900.0,2600.0,1100.0],"narrative":[null,"Windy with light rain developing after midnight. Low near 40F. Winds SSW at 20 to 30 mph. Chance of rain 70%.","Windy with rain showers in the morning then partly cloudy in the afternoon. High 44F. Winds W at 25 to 35 mph. Chance of rain 50%. Winds could occasionally gust over 50 mph.","Windy early with rain developing later at night. Low 37F. Winds WSW at 20 to 30 mph. Chance of rain 90%.","Windy with light rain early...then remaining cloudy with showers in the afternoon. High around 45F. Winds WSW at 20 to 30 mph. Chance of rain 80%.","Rain showers in the evening becoming a steady light rain overnight. Low 36F. Winds W at 15 to 25 mph. Chance of rain 60%.","Windy in the morning with a few showers developing during the afternoon. High 43F. Winds W at 20 to 30 mph. Chance of rain 30%.","Rain showers in the evening with precipitation turning to a mixture of rain and snow overnight. Low 34F. Winds WSW at 10 to 15 mph. Chance of precip 70%.","Cloudy with rain and snow diminishing in the morning. Partial clearing in the afternoon. High 41F. Winds WNW at 10 to 20 mph. Chance of rain 70%.","Partly cloudy skies. Low 31F. Winds WNW at 10 to 15 mph.","Cloudy. High near 40F. Winds S at 15 to 25 mph.","Steady light rain in the evening. Showers continuing late. Low 37F. Winds S at 15 to 25 mph. Chance of rain 70%."],"precipChance":[null,70.0,50.0,90.0,80.0,60.0,30.0,70.0,70.0,10.0,20.0,70.0],"precipType":[null,"rain","rain","rain","rain","rain","rain","precip","rain","precip","rain","rain"],"qpf":[null,0.06,0.03,0.06,0.15,0.06,0.02,0.07,0.04,0.0,0.0,0.14],"qpfSnow":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":[null,null,"Q1022",null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,null,"Winds could occasionally gust over 50 mph.",null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,84.0,71.0,78.0,82.0,85.0,74.0,87.0,75.0,80.0,80.0,87.0],"snowRange":[null,"","","","","","","","","","",""],"temperature":[null,40.0,44.0,37.0,45.0,36.0,43.0,34.0,41.0,31.0,40.0,37.0],"temperatureHeatIndex":[null,44.0,44.0,40.0,45.0,40.0,43.0,39.0,40.0,36.0,39.0,39.0],"temperatureWindChill":[null,31.0,31.0,29.0,29.0,28.0,28.0,27.0,26.0,25.0,25.0,28.0],"thunderCategory":[null,"No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"uvDescription":[null,"Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low"],"uvIndex":[null,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0],"windDirection":[null,211.0,263.0,246.0,242.0,266.0,265.0,258.0,300.0,285.0,175.0,174.0],"windDirectionCardinal":[null,"SSW","W","WSW","WSW","W","W","WSW","WNW","WNW","S","S"],"windPhrase":[null,"Winds SSW at 20 to 30 mph.","Winds W at 25 to 35 mph.","Winds WSW at 20 to 30 mph.","Winds WSW at 20 to 30 mph.","Winds W at 15 to 25 mph.","Winds W at 20 to 30 mph.","Winds WSW at 10 to 15 mph.","Winds WNW at 10 to 20 mph.","Winds WNW at 10 to 15 mph.","Winds S at 15 to 25 mph.","Winds S at 15 to 25 mph."],"windSpeed":[null,24.0,31.0,23.0,20.0,19.0,20.0,12.0,15.0,11.0,17.0,19.0],"wxPhraseLong":[null,"Light Rain/Wind Late","AM Showers/Wind","Rain/Wind Late","Showers/Wind","Showers","PM Showers/Wind","Rain/Snow","AM Rain/Snow","Partly Cloudy","Cloudy","Showers"],"wxPhraseShort":[null,"Rain/Wind","Showers/Wind","Rain/Wind","Showers/Wind","Showers","Showers/Wind","Rain/Snow","AM Rain/Snow","P Cloudy","Cloudy","Showers"]}]

2019-03-07 17:47:44.703 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed daypart forecast object

2019-03-07 17:47:44.707 [DEBUG] [ternal.handler.WeatherCompanyHandler] - There are 1 daypart forecast entries

2019-03-07 17:47:44.709 [DEBUG] [ternal.handler.WeatherCompanyHandler] - There are 12 daypartName entries in this forecast

2019-03-07 17:47:44.713 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'null'

2019-03-07 17:47:45.451 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tonight'

2019-03-07 17:47:45.634 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tomorrow'

2019-03-07 17:47:45.786 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tomorrow night'

2019-03-07 17:47:45.963 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Saturday'

2019-03-07 17:47:46.102 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Saturday night'

2019-03-07 17:47:46.242 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Sunday'

2019-03-07 17:47:46.379 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Sunday night'

2019-03-07 17:47:46.552 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Monday'

2019-03-07 17:47:46.711 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Monday night'

2019-03-07 17:47:46.865 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tuesday'

2019-03-07 17:47:46.982 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tuesday night'

2019-03-07 17:47:47.107 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Requesting PWS observations from The Weather Company API

2019-03-07 17:47:47.625 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Cache-Control header is max-age=26

2019-03-07 17:47:47.629 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Parsing response: {"observations":[{"stationID":"IMALM41","obsTimeUtc":"2019-03-07T16:47:38Z","obsTimeLocal":"2019-03-07 17:47:38","neighborhood":"Malmoe Vaestra Hamnen Marina","softwareType":"EasyWeatherV1.1.4","country":"SE","solarRadiation":7.7,"lon":12.97563267,"realtimeFrequency":null,"epoch":1551977258,"lat":55.60958481,"uv":0.0,"winddir":206,"humidity":81,"qcStatus":1,"imperial":{"temp":45,"heatIndex":45,"dewpt":40,"windChill":40,"windSpeed":11,"windGust":13,"pressure":29.26,"precipRate":0.00,"precipTotal":0.17,"elev":0}}]}

2019-03-07 17:47:47.645 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed PWS observations response object

2019-03-07 17:47:47.649 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing PWS observations from station IMALM41 at 2019-03-07 17:47:38

2019-03-07 17:47:49.108 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Disposing

2019-03-07 17:47:49.115 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Canceling forecast refresh job

2019-03-07 17:47:49.716 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Initializing

2019-03-07 17:47:49.723 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: apiKey=MYAPIKEY

2019-03-07 17:47:49.729 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: locationType=geocode

2019-03-07 17:47:49.736 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: postalCode=null

2019-03-07 17:47:49.742 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: geocode=55.609549564977556,12.975507492494211

2019-03-07 17:47:49.750 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: language=en-US

2019-03-07 17:47:49.755 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: pwsStationId=IMALM41

2019-03-07 17:47:49.760 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Config: refreshInterval=14 minutes

2019-03-07 17:47:49.768 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Forecast URL is https://api.weather.com/v3/wx/forecast/daily/5day?units=e&format=json&language=en-US&apiKey=MYAPIKEY&geocode=55.609549564977556,12.975507492494211

2019-03-07 17:47:49.778 [DEBUG] [ternal.handler.WeatherCompanyHandler] - PWS observations URL is https://api.weather.com/v2/pws/observations/current?units=e&format=json&stationId=IMALM41&apiKey=MYAPIKEY

2019-03-07 17:47:49.784 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Scheduling forecast refresh job in 3 seconds

2019-03-07 17:47:49.791 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Canceling forecast refresh job

2019-03-07 17:47:52.797 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Requesting forecast from The Weather Company API

2019-03-07 17:47:52.849 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Cache-Control header is max-age=1072

2019-03-07 17:47:52.853 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Parsing response: {"dayOfWeek":["Thursday","Friday","Saturday","Sunday","Monday","Tuesday"],"expirationTimeUtc":[1551978470,1551978470,1551978470,1551978470,1551978470,1551978470],"moonPhase":["New Moon","Waxing Crescent","Waxing Crescent","Waxing Crescent","Waxing Crescent","Waxing Crescent"],"moonPhaseCode":["N","WXC","WXC","WXC","WXC","WXC"],"moonPhaseDay":[0,1,2,3,4,5],"moonriseTimeLocal":["2019-03-07T07:30:46+0100","2019-03-08T07:46:20+0100","2019-03-09T08:01:40+0100","2019-03-10T08:17:43+0100","2019-03-11T08:35:35+0100","2019-03-12T08:56:39+0100"],"moonriseTimeUtc":[1551940246,1552027580,1552114900,1552202263,1552289735,1552377399],"moonsetTimeLocal":["2019-03-07T18:40:57+0100","2019-03-08T19:51:13+0100","2019-03-09T21:02:44+0100","2019-03-10T22:15:43+0100","2019-03-11T23:29:29+0100",""],"moonsetTimeUtc":[1551980457,1552071073,1552161764,1552252543,1552343369,null],"narrative":["Windy with light rain late. Lows overnight in the low 40s.","Showers early, windy. Highs in the mid 40s and lows in the upper 30s.","Windy with showers at times. Highs in the mid 40s and lows in the mid 30s.","Windy, chance of late day showers. Highs in the low 40s and lows in the mid 30s.","Morning rain mixed with snow. Highs in the low 40s and lows in the low 30s.","Cloudy. Highs in the low 40s and lows in the upper 30s."],"qpf":[0.06,0.09,0.21,0.1,0.04,0.14],"qpfSnow":[0.0,0.0,0.0,0.0,0.0,0.0],"sunriseTimeLocal":["2019-03-07T06:45:04+0100","2019-03-08T06:42:33+0100","2019-03-09T06:40:01+0100","2019-03-10T06:37:28+0100","2019-03-11T06:34:55+0100","2019-03-12T06:32:21+0100"],"sunriseTimeUtc":[1551937504,1552023753,1552110001,1552196248,1552282495,1552368741],"sunsetTimeLocal":["2019-03-07T17:54:27+0100","2019-03-08T17:56:33+0100","2019-03-09T17:58:38+0100","2019-03-10T18:00:42+0100","2019-03-11T18:02:47+0100","2019-03-12T18:04:51+0100"],"sunsetTimeUtc":[1551977667,1552064193,1552150718,1552237242,1552323767,1552410291],"temperatureMax":[null,44,45,43,41,40],"temperatureMin":[40,37,36,34,31,37],"validTimeLocal":["2019-03-07T07:00:00+0100","2019-03-08T07:00:00+0100","2019-03-09T07:00:00+0100","2019-03-10T07:00:00+0100","2019-03-11T07:00:00+0100","2019-03-12T07:00:00+0100"],"validTimeUtc":[1551938400,1552024800,1552111200,1552197600,1552284000,1552370400],"daypart":[{"cloudCover":[null,71,63,68,77,76,71,75,67,36,84,89],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night"],"iconCode":[null,11,39,12,11,11,39,5,5,29,26,11],"iconCodeExtend":[null,7311,6113,7310,1110,1100,7113,500,6403,2900,2600,1100],"narrative":[null,"Windy with light rain developing after midnight. Low near 40F. Winds SSW at 20 to 30 mph. Chance of rain 70%.","Windy with rain showers in the morning then partly cloudy in the afternoon. High 44F. Winds W at 25 to 35 mph. Chance of rain 50%. Winds could occasionally gust over 50 mph.","Windy early with rain developing later at night. Low 37F. Winds WSW at 20 to 30 mph. Chance of rain 90%.","Windy with light rain early...then remaining cloudy with showers in the afternoon. High around 45F. Winds WSW at 20 to 30 mph. Chance of rain 80%.","Rain showers in the evening becoming a steady light rain overnight. Low 36F. Winds W at 15 to 25 mph. Chance of rain 60%.","Windy in the morning with a few showers developing during the afternoon. High 43F. Winds W at 20 to 30 mph. Chance of rain 30%.","Rain showers in the evening with precipitation turning to a mixture of rain and snow overnight. Low 34F. Winds WSW at 10 to 15 mph. Chance of precip 70%.","Cloudy with rain and snow diminishing in the morning. Partial clearing in the afternoon. High 41F. Winds WNW at 10 to 20 mph. Chance of rain 70%.","Partly cloudy skies. Low 31F. Winds WNW at 10 to 15 mph.","Cloudy. High near 40F. Winds S at 15 to 25 mph.","Steady light rain in the evening. Showers continuing late. Low 37F. Winds S at 15 to 25 mph. Chance of rain 70%."],"precipChance":[null,70,50,90,80,60,30,70,70,10,20,70],"precipType":[null,"rain","rain","rain","rain","rain","rain","precip","rain","precip","rain","rain"],"qpf":[null,0.06,0.03,0.06,0.15,0.06,0.02,0.07,0.04,0.0,0.0,0.14],"qpfSnow":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":[null,null,"Q1022",null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,null,"Winds could occasionally gust over 50 mph.",null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,84,71,78,82,85,74,87,75,80,80,87],"snowRange":[null,"","","","","","","","","","",""],"temperature":[null,40,44,37,45,36,43,34,41,31,40,37],"temperatureHeatIndex":[null,44,44,40,45,40,43,39,40,36,39,39],"temperatureWindChill":[null,31,31,29,29,28,28,27,26,25,25,28],"thunderCategory":[null,"No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,0,0,0,0,0,0,0,0,0,0,0],"uvDescription":[null,"Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low"],"uvIndex":[null,0,1,0,1,0,1,0,1,0,1,0],"windDirection":[null,211,263,246,242,266,265,258,300,285,175,174],"windDirectionCardinal":[null,"SSW","W","WSW","WSW","W","W","WSW","WNW","WNW","S","S"],"windPhrase":[null,"Winds SSW at 20 to 30 mph.","Winds W at 25 to 35 mph.","Winds WSW at 20 to 30 mph.","Winds WSW at 20 to 30 mph.","Winds W at 15 to 25 mph.","Winds W at 20 to 30 mph.","Winds WSW at 10 to 15 mph.","Winds WNW at 10 to 20 mph.","Winds WNW at 10 to 15 mph.","Winds S at 15 to 25 mph.","Winds S at 15 to 25 mph."],"windSpeed":[null,24,31,23,20,19,20,12,15,11,17,19],"wxPhraseLong":[null,"Light Rain/Wind Late","AM Showers/Wind","Rain/Wind Late","Showers/Wind","Showers","PM Showers/Wind","Rain/Snow","AM Rain/Snow","Partly Cloudy","Cloudy","Showers"],"wxPhraseShort":[null,"Rain/Wind","Showers/Wind","Rain/Wind","Showers/Wind","Showers","Showers/Wind","Rain/Snow","AM Rain/Snow","P Cloudy","Cloudy","Showers"]}]}

2019-03-07 17:47:52.862 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed daily forecast response object

2019-03-07 17:47:52.865 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Thursday'

2019-03-07 17:47:52.872 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Friday'

2019-03-07 17:47:52.879 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Saturday'

2019-03-07 17:47:52.886 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Sunday'

2019-03-07 17:47:52.893 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Monday'

2019-03-07 17:47:52.900 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daily forecast for 'Tuesday'

2019-03-07 17:47:52.912 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Parsing daypartsObject: [{"cloudCover":[null,71.0,63.0,68.0,77.0,76.0,71.0,75.0,67.0,36.0,84.0,89.0],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night"],"iconCode":[null,11.0,39.0,12.0,11.0,11.0,39.0,5.0,5.0,29.0,26.0,11.0],"iconCodeExtend":[null,7311.0,6113.0,7310.0,1110.0,1100.0,7113.0,500.0,6403.0,2900.0,2600.0,1100.0],"narrative":[null,"Windy with light rain developing after midnight. Low near 40F. Winds SSW at 20 to 30 mph. Chance of rain 70%.","Windy with rain showers in the morning then partly cloudy in the afternoon. High 44F. Winds W at 25 to 35 mph. Chance of rain 50%. Winds could occasionally gust over 50 mph.","Windy early with rain developing later at night. Low 37F. Winds WSW at 20 to 30 mph. Chance of rain 90%.","Windy with light rain early...then remaining cloudy with showers in the afternoon. High around 45F. Winds WSW at 20 to 30 mph. Chance of rain 80%.","Rain showers in the evening becoming a steady light rain overnight. Low 36F. Winds W at 15 to 25 mph. Chance of rain 60%.","Windy in the morning with a few showers developing during the afternoon. High 43F. Winds W at 20 to 30 mph. Chance of rain 30%.","Rain showers in the evening with precipitation turning to a mixture of rain and snow overnight. Low 34F. Winds WSW at 10 to 15 mph. Chance of precip 70%.","Cloudy with rain and snow diminishing in the morning. Partial clearing in the afternoon. High 41F. Winds WNW at 10 to 20 mph. Chance of rain 70%.","Partly cloudy skies. Low 31F. Winds WNW at 10 to 15 mph.","Cloudy. High near 40F. Winds S at 15 to 25 mph.","Steady light rain in the evening. Showers continuing late. Low 37F. Winds S at 15 to 25 mph. Chance of rain 70%."],"precipChance":[null,70.0,50.0,90.0,80.0,60.0,30.0,70.0,70.0,10.0,20.0,70.0],"precipType":[null,"rain","rain","rain","rain","rain","rain","precip","rain","precip","rain","rain"],"qpf":[null,0.06,0.03,0.06,0.15,0.06,0.02,0.07,0.04,0.0,0.0,0.14],"qpfSnow":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"qualifierCode":[null,null,"Q1022",null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,null,"Winds could occasionally gust over 50 mph.",null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,84.0,71.0,78.0,82.0,85.0,74.0,87.0,75.0,80.0,80.0,87.0],"snowRange":[null,"","","","","","","","","","",""],"temperature":[null,40.0,44.0,37.0,45.0,36.0,43.0,34.0,41.0,31.0,40.0,37.0],"temperatureHeatIndex":[null,44.0,44.0,40.0,45.0,40.0,43.0,39.0,40.0,36.0,39.0,39.0],"temperatureWindChill":[null,31.0,31.0,29.0,29.0,28.0,28.0,27.0,26.0,25.0,25.0,28.0],"thunderCategory":[null,"No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"uvDescription":[null,"Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low"],"uvIndex":[null,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0],"windDirection":[null,211.0,263.0,246.0,242.0,266.0,265.0,258.0,300.0,285.0,175.0,174.0],"windDirectionCardinal":[null,"SSW","W","WSW","WSW","W","W","WSW","WNW","WNW","S","S"],"windPhrase":[null,"Winds SSW at 20 to 30 mph.","Winds W at 25 to 35 mph.","Winds WSW at 20 to 30 mph.","Winds WSW at 20 to 30 mph.","Winds W at 15 to 25 mph.","Winds W at 20 to 30 mph.","Winds WSW at 10 to 15 mph.","Winds WNW at 10 to 20 mph.","Winds WNW at 10 to 15 mph.","Winds S at 15 to 25 mph.","Winds S at 15 to 25 mph."],"windSpeed":[null,24.0,31.0,23.0,20.0,19.0,20.0,12.0,15.0,11.0,17.0,19.0],"wxPhraseLong":[null,"Light Rain/Wind Late","AM Showers/Wind","Rain/Wind Late","Showers/Wind","Showers","PM Showers/Wind","Rain/Snow","AM Rain/Snow","Partly Cloudy","Cloudy","Showers"],"wxPhraseShort":[null,"Rain/Wind","Showers/Wind","Rain/Wind","Showers/Wind","Showers","Showers/Wind","Rain/Snow","AM Rain/Snow","P Cloudy","Cloudy","Showers"]}]

2019-03-07 17:47:52.920 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed daypart forecast object

2019-03-07 17:47:52.924 [DEBUG] [ternal.handler.WeatherCompanyHandler] - There are 1 daypart forecast entries

2019-03-07 17:47:52.927 [DEBUG] [ternal.handler.WeatherCompanyHandler] - There are 12 daypartName entries in this forecast

2019-03-07 17:47:52.931 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'null'

2019-03-07 17:47:53.084 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tonight'

2019-03-07 17:47:53.215 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tomorrow'

2019-03-07 17:47:53.366 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tomorrow night'

2019-03-07 17:47:53.574 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Saturday'

2019-03-07 17:47:53.703 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Saturday night'

2019-03-07 17:47:53.842 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Sunday'

2019-03-07 17:47:53.967 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Sunday night'

2019-03-07 17:47:54.127 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Monday'

2019-03-07 17:47:54.281 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Monday night'

2019-03-07 17:47:54.436 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tuesday'

2019-03-07 17:47:54.654 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing daypart forecast for 'Tuesday night'

2019-03-07 17:47:54.789 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Requesting PWS observations from The Weather Company API

2019-03-07 17:47:54.983 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Cache-Control header is max-age=19

2019-03-07 17:47:54.986 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Parsing response: {"observations":[{"stationID":"IMALM41","obsTimeUtc":"2019-03-07T16:47:38Z","obsTimeLocal":"2019-03-07 17:47:38","neighborhood":"Malmoe Vaestra Hamnen Marina","softwareType":"EasyWeatherV1.1.4","country":"SE","solarRadiation":7.7,"lon":12.97563267,"realtimeFrequency":null,"epoch":1551977258,"lat":55.60958481,"uv":0.0,"winddir":206,"humidity":81,"qcStatus":1,"imperial":{"temp":45,"heatIndex":45,"dewpt":40,"windChill":40,"windSpeed":11,"windGust":13,"pressure":29.26,"precipRate":0.00,"precipTotal":0.17,"elev":0}}]}

2019-03-07 17:47:54.991 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Handler: Successfully parsed PWS observations response object

2019-03-07 17:47:54.995 [DEBUG] [ternal.handler.WeatherCompanyHandler] - Processing PWS observations from station IMALM41 at 2019-03-07 17:47:38

Big thank you - and good luck with bu hunting - seems that there might not be anymore… :slight_smile:

Thanks. I’ll come up with a more permanent fix, as well as remove the API keys that are being logged.

1 Like

One more observation/suggestion

The forecast, which I receive in the debug log, has Fahrenheit and mps as units. I see in the Weather Company API documentation, that the call can include the desired units (at least, that’s how I understand this)

Does the binding interrogate the Openhab it is installed on for the correct unit settings? or should the binding have a possibility to set these?

it might be, that you have already given the answer though: WeatherUnderground replacement (for PWS data uploaders only!)

Here’s how I’ve implemented this.

  • The binding always requests Imperial units
  • Channels whose value can be either Imperial or Metric are updated using the QuantityType state, which requires both a value (e.g. 70) and Unit of Measure (e.g. FAHRENHEIT)
  • In the Paper UI System Configuration, on the Regional Settings panel, the user sets the language and country of their locale
  • Items are then defined to include the UoM identifier (e.g. Number:Temperature ItemName "Temperature [%.0f %unit%]"

This should result in the proper UoM conversion of the value, as well as presentation of the unit based on the locale set by the user. So, even though the temp was processed by the binding as 70 °F, in Sweden you should see 21 °C on the User Interface.

1 Like

yes - id o. Its only the narrative weatherforecast, which is in mps. Thanks