dvd-dev / dvd-dev/hilo

Lots of errors & challenge/defis state not updated properly

Open
#791 17 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.