Hi, I'm getting an exception the first time I change the away mode. However, looking at the app, it works correctly. The second time I call the same action, it succeeds and continues with the script. I tried using continue_on_error, but it seems the exception needs to be a HomeAssistantException for it to be ignored. So, the script cancels.
# Only Home Assistant errors can be ignored.
#if not isinstance(exception, exceptions.HomeAssistantError):
# raise exception
Exception
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 669, in async_trigger
await self.action_script.async_run(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1587, in async_run
return await asyncio.shield(run.async_run())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 426, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 479, in _async_step
self._handle_exception(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 502, in _handle_exception
raise exception
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 966, in _async_if_step
await self._async_run_script(if_data["if_else"])
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1078, in _async_run_script
await self._async_run_long_action(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 675, in _async_run_long_action
return long_task.result()
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1587, in async_run
return await asyncio.shield(run.async_run())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 426, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 479, in _async_step
self._handle_exception(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 502, in _handle_exception
raise exception
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 713, in _async_call_service_step
response_data = await self._async_run_long_action(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 675, in _async_run_long_action
return long_task.result()
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 831, in handle_service
return await service.entity_service_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 907, in entity_service_call
raise result from None
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1497, in async_request_call
return await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/eight_sleep/__init__.py", line 284, in async_start_away_mode
await self._generic_service_call(lambda: self._user_obj.set_away_mode("start"))
File "/config/custom_components/eight_sleep/__init__.py", line 231, in _generic_service_call
await service_method()
File "/config/custom_components/eight_sleep/pyEight/user.py", line 808, in set_away_mode
await self.device.api_request("PUT", url, data=data)
File "/config/custom_components/eight_sleep/pyEight/eight.py", line 373, in api_request
raise RequestError from err
custom_components.eight_sleep.pyEight.exceptions.RequestError
Expected behavior
Preferred: Succeeds
Okay: Returns a exceptions.HomeAssitantException so scripts can continue even if an error occurs.
Hi, I'm getting an exception the first time I change the away mode. However, looking at the app, it works correctly. The second time I call the same action, it succeeds and continues with the script. I tried using
continue_on_error
, but it seems the exception needs to be a HomeAssistantException for it to be ignored. So, the script cancels.Exception
Expected behavior Preferred: Succeeds Okay: Returns a
exceptions.HomeAssitantException
so scripts can continue even if an error occurs.