Skip to content

Charging Status #447

@adamjameschandler

Description

@adamjameschandler

The charging status "binary_sensor.XXX_battery_charging" does not update when charging is complete.
The following errors appear in the logs:

2026-05-11 11:37:16,791 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:38:16 BST)" (scheduled at 2026-05-11 11:37:16.789439+01:00) - apscheduler.executors.default 2026-05-11 11:37:17,300 [INFO]: 2 messages received - handlers.message 2026-05-11 11:37:17,300 [INFO]: Job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:38:16 BST)" executed successfully - apscheduler.executors.default 2026-05-11 11:38:16,790 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:39:16 BST)" (scheduled at 2026-05-11 11:38:16.789439+01:00) - apscheduler.executors.default 2026-05-11 11:38:17,265 [INFO]: 2 messages received - handlers.message 2026-05-11 11:38:17,265 [INFO]: Job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:39:16 BST)" executed successfully - apscheduler.executors.default 2026-05-11 11:39:00,702 [INFO]: Updating vehicle status - handlers.vehicle 2026-05-11 11:39:16,793 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:40:16 BST)" (scheduled at 2026-05-11 11:39:16.789439+01:00) - apscheduler.executors.default 2026-05-11 11:39:17,158 [INFO]: 2 messages received - handlers.message 2026-05-11 11:39:17,158 [INFO]: Job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:40:16 BST)" executed successfully - apscheduler.executors.default 2026-05-11 11:39:21,032 [INFO]: Updating charging status - handlers.vehicle 2026-05-11 11:39:54,321 [ERROR]: Error updating charge status - handlers.vehicle Traceback (most recent call last): File "/usr/src/app/handlers/vehicle.py", line 210, in __polling ) = await self.update_charge_status() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/handlers/vehicle.py", line 319, in update_charge_status charge_mgmt_data = await self.saic_api.get_vehicle_charging_management_data( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.vin_info.vin ^^^^^^^^^^^^^^^^^ ) ^ File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/vehicle_charging/__init__.py", line 69, in get_vehicle_charging_management_data return await self.execute_api_call_with_event_id( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... ) ^ File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 221, in execute_api_call_with_event_id result = await self.__execute_api_call_with_event_id( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<7 lines>... ) ^ File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 284, in __execute_api_call_with_event_id return await execute_api_call_with_event_id_inner(event_id="0") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/asyncio/__init__.py", line 193, in async_wrapped return await copy(fn, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/asyncio/__init__.py", line 112, in __call__ do = await self.iter(retry_state=retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/asyncio/__init__.py", line 157, in iter result = await action(retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/_utils.py", line 111, in inner return call(*args, **kwargs) File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/__init__.py", line 413, in exc_check raise retry_exc.reraise() ~~~~~~~~~~~~~~~~~^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/__init__.py", line 184, in reraise raise self.last_attempt.result() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/local/lib/python3.14/concurrent/futures/_base.py", line 443, in result return self.__get_result() ~~~~~~~~~~~~~~~~~^^ File "/usr/local/lib/python3.14/concurrent/futures/_base.py", line 395, in __get_result raise self._exception File "/usr/src/app/.venv/lib/python3.14/site-packages/tenacity/asyncio/__init__.py", line 116, in __call__ result = await fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 275, in execute_api_call_with_event_id_inner return await self.__execute_api_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... ) ^ File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 205, in __execute_api_call raise e File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 203, in __execute_api_call return await self.__deserialize(req, response, out_type, allow_null_body) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 355, in __deserialize raise se File "/usr/src/app/.venv/lib/python3.14/site-packages/saic_ismart_client_ng/api/base.py", line 330, in __deserialize raise SaicApiRetryException( ...<3 lines>... ) saic_ismart_client_ng.exceptions.SaicApiRetryException: return code: 4, message: The remote control instruction failed, please try again later., event_id: 287792866 2026-05-11 11:39:54,324 [INFO]: Updating scheduled battery heating status - handlers.vehicle 2026-05-11 11:39:54,454 [INFO]: Refreshing vehicle status succeeded... - handlers.vehicle 2026-05-11 11:39:54,455 [INFO]: ABRP not refreshed, reason ABRP request skipped because of missing configuration - handlers.vehicle 2026-05-11 11:39:54,455 [INFO]: Sending HA discovery messages for LSJWN5061RN168399 (Force: False) - handlers.vehicle 2026-05-11 11:40:16,791 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:41:16 BST)" (scheduled at 2026-05-11 11:40:16.789439+01:00) - apscheduler.executors.default 2026-05-11 11:40:17,424 [INFO]: 2 messages received - handlers.message 2026-05-11 11:40:17,424 [INFO]: Job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:41:16 BST)" executed successfully - apscheduler.executors.default 2026-05-11 11:41:16,791 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:42:16 BST)" (scheduled at 2026-05-11 11:41:16.789439+01:00) - apscheduler.executors.default 2026-05-11 11:41:17,381 [INFO]: 2 messages received - handlers.message 2026-05-11 11:41:17,381 [INFO]: Job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:42:16 BST)" executed successfully - apscheduler.executors.default 2026-05-11 11:42:16,791 [INFO]: Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:43:16 BST)" (scheduled at 2026-05-11 11:42:16.789439+01:00) - apscheduler.executors.default 2026-05-11 11:42:17,223 [INFO]: 2 messages received - handlers.message 2026-05-11 11:42:17,223 [INFO]: Job "Check for new messages (trigger: interval[0:01:00], next run at: 2026-05-11 11:43:16 BST)" executed successfully - apscheduler.executors.default

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions