Home Assistant Unofficial Reference 2024.12.1
update.py
Go to the documentation of this file.
1 """Advantage Air Update platform."""
2 
3 from homeassistant.components.update import UpdateEntity
4 from homeassistant.core import HomeAssistant
5 from homeassistant.helpers.device_registry import DeviceInfo
6 from homeassistant.helpers.entity_platform import AddEntitiesCallback
7 
8 from . import AdvantageAirDataConfigEntry
9 from .const import DOMAIN as ADVANTAGE_AIR_DOMAIN
10 from .entity import AdvantageAirEntity
11 from .models import AdvantageAirData
12 
13 
15  hass: HomeAssistant,
16  config_entry: AdvantageAirDataConfigEntry,
17  async_add_entities: AddEntitiesCallback,
18 ) -> None:
19  """Set up AdvantageAir update platform."""
20 
21  instance = config_entry.runtime_data
22 
24 
25 
27  """Representation of Advantage Air App."""
28 
29  _attr_name = "App"
30 
31  def __init__(self, instance: AdvantageAirData) -> None:
32  """Initialize the Advantage Air App."""
33  super().__init__(instance)
34  self._attr_device_info_attr_device_info = DeviceInfo(
35  identifiers={
36  (ADVANTAGE_AIR_DOMAIN, self.coordinator.data["system"]["rid"])
37  },
38  manufacturer="Advantage Air",
39  model=self.coordinator.data["system"]["sysType"],
40  name=self.coordinator.data["system"]["name"],
41  sw_version=self.coordinator.data["system"]["myAppRev"],
42  )
43 
44  @property
45  def installed_version(self) -> str:
46  """Return the current app version."""
47  return self.coordinator.data["system"]["myAppRev"]
48 
49  @property
50  def latest_version(self) -> str:
51  """Return if there is an update."""
52  if self.coordinator.data["system"]["needsUpdate"]:
53  return "Needs Update"
54  return self.installed_versioninstalled_versioninstalled_versioninstalled_version
None __init__(self, AdvantageAirData instance)
Definition: update.py:31
None async_setup_entry(HomeAssistant hass, AdvantageAirDataConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: update.py:18