Signal frontend when updater runs (#2795)

* Signal frontend when updater runs

* Update updater.py

* Update updater.py

* Update updater.py

* Update supervisor/updater.py

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>

Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
This commit is contained in:
Joakim Sørensen 2021-04-09 18:22:34 +02:00 committed by GitHub
parent e9c123459f
commit 80131ddfa8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -230,7 +230,7 @@ class HomeAssistant(FileConfiguration, CoreSysAttributes):
def need_update(self) -> bool:
"""Return true if a Home Assistant update is available."""
try:
return self.version != self.latest_version
return self.version < self.latest_version
except (AwesomeVersionException, TypeError):
return False

View File

@ -230,6 +230,7 @@ class Updater(FileConfiguration, CoreSysAttributes):
if not data or data.get(ATTR_CHANNEL) != self.channel:
raise UpdaterError(f"Invalid data from {url}", _LOGGER.warning)
events = ["supervisor", "core"]
try:
# Update supervisor version
self._data[ATTR_SUPERVISOR] = AwesomeVersion(data["supervisor"])
@ -241,6 +242,7 @@ class Updater(FileConfiguration, CoreSysAttributes):
# Update HassOS version
if self.sys_hassos.board:
events.append("os")
self._data[ATTR_HASSOS] = AwesomeVersion(
data["hassos"][self.sys_hassos.board]
)
@ -267,5 +269,8 @@ class Updater(FileConfiguration, CoreSysAttributes):
f"Can't process version data: {err}", _LOGGER.warning
) from err
else:
self.save_data()
self.save_data()
# Send status update to core
for event in events:
self.sys_homeassistant.websocket.supervisor_update_event(event)