Add configuration_url to isy994 (#58372)
This commit is contained in:
parent
35872a212b
commit
3abb4bd3e5
2 changed files with 16 additions and 2 deletions
|
@ -251,11 +251,19 @@ def _async_import_options_from_data_if_missing(
|
|||
hass.config_entries.async_update_entry(entry, options=options)
|
||||
|
||||
|
||||
@callback
|
||||
def _async_isy_to_configuration_url(isy: ISY) -> str:
|
||||
"""Extract the configuration url from the isy."""
|
||||
connection_info = isy.conn.connection_info
|
||||
proto = "https" if "tls" in connection_info else "http"
|
||||
return f"{proto}://{connection_info['addr']}:{connection_info['port']}"
|
||||
|
||||
|
||||
async def _async_get_or_create_isy_device_in_registry(
|
||||
hass: HomeAssistant, entry: config_entries.ConfigEntry, isy
|
||||
) -> None:
|
||||
device_registry = await dr.async_get_registry(hass)
|
||||
|
||||
url = _async_isy_to_configuration_url(isy)
|
||||
device_registry.async_get_or_create(
|
||||
config_entry_id=entry.entry_id,
|
||||
connections={(dr.CONNECTION_NETWORK_MAC, isy.configuration["uuid"])},
|
||||
|
@ -264,6 +272,7 @@ async def _async_get_or_create_isy_device_in_registry(
|
|||
name=isy.configuration["name"],
|
||||
model=isy.configuration["model"],
|
||||
sw_version=isy.configuration["firmware"],
|
||||
configuration_url=url,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ from homeassistant.core import callback
|
|||
from homeassistant.exceptions import HomeAssistantError
|
||||
from homeassistant.helpers.entity import DeviceInfo, Entity
|
||||
|
||||
from . import _async_isy_to_configuration_url
|
||||
from .const import DOMAIN
|
||||
|
||||
|
||||
|
@ -76,8 +77,11 @@ class ISYEntity(Entity):
|
|||
if hasattr(self._node, "protocol") and self._node.protocol == PROTO_GROUP:
|
||||
# not a device
|
||||
return None
|
||||
uuid = self._node.isy.configuration["uuid"]
|
||||
isy = self._node.isy
|
||||
uuid = isy.configuration["uuid"]
|
||||
node = self._node
|
||||
url = _async_isy_to_configuration_url(isy)
|
||||
|
||||
basename = self.name
|
||||
|
||||
if hasattr(self._node, "parent_node") and self._node.parent_node is not None:
|
||||
|
@ -91,6 +95,7 @@ class ISYEntity(Entity):
|
|||
model="Unknown",
|
||||
name=basename,
|
||||
via_device=(DOMAIN, uuid),
|
||||
configuration_url=url,
|
||||
)
|
||||
|
||||
if hasattr(node, "address"):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue