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: def need_update(self) -> bool:
"""Return true if a Home Assistant update is available.""" """Return true if a Home Assistant update is available."""
try: try:
return self.version != self.latest_version return self.version < self.latest_version
except (AwesomeVersionException, TypeError): except (AwesomeVersionException, TypeError):
return False return False

View File

@ -230,6 +230,7 @@ class Updater(FileConfiguration, CoreSysAttributes):
if not data or data.get(ATTR_CHANNEL) != self.channel: if not data or data.get(ATTR_CHANNEL) != self.channel:
raise UpdaterError(f"Invalid data from {url}", _LOGGER.warning) raise UpdaterError(f"Invalid data from {url}", _LOGGER.warning)
events = ["supervisor", "core"]
try: try:
# Update supervisor version # Update supervisor version
self._data[ATTR_SUPERVISOR] = AwesomeVersion(data["supervisor"]) self._data[ATTR_SUPERVISOR] = AwesomeVersion(data["supervisor"])
@ -241,6 +242,7 @@ class Updater(FileConfiguration, CoreSysAttributes):
# Update HassOS version # Update HassOS version
if self.sys_hassos.board: if self.sys_hassos.board:
events.append("os")
self._data[ATTR_HASSOS] = AwesomeVersion( self._data[ATTR_HASSOS] = AwesomeVersion(
data["hassos"][self.sys_hassos.board] data["hassos"][self.sys_hassos.board]
) )
@ -267,5 +269,8 @@ class Updater(FileConfiguration, CoreSysAttributes):
f"Can't process version data: {err}", _LOGGER.warning f"Can't process version data: {err}", _LOGGER.warning
) from err ) 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)