Lots of errors & challenge/defis state not updated properly
- Dominant language
- Python
- Stars
- 248
- Forks
- 46
- Avg merge
- 4h 4m
- Merged PRs (30d)
- 26
Description
Today was my first Hilo Challenge, and the integration seemed to work fine during the challenge, but then at the start of the recovery phase I hit some major errors:
- The devices became unavailable
- The state of the defis/challenge was stuck in `reduction` instead of moving to `recovery`.
Reloading the integration did fix the state of the challenge and the devices became available again.
## Version of the custom_component
v2025.11.4
## Configuration
I don't know what yaml to include, but in the integration settings in the UI I only have these settings specified:
Generate energy meters (checked)
Hydro Quebec rate plan name: flex d
All other settings are either unchecked, or the default value.
## Describe the bug
The devices provided by this integration became unavailable during the recovery phase, and the state was stuck in the challenge phase, and lots of errors were thrown. I had to reload the integration to get things back to their proper state.
## Debug log
There were a few errors in the log, listing the ones that look relevant below:
```text
This error originated from a custom integration.
Logger: pyhilo
Source: custom_components/hilo/__init__.py:638
integration: Hilo (documentation, issues)
First occurred: December 2, 2025 at 7:37:13 PM (3 occurrences)
Last logged: December 2, 2025 at 7:37:20 PM
Unable to connect to WS server 401, message='Invalid response status', url='https://challenge.hiloenergie.com/client/?hub=challengehub&id=1tjxmL98myk00iP3vkg9dQ998MGQo02&access_token='
Unable to connect to WS server 401, message='Invalid response status', url='https://device.hiloenergie.com/client/?hub=devicehub&asrs.op=%2FDeviceHub&asrs_request_id=xq4DkgsFAAA%3D&id=ML5v6_syA-z26ejkdOu_Gwe95FMAo02&access_token='
Unable to connect to WS server 404, message='Invalid response status', url='https://device.hiloenergie.com/client/?hub=devicehub&asrs.op=%2FDeviceHub&asrs_request_id=Xk6MtiYFAAA%3D&id=Z3dPEzswh1olSb5oOM8YTgOF-y0Qo02&access_token='
```
```text
This error originated from a custom integration.
Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:647
integration: Hilo (documentation, issues)
First occurred: December 2, 2025 at 7:37:13 PM (3 occurrences)
Last logged: December 2, 2025 at 7:37:20 PM
Invalid credentials? Refreshing websocket infos
```
```text
This error originated from a custom integration.
Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:444
integration: Hilo (documentation, issues)
First occurred: December 2, 2025 at 7:37:08 PM (14 occurrences)
Last logged: 10:00:02 AM
Unhandled websocket event: WebsocketEvent(event_type_id=1, target='EventFlexDetailsUpdatedValuesReceived', arguments=[{'id': 335, 'isAutomated': True, 'isConfigurable': False, 'progress': 'inProgress', 'currentPhase': 'reduction', 'generatedTimeUTC': '2025-12-03T11:00:00.0389748Z'}], invocation=None, error=None, timestamp=datetime.datetime(2025, 12, 1, 19, 44, 53, 891527), event_type='INVOKE')
Unhandled websocket event: WebsocketEvent(event_type_id=1, target='EventListUpdatedValuesReceived', arguments=[[{'id': 334, 'progress': 'inProgress', 'isAutomated': None, 'isConfigurable': False, 'currentPhase': 'reduction'}]], invocation=None, error=None, timestamp=datetime.datetime(2025, 12, 1, 19, 44, 53, 891527), event_type='INVOKE')
Unhandled websocket event: WebsocketEvent(event_type_id=1, target='EventListUpdatedValuesReceived', arguments=[[{'id': 335, 'progress': 'inProgress', 'isAutomated': None, 'isConfigurable': False, 'currentPhase': 'recovery'}]], invocation=None, error=None, timestamp=datetime.datetime(2025, 12, 1, 19, 44, 53, 891527), event_type='INVOKE')
Unhandled websocket event: WebsocketEvent(event_type_id=1, target='EventFlexDetailsUpdatedValuesReceived', arguments=[{'id': 335, 'isAutomated': True, 'isConfigurable': False, 'progress': 'inProgress', 'currentPhase': 'recovery', 'generatedTimeUTC': '2025-12-03T15:00:01.2979658Z'}], invocation=None, error=None, timestamp=datetime.datetime(2025, 12, 1, 19, 44, 53, 891527), event_type='INVOKE')
Unhandled websocket event: WebsocketEvent(event_type_id=1, target='EventListUpdatedValuesReceived', arguments=[[{'id': 334, 'progress': 'inProgress', 'isAutomated': None, 'isConfigurable': False, 'currentPhase': 'recovery'}]], invocation=None, error=None, timestamp=datetime.datetime(2025, 12, 1, 19, 44, 53, 891527), event_type='INVOKE')
```
```text
This error originated from a custom integration.
Logger: py.warnings
Source: custom_components/hilo/__init__.py:575
integration: Hilo (documentation, issues)
First occurred: December 1, 2025 at 7:45:01 PM (2 occurrences)
Last logged: 10:45:55 AM
/usr/local/lib/python3.13/site-packages/gql/transport/aiohttp.py:92: UserWarning: WARNING: By default, AIOHTTPTransport does not verify ssl certificates. This will be fixed in the next major version. You can set ssl=True to force the ssl certificate verification or ssl=False to disable this warning warnings.warn(
```
```text
This error originated from a custom integration.
Logger: pyhilo
Source: custom_components/hilo/__init__.py:575
integration: Hilo (documentation, issues)
First occurred: December 1, 2025 at 7:45:02 PM (18 occurrences)
Last logged: 10:45:55 AM
Unable to find device 0 for reading
Unable to find device 0 for reading
Unable to find device 0 for reading
Unable to find device 0 for reading
Unable to find device 0 for reading
```
```text
This error originated from a custom integration.
Logger: pyhilo
Source: custom_components/hilo/__init__.py:450
integration: Hilo (documentation, issues)
First occurred: December 1, 2025 at 7:45:02 PM (5 occurrences)
Last logged: 10:45:56 AM
Delaying invoke SubscribeToLocation 0 [110457]: Websocket not ready.
```
```text
This error originated from a custom integration.
Logger: pyhilo
Source: custom_components/hilo/__init__.py:465
integration: Hilo (documentation, issues)
First occurred: 10:45:56 AM (2 occurrences)
Last logged: 10:45:56 AM
Delaying invoke SubscribeToChallenge 1 [{'locationId': 110457, 'eventId': 0}]: Websocket not ready.
```
```text
This error originated from a custom integration.
Logger: custom_components.hilo
Source: helpers/update_coordinator.py:403
integration: Hilo (documentation, issues)
First occurred: December 2, 2025 at 7:33:05 PM (1153 occurrences)
Last logged: 10:49:16 AM
Unexpected error fetching hilo data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 403, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 294, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/hilo/__init__.py", line 697, in async_update
self.check_tarif()
~~~~~~~~~~~~~~~~^^
File "/config/custom_components/hilo/__init__.py", line 808, in check_tarif
if tarif_config.get("high", 0) > 0 and self.high_times:
^^^^^^^^^^^^^^^
File "/config/custom_components/hilo/__init__.py", line 758, in high_times
"high_times check tarif challenge sensor is %s", challenge_sensor.state
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'state'
```
Contributor guide
Assessment
This issue has not been assessed yet.