Home Assistant Unofficial Reference 2024.12.1
update.py
Go to the documentation of this file.
1 """Support for System Bridge updates."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.components.update import UpdateEntity
6 from homeassistant.config_entries import ConfigEntry
7 from homeassistant.const import CONF_PORT
8 from homeassistant.core import HomeAssistant
9 from homeassistant.helpers.entity_platform import AddEntitiesCallback
10 
11 from .const import DOMAIN
12 from .coordinator import SystemBridgeDataUpdateCoordinator
13 from .entity import SystemBridgeEntity
14 
15 
17  hass: HomeAssistant,
18  entry: ConfigEntry,
19  async_add_entities: AddEntitiesCallback,
20 ) -> None:
21  """Set up System Bridge update based on a config entry."""
22  coordinator: SystemBridgeDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
23 
25  [
27  coordinator,
28  entry.data[CONF_PORT],
29  ),
30  ]
31  )
32 
33 
35  """Defines a System Bridge update entity."""
36 
37  _attr_has_entity_name = True
38  _attr_title = "System Bridge"
39 
40  def __init__(
41  self,
42  coordinator: SystemBridgeDataUpdateCoordinator,
43  api_port: int,
44  ) -> None:
45  """Initialize."""
46  super().__init__(
47  coordinator,
48  api_port,
49  "update",
50  )
51  self._attr_name_attr_name = coordinator.data.system.hostname
52 
53  @property
54  def installed_version(self) -> str | None:
55  """Version installed and in use."""
56  return self.coordinator.data.system.version
57 
58  @property
59  def latest_version(self) -> str | None:
60  """Latest version available for install."""
61  return self.coordinator.data.system.version_latest
62 
63  @property
64  def release_url(self) -> str | None:
65  """URL to the full release notes of the latest version available."""
66  return f"https://github.com/timmo001/system-bridge/releases/tag/{self.coordinator.data.system.version_latest}"
None __init__(self, SystemBridgeDataUpdateCoordinator coordinator, int api_port)
Definition: update.py:44
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: update.py:20