I’m reporting a bug I filed for the OWM binding where the onset
value reported by the binding looks weird when the event
state of an active weather alert is updated:
opened 12:37PM - 09 May 23 UTC
bug
## Expected Behavior
Weather alerts are provided by a Weather Alert Provi… der and are offered through the OneCall API.
When comparing the onset and expires values reported by the OWM binding with the values used by the actual weather alert issuer, I see that the OWM binding sometimes reports timestamps with better-than-hour precision. These make little sense, certainly not if seconds are used in that time stamp.
## Current Behavior
Over here, weather alerts are reported with a time granularity of 30 minutes starting at the hour. Thie means that `Onset` and `Expires` timestamps either end in `:00:00.000+0200` or `:30:00.000+0200` (UTC+2, DST).
Here's an excerpt from `events.log` filtered by: `grep -E '_Alert_._(Onset|Expires|Event)' /var/log/openhab/events.log`:
```text
2023-05-05 10:25:20.898 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Event' changed from UNDEF to Yellow warning for thunderstorm
2023-05-05 10:25:20.902 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from UNDEF to 2023-05-05T12:00:00.000+0200
2023-05-05 10:25:20.904 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Expires' changed from UNDEF to 2023-05-05T23:00:00.000+0200
2023-05-05 12:25:37.959 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Event' changed from Yellow warning for thunderstorm to Green warning for thunderstorm
2023-05-05 12:25:37.963 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from 2023-05-05T12:00:00.000+0200 to 2023-05-05T11:50:03.000+0200
2023-05-05 12:25:37.964 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from UNDEF to Yellow warning for thunderstorm
2023-05-05 12:25:37.968 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from UNDEF to 2023-05-05T12:00:00.000+0200
2023-05-05 12:25:37.970 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Expires' changed from UNDEF to 2023-05-05T20:00:00.000+0200
2023-05-05 18:26:15.478 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from 2023-05-05T11:50:03.000+0200 to 2023-05-05T16:55:02.000+0200
2023-05-05 18:26:15.480 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Expires' changed from 2023-05-05T23:00:00.000+0200 to 2023-05-05T20:00:00.000+0200
2023-05-05 18:26:15.483 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from 2023-05-05T12:00:00.000+0200 to 2023-05-05T16:00:00.000+0200
2023-05-05 20:26:27.293 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Event' changed from Green warning for thunderstorm to UNDEF
2023-05-05 20:26:27.297 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from 2023-05-05T16:55:02.000+0200 to UNDEF
2023-05-05 20:26:27.299 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Expires' changed from 2023-05-05T20:00:00.000+0200 to UNDEF
2023-05-05 20:26:27.302 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from Yellow warning for thunderstorm to UNDEF
2023-05-05 20:26:27.305 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from 2023-05-05T16:00:00.000+0200 to UNDEF
2023-05-05 20:26:27.307 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Expires' changed from 2023-05-05T20:00:00.000+0200 to UNDEF
2023-05-07 06:29:55.671 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Event' changed from UNDEF to Yellow warning for fog
2023-05-07 06:29:55.676 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from UNDEF to 2023-05-08T02:00:00.000+0200
2023-05-07 06:29:55.679 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Expires' changed from UNDEF to 2023-05-08T11:00:00.000+0200
2023-05-07 06:29:55.684 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from UNDEF to Yellow warning for thunderstorm
2023-05-07 06:29:55.690 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from UNDEF to 2023-05-07T15:00:00.000+0200
2023-05-07 06:29:55.693 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Expires' changed from UNDEF to 2023-05-08T01:00:00.000+0200
2023-05-07 07:30:01.506 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from Yellow warning for thunderstorm to Green warning for thunderstorm
2023-05-07 07:30:01.510 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from 2023-05-07T15:00:00.000+0200 to 2023-05-07T07:05:03.000+0200
2023-05-07 07:30:01.512 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_3_Event' changed from UNDEF to Yellow warning for thunderstorm
2023-05-07 07:30:01.525 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_3_Onset' changed from UNDEF to 2023-05-07T15:00:00.000+0200
2023-05-07 07:30:01.527 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_3_Expires' changed from UNDEF to 2023-05-08T01:00:00.000+0200
2023-05-07 18:31:09.904 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from 2023-05-07T07:05:03.000+0200 to 2023-05-07T18:00:05.000+0200
2023-05-07 18:31:09.906 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_3_Event' changed from Yellow warning for thunderstorm to UNDEF
2023-05-07 18:31:09.909 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_3_Onset' changed from 2023-05-07T15:00:00.000+0200 to UNDEF
2023-05-07 18:31:09.911 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_3_Expires' changed from 2023-05-08T01:00:00.000+0200 to UNDEF
2023-05-08 01:31:55.702 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from Green warning for thunderstorm to UNDEF
2023-05-08 01:31:55.706 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from 2023-05-07T18:00:05.000+0200 to UNDEF
2023-05-08 01:31:55.707 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Expires' changed from 2023-05-08T01:00:00.000+0200 to UNDEF
2023-05-08 10:32:54.739 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from UNDEF to Green warning for fog
2023-05-08 10:32:54.742 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from UNDEF to 2023-05-08T10:30:03.000+0200
2023-05-08 10:32:54.744 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Expires' changed from UNDEF to 2023-05-08T11:00:00.000+0200
2023-05-08 11:33:03.292 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Event' changed from Yellow warning for fog to UNDEF
2023-05-08 11:33:03.298 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from 2023-05-08T02:00:00.000+0200 to UNDEF
2023-05-08 11:33:03.300 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Expires' changed from 2023-05-08T11:00:00.000+0200 to UNDEF
2023-05-08 11:33:03.305 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Event' changed from Green warning for fog to UNDEF
2023-05-08 11:33:03.310 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Onset' changed from 2023-05-08T10:30:03.000+0200 to UNDEF
2023-05-08 11:33:03.313 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_2_Expires' changed from 2023-05-08T11:00:00.000+0200 to UNDEF
2023-05-08 21:34:00.823 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Event' changed from UNDEF to Yellow warning for rain
2023-05-08 21:34:00.827 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Onset' changed from UNDEF to 2023-05-09T10:00:00.000+0200
2023-05-08 21:34:00.829 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'One_Call_API_Weather_and_Forecast_Alert_1_Expires' changed from UNDEF to 2023-05-10T03:00:00.000+0200
```
To get only the odd timestamps, apply the following filter: `grep -E '_Alert_._(Event|Onset|Expires)' /var/log/openhab/events.log | grep -v ' changed .*:[03]0:00'`.
## Possible Solution
There is no solution. Probably some fields are incorrectly being picked up in the binding when processing the `onset` channel.
## Steps to Reproduce (for Bugs)
Automatically reported by the OWM binding when weather alerts are conveyed and the related alert channels linked to Items in the item registry
## Context
The odd timestamps make it unreliable to know when a weather alert is active.
## Your Environment
* Version used: openHAB 3.4.3
* Environment name and version: Raspberry Pi 3 Model B Plus Rev 1.3
* Operating System and version: openHABian (Raspbian GNU/Linux 11 (bullseye)) - kernel: Linux 6.1.21-v7+
Bottom line: in such events, it’s impossible to know if the event is still active at a given point in time. This does not happen with the expires
value.
The problem is NOT related to the binding but to the alert information provider and/or the OpenWeatherMap One Call API service.
For an obscure reason the onset
channel is set to a weird timestamp when the alert event turns green, at least with the weather alert provider over here.