home-assistant/core · error · HomeAssistantError
install_failed
install_failed
Error message
Failed to install firmware update on the BleBox device: {error} What it means
The blebox update entity's async_install resets progress state and wraps any python-blebox Error raised by feature.async_install() into HomeAssistantError with key 'install_failed' ('Failed to install firmware update on the BleBox device: {error}'). The firmware installation did not start or failed midway; the entity resets its in-progress bookkeeping before raising.
Source
Thrown at homeassistant/components/blebox/update.py:135
def _reset_progress(self) -> None:
self._in_progress_old_version = None
self._poll_attempts = 0
self.async_write_ha_state()
@override
async def async_install(
self, version: str | None, backup: bool, **kwargs: Any
) -> None:
"""Install an update."""
self._cancel_poll()
self._in_progress_old_version = self._feature.installed_version
self._poll_attempts = 0
self.async_write_ha_state()
try:
await self._feature.async_install()
except Error as ex:
self._reset_progress()
raise HomeAssistantError(
translation_domain=DOMAIN,
translation_key="install_failed",
translation_placeholders={"error": str(ex)},
) from ex
self._poll_cancel = async_call_later(
self.hass, _POLL_INTERVAL_SECONDS, self._poll_until_updated
)
@override
async def async_will_remove_from_hass(self) -> None:
"""Cancel any pending poll timer when the entity is removed."""
self._cancel_poll()
async def _poll_until_updated(self, _now: Any) -> None:
"""Poll device until the installed version changes after OTA reboot."""
self._poll_cancel = None
self._poll_attempts += 1
try:View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Ensure the device has a stable network connection and adequate power before retrying the install.
- Retry the install after the device is confirmed reachable (check the coordinator/entity state is not unavailable).
- If it keeps failing, fetch the exact error via debug logging and try updating through the vendor's BleBox app to isolate integration vs device issues.
Defensive patterns
Strategy: try-catch
Validate before calling
if update_coordinator.last_update_success is False:
raise RuntimeError("Device unreachable; firmware install would fail") Try / catch
from homeassistant.exceptions import HomeAssistantError
try:
await update_entity.async_install(version=None, backup=False)
except HomeAssistantError as err:
if err.translation_key == "install_failed":
# verify connectivity before retrying; interrupted installs can brick devices
_LOGGER.error("Firmware install failed: %s", err) Prevention
- Confirm the device is online and responsive before starting a firmware install.
- Never power-cycle a BleBox device mid-install; retry only after confirming device state.
When it happens
Trigger: Triggering 'Install' on the blebox update entity while the device cannot complete the firmware download/upload: device unreachable mid-command, gateway API error, insufficient memory on device, or the vendor firmware URL being unavailable.
Common situations: Unstable Wi-Fi during the long firmware transfer; device rebooting during install; power-cycling the device mid-update; rate-limited vendor firmware servers.
Related errors
- update_failed
- unknown_error
- Key data not returned from device
- Data incomplete or missing
- outdated_version
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/27bc49ffad13fddc.
Report an issue: GitHub.