Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,15 @@ jobs:
exit 1
fi

- name: Wait for Home Assistant Core to start
run: |
echo "Waiting for Home Assistant Core to start"
timeout 10m ha supervisor logs -f -n 10000 -b 0 | grep -q "Detect a running Home Assistant instance"
if [ "$?" != "0" ]; then
echo "Home Assistant Core did not start within 10 minutes"
exit 1
fi

- name: Create full backup
id: backup
run: |
Expand Down
6 changes: 6 additions & 0 deletions supervisor/homeassistant/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,12 @@ async def begin_backup(self) -> None:
_LOGGER.error,
) from err

if not resp:
raise HomeAssistantBackupError(
"Preparing backup of Home Assistant Core failed. No response from HA Core.",
_LOGGER.error,
)

if resp and not resp.get(ATTR_SUCCESS):
raise HomeAssistantBackupError(
f"Preparing backup of Home Assistant Core failed due to: {resp.get(ATTR_ERROR, {}).get(ATTR_MESSAGE, '')}. Check HA Core logs.",
Expand Down
4 changes: 4 additions & 0 deletions supervisor/homeassistant/websocket.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,10 @@ async def _can_send(self, message: dict[str, Any]) -> bool:
# since it makes a new socket connection and we already have one.
if not connected and not await self.sys_homeassistant.api.check_api_state():
# No core access, don't try.
_LOGGER.debug(
"Home Assistant API is not accessible. Not sending WS message: %s",
message,
)
return False

if not self._client:
Expand Down
Loading