Home Assistant Unofficial Reference 2024.12.1
update.py
Go to the documentation of this file.
1 """Update data from Nextcoud."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.components.update import UpdateEntity, UpdateEntityDescription
6 from homeassistant.core import HomeAssistant
7 from homeassistant.helpers.entity_platform import AddEntitiesCallback
8 
9 from . import NextcloudConfigEntry
10 from .entity import NextcloudEntity
11 
12 
14  hass: HomeAssistant,
15  entry: NextcloudConfigEntry,
16  async_add_entities: AddEntitiesCallback,
17 ) -> None:
18  """Set up the Nextcloud update entity."""
19  coordinator = entry.runtime_data
20  if coordinator.data.get("update_available") is None:
21  return
23  [
25  coordinator, entry, UpdateEntityDescription(key="update")
26  )
27  ]
28  )
29 
30 
32  """Represents a Nextcloud update entity."""
33 
34  @property
35  def installed_version(self) -> str:
36  """Version installed and in use."""
37  return self.coordinator.data["system_version"]
38 
39  @property
40  def latest_version(self) -> str:
41  """Latest version available for install."""
42  return self.coordinator.data.get(
43  "update_available_version", self.installed_versioninstalled_versioninstalled_versioninstalled_version
44  )
45 
46  @property
47  def release_url(self) -> str | None:
48  """URL to the full release notes of the latest version available."""
49  ver = "-".join(self.latest_versionlatest_versionlatest_version.split(".")[:3])
50  return f"https://nextcloud.com/changelog/#{ver}"
None async_setup_entry(HomeAssistant hass, NextcloudConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: update.py:17