TimeoutException: Call to Weather Company API timed out

Hi all,
Thanks for the good binding as described here

Background info:
OH version 2.5.11
Hardware RPI 3
OS: Raspbian Jessie
Network connection thru ETH0 / Cat 5E cable to (ziggo) cable modem.

My "Weather Company weather forecast " Thing reports “OFFLINE - COMMUNICATION_ERROR” TimeoutException: Call to Weather Company API timed out
in the PaperUI quite often.
My “Weather Company Observations” Thing is working stable though.

information:
My “Weather Company Account”

Weather Company Account

weathercompany:account:b374b76b

My “Weather Company Observations”

Weather Company Observations

weathercompany:weather-observations:3fb87345

Has the following config options:

Bridge Selection
Weather Company Account - weathercompany:account:b374b76b
Configuration Parameters
Configure parameters for the thing.


PWS Station ID
IZUIDHOL136
ID of your Personal Weather Station (e.g. KILCHICA52)

Refresh interval
30
Specifies the refresh interval in minutes

My “Weather Company Forecast” (with Status: OFFLINE - COMMUNICATION_ERROR TimeoutException: Call to Weather Company API timed out)

Weather Company Forecast

weathercompany:weather-forecast:b374b76b:local

Has the following config options:

Bridge Selection
Weather Company Account - weathercompany:account:b374b76b
Configuration Parameters
Configure parameters for the thing.


Location Type
Geocode
Location type (Postal Code, Geocode)


Postal code
Postal code of form postal:country (e.g. 10001:US)

Location
51.9101509,4.552702399999999

relevant piece of (debug) log:

2020-12-14 15:47:26.477 [DEBUG] [andler.WeatherCompanyForecastHandler] - Handler: Successfully parsed daypart forecast object
2020-12-14 15:47:26.479 [DEBUG] [andler.WeatherCompanyForecastHandler] - There are 1 daypart forecast entries
2020-12-14 15:47:26.482 [DEBUG] [andler.WeatherCompanyForecastHandler] - There are 12 daypartName entries in this forecast
2020-12-14 15:47:26.484 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'null'
2020-12-14 15:47:26.679 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Vanavond'
2020-12-14 15:47:26.859 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Morgen'
2020-12-14 15:47:26.934 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Morgenavond'
2020-12-14 15:47:27.018 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Woensdag'
2020-12-14 15:47:27.100 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Woensdagnacht'
2020-12-14 15:47:27.185 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Donderdag'
2020-12-14 15:47:27.260 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Donderdagnacht'
2020-12-14 15:47:27.357 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Vrijdag'
2020-12-14 15:47:27.433 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Vrijdagnacht'
2020-12-14 15:47:27.517 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Zaterdag'
2020-12-14 15:47:27.582 [DEBUG] [andler.WeatherCompanyForecastHandler] - Processing daypart forecast for 'Zaterdagnacht'
2020-12-14 15:47:34.779 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-14 16:17:27.646 [DEBUG] [andler.WeatherCompanyForecastHandler] - Handler: Requesting forecast from The Weather Company API
2020-12-14 16:17:27.649 [DEBUG] [andler.WeatherCompanyForecastHandler] - Forecast URL is https://api.weather.com/v3/wx/forecast/daily/5day?format=json&language=nl-NL&apiKey=XXXXXXXXXXXXXXXXXXXXX&units=s&geocode=51.9101509,4.552702399999999
2020-12-14 16:17:34.782 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Requesting PWS observations from The Weather Company API
2020-12-14 16:17:34.786 [DEBUG] [er.WeatherCompanyObservationsHandler] - PWS observations URL is https://api.weather.com/v2/pws/observations/current?units=e&numericPrecision=decimal&format=json&stationId=IZUIDHOL136&apiKey=XXXXXXXXXXXXXXXXXXXXX
2020-12-14 16:17:36.009 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Cache-Control header is max-age=5
2020-12-14 16:17:36.012 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Parsing PWS observations response: {"observations":[{"stationID":"IZUIDHOL136","obsTimeUtc":"2020-12-14T15:17:27Z","obsTimeLocal":"2020-12-14 16:17:27","neighborhood":"  Kralingseveer","softwareType":"EasyWeatherV1.5.0","country":"NL","solarRadiation":4.8,"lon":4.552876,"realtimeFrequency":null,"epoch":1607959047,"lat":51.910278,"uv":0.0,"winddir":206,"humidity":85.0,"qcStatus":1,"imperial":{"temp":52.0,"heatIndex":52.0,"dewpt":47.7,"windChill":52.0,"windSpeed":1.8,"windGust":2.2,"pressure":29.85,"precipRate":0.00,"precipTotal":0.15,"elev":-3.0}}]}

2020-12-14 16:17:36.017 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Successfully parsed PWS observations response object
2020-12-14 16:17:36.023 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Processing observations from station IZUIDHOL136 at 2020-12-14 16:17:27
2020-12-14 16:17:42.659 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out

As you can see from the log the timeout occurred at 15:47:34.779 and 16:17:42.659 in this log.

ANY hints where to start of how to fix this?

Many thanks in advance,
André

I see this happening from time to time. Usually, it’s just one or two timeouts then it’s back to normal for a while. Did your thing eventually come back online?

Hi Mark,
Thanks for your reply,
Yes the Things are both online from time to time.
I’m actually not 100% shure it is always the same which goes offline.
Is the timeout configurable somewhere?
If so maybe a can “try-and-err” to find the shortest without errors?

Regards,
André

Hopefully they’re online more than they’re offline. :wink:

The timeout is not configurable, and currently is set to 15 seconds. I’m not sure increasing it will help much.

How frequently are you seeing the timeouts? I typically see one or two every few days.

Hi Mark,
from Events.log (grep weather) (start today midnigth):

2020-12-15 00:50:00.055 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 00:50:01.799 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 01:20:02.765 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 01:20:15.245 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 01:50:16.161 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 01:50:18.932 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 02:20:19.908 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 02:20:31.308 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 02:50:32.374 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 02:50:36.054 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 03:20:37.006 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 03:20:47.478 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 03:50:48.467 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 03:50:53.537 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 04:20:54.662 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 04:21:03.573 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 04:51:04.545 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 04:51:11.042 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 05:21:11.948 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 05:21:19.692 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 05:51:20.800 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 05:51:28.258 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 06:21:29.092 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 06:21:35.967 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 06:51:36.902 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 06:51:45.331 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 07:21:46.078 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 07:21:52.023 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 07:51:53.060 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 07:52:02.331 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 08:22:03.253 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 08:22:08.226 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out
2020-12-15 08:52:09.395 [hingStatusInfoChangedEvent] - 'weathercompany:weather-observations:3fb87345' changed from OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out to ONLINE
2020-12-15 08:52:19.551 [hingStatusInfoChangedEvent] - 'weathercompany:weather-forecast:b374b76b:local' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): TimeoutException: Call to Weather Company API timed out

It looks like nearly every 30 minutes (refresh interval) both Things change form ONLINE to OFFLINE or Visa Versa.
This is very much compaired to:

A 15 seconds timeout should be long enough for any internet call to finish, I would say.

Regards, André

Yeah, it looks like every other call is timing out, which seems pretty strange.

By comparison, I’ve had a total of 3 timeouts over the last 5 days. Most calls return in under 1 second.

If you’d like, I can build you a version of the binding that:

  • has a longer timeout (what would you like it to be?)
  • logs the response time (in debug mode) so we can see more clearly the performance of the successful calls

Hi Mark,
As you mentioned before the 15 seconds time-out isn’t likely to be the problem.
So if the binding can log the respons time (in debug mode) it would give some insigth.

As my settings had the refresh interval of both Things at 30 minutes i wonder if the second Thing is “refused” by the API.

As a test if now set one of both to 31 minutes, this should avoid the above sketched situation for 29 consecutive calls.

I’ll update tomorrow if this make a difference.
Best regards,
André

I have a 2.5.x version that logs response time in DEBUG mode. I’ve been running that on my system for most of the day today. Most of the API calls are taking under 200 msec.

I’ll upload that version if you want to try it out. I’ll post a link and instructions shortly.

2020-12-15 15:25:22.251 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 333 msec
2020-12-15 15:27:22.393 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 136 msec
2020-12-15 15:29:22.488 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 90 msec
2020-12-15 15:31:22.592 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 99 msec
2020-12-15 15:33:22.696 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 102 msec
2020-12-15 15:35:22.790 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 92 msec
2020-12-15 15:37:22.897 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 100 msec
2020-12-15 15:39:22.985 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 82 msec
2020-12-15 15:41:23.161 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 170 msec
2020-12-15 15:43:23.285 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 121 msec
2020-12-15 15:45:23.423 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 131 msec
2020-12-15 15:47:23.558 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 129 msec
2020-12-15 15:49:23.782 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 222 msec
2020-12-15 15:50:51.978 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 124 msec
2020-12-15 15:51:23.924 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 135 msec
2020-12-15 15:53:24.012 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 81 msec
2020-12-15 15:55:24.150 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 134 msec
2020-12-15 15:57:24.278 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 120 msec
2020-12-15 15:59:24.378 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 93 msec
2020-12-15 16:01:24.485 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 100 msec
2020-12-15 16:03:24.647 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 155 msec
2020-12-15 16:05:24.744 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 91 msec
2020-12-15 16:07:24.836 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 86 msec
2020-12-15 16:09:24.927 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 85 msec
2020-12-15 16:11:25.013 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 80 msec

Here it is.

https://github.com/mhilbush/openhab-binding-releases/blob/master/weathercompany/org.openhab.binding.weathercompany-2.5.12-SNAPSHOT.jar?raw=true

You need to uninstall the binding you’re running, then drop this one in addons and turn on DEBUG mode.

Hi Mark,
My feedback on the different intervals for the two Things is that is does matter, but is doesn’t solve the issue.

2020-12-17 14:16:03.512 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 15:16:19.220 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 15:46:34.243 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 16:16:49.265 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 16:47:04.289 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 17:17:19.311 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 17:47:34.333 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 18:17:49.355 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 18:48:04.379 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 19:18:19.398 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 19:48:34.416 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 20:18:49.435 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-17 20:49:04.465 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out

The forecast Thing seems to be stable, but the Observations thing seem to timeout constant now.

I checked on the website if my PWS maybe was offline itself, but is was all oké.
Also double checked the PWD ID,
than I changed the interval of the Obervations Thing and got it back online

2020-12-17 21:21:32.705 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Processing observations from station IZUIDHOL136 at 2020-12-17 21:21:26

I’ll install your snapshot below to log the respons time of the API calls.

Best Regards, André

To clarify, changing the thing config in any way (including changing the refresh interval) has the side-effect of causing the Thing Handler to reinitialize, which results in an API call to the Weather Company. If that API call is successful, it will mark the thing ONLINE.

Hi Mark,
the snapshot shows alternating timeout and respons time in the log.

2020-12-18 16:36:12.940 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 629 msec
2020-12-18 16:36:24.375 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 17:06:24.936 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 550 msec
2020-12-18 17:06:28.131 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 17:36:28.635 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 494 msec
2020-12-18 17:36:41.466 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 18:06:41.889 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 411 msec
2020-12-18 18:06:43.836 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 18:36:44.256 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 409 msec
2020-12-18 18:36:58.078 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 19:06:58.627 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 539 msec
2020-12-18 19:06:59.368 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 19:37:00.287 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 436 msec
2020-12-18 19:37:14.392 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 20:07:14.879 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 477 msec
2020-12-18 20:07:16.533 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 20:37:17.246 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 702 msec
2020-12-18 20:37:29.976 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out
2020-12-18 21:07:30.594 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 608 msec
2020-12-18 21:07:33.500 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out

This part of the log confuses me.
both Forecast and Observations looks to be succes full, but a TimeoutException is thrown

2020-12-18 21:07:18.479 [DEBUG] [andler.WeatherCompanyForecastHandler] - Handler: Requesting forecast from The Weather Company API
2020-12-18 21:07:18.483 [DEBUG] [andler.WeatherCompanyForecastHandler] - Forecast URL is https://api.weather.com/v3/wx/forecast/daily/5day?format=json&language=nl-NL&apiKey=XXXXXXXXXXXXXXXXXXXXX&units=s&geocode=51.9101509,4.552702399999999
2020-12-18 21:07:29.979 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Requesting PWS observations from The Weather Company API
2020-12-18 21:07:29.983 [DEBUG] [er.WeatherCompanyObservationsHandler] - PWS observations URL is https://api.weather.com/v2/pws/observations/current?units=e&numericPrecision=decimal&format=json&stationId=IZUIDHOL136&apiKey=XXXXXXXXXXXXXXXXXXXXX
2020-12-18 21:07:30.594 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 608 msec
2020-12-18 21:07:30.596 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Cache-Control header is max-age=5
2020-12-18 21:07:30.597 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Parsing PWS observations response: {"observations":[{"stationID":"IZUIDHOL136","obsTimeUtc":"2020-12-18T20:07:12Z","obsTimeLocal":"2020-12-18 21:07:12","neighborhood":"  Kralingseveer","softwareType":"EasyWeatherV1.5.0","country":"NL","solarRadiation":0.0,"lon":4.552876,"realtimeFrequency":null,"epoch":1608322032,"lat":51.910278,"uv":0.0,"winddir":181,"humidity":83.0,"qcStatus":1,"imperial":{"temp":48.0,"heatIndex":48.0,"dewpt":43.2,"windChill":48.0,"windSpeed":1.1,"windGust":1.1,"pressure":30.13,"precipRate":0.00,"precipTotal":0.00,"elev":-3.0}}]}

2020-12-18 21:07:30.600 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Successfully parsed PWS observations response object
2020-12-18 21:07:30.604 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Processing observations from station IZUIDHOL136 at 2020-12-18 21:07:12
2020-12-18 21:07:33.500 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out

Very bizarre. I really don’t know what to make of this.

My log messages aren’t very clear here. But, the PWS call was successful, and the forecast call timed out.

These logs relate to PWS.

2020-12-18 21:07:29.979 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Requesting PWS observations from The Weather Company API
2020-12-18 21:07:29.983 [DEBUG] [er.WeatherCompanyObservationsHandler] - PWS observations URL is https://api.weather.com/v2/pws/observations/current?units=e&numericPrecision=decimal&format=json&stationId=IZUIDHOL136&apiKey=XXXXXXXXXXXXXXXXXXXXX
2020-12-18 21:07:30.594 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Handler: Successfull call response time was 608 msec
2020-12-18 21:07:30.596 [DEBUG] [andler.WeatherCompanyAbstractHandler] - Cache-Control header is max-age=5
2020-12-18 21:07:30.597 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Parsing PWS observations response: {"observations":[{"stationID":"IZUIDHOL136","obsTimeUtc":"2020-12-18T20:07:12Z","obsTimeLocal":"2020-12-18 21:07:12","neighborhood":"  Kralingseveer","softwareType":"EasyWeatherV1.5.0","country":"NL","solarRadiation":0.0,"lon":4.552876,"realtimeFrequency":null,"epoch":1608322032,"lat":51.910278,"uv":0.0,"winddir":181,"humidity":83.0,"qcStatus":1,"imperial":{"temp":48.0,"heatIndex":48.0,"dewpt":43.2,"windChill":48.0,"windSpeed":1.1,"windGust":1.1,"pressure":30.13,"precipRate":0.00,"precipTotal":0.00,"elev":-3.0}}]}
2020-12-18 21:07:30.600 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Successfully parsed PWS observations response object
2020-12-18 21:07:30.604 [DEBUG] [er.WeatherCompanyObservationsHandler] - Handler: Processing observations from station IZUIDHOL136 at 2020-12-18 21:07:12

These relate to forecast. You can see 15 seconds elapses then the timeout occurs.

2020-12-18 21:07:18.479 [DEBUG] [andler.WeatherCompanyForecastHandler] - Handler: Requesting forecast from The Weather Company API
2020-12-18 21:07:18.483 [DEBUG] [andler.WeatherCompanyForecastHandler] - Forecast URL is https://api.weather.com/v3/wx/forecast/daily/5day?format=json&language=nl-NL&apiKey=XXXXXXXXXXXXXXXXXXXXX&units=s&geocode=51.9101509,4.552702399999999
2020-12-18 21:07:33.500 [DEBUG] [andler.WeatherCompanyAbstractHandler] - TimeoutException: Call to Weather Company API timed out