mirror of
https://github.com/home-assistant/core.git
synced 2025-07-08 05:47:10 +00:00
Add configuration_url to isy994 (#58372)
This commit is contained in:
parent
35872a212b
commit
3abb4bd3e5
@ -251,11 +251,19 @@ def _async_import_options_from_data_if_missing(
|
|||||||
hass.config_entries.async_update_entry(entry, options=options)
|
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(
|
async def _async_get_or_create_isy_device_in_registry(
|
||||||
hass: HomeAssistant, entry: config_entries.ConfigEntry, isy
|
hass: HomeAssistant, entry: config_entries.ConfigEntry, isy
|
||||||
) -> None:
|
) -> None:
|
||||||
device_registry = await dr.async_get_registry(hass)
|
device_registry = await dr.async_get_registry(hass)
|
||||||
|
url = _async_isy_to_configuration_url(isy)
|
||||||
device_registry.async_get_or_create(
|
device_registry.async_get_or_create(
|
||||||
config_entry_id=entry.entry_id,
|
config_entry_id=entry.entry_id,
|
||||||
connections={(dr.CONNECTION_NETWORK_MAC, isy.configuration["uuid"])},
|
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"],
|
name=isy.configuration["name"],
|
||||||
model=isy.configuration["model"],
|
model=isy.configuration["model"],
|
||||||
sw_version=isy.configuration["firmware"],
|
sw_version=isy.configuration["firmware"],
|
||||||
|
configuration_url=url,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ from homeassistant.core import callback
|
|||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers.entity import DeviceInfo, Entity
|
from homeassistant.helpers.entity import DeviceInfo, Entity
|
||||||
|
|
||||||
|
from . import _async_isy_to_configuration_url
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
|
||||||
@ -76,8 +77,11 @@ class ISYEntity(Entity):
|
|||||||
if hasattr(self._node, "protocol") and self._node.protocol == PROTO_GROUP:
|
if hasattr(self._node, "protocol") and self._node.protocol == PROTO_GROUP:
|
||||||
# not a device
|
# not a device
|
||||||
return None
|
return None
|
||||||
uuid = self._node.isy.configuration["uuid"]
|
isy = self._node.isy
|
||||||
|
uuid = isy.configuration["uuid"]
|
||||||
node = self._node
|
node = self._node
|
||||||
|
url = _async_isy_to_configuration_url(isy)
|
||||||
|
|
||||||
basename = self.name
|
basename = self.name
|
||||||
|
|
||||||
if hasattr(self._node, "parent_node") and self._node.parent_node is not None:
|
if hasattr(self._node, "parent_node") and self._node.parent_node is not None:
|
||||||
@ -91,6 +95,7 @@ class ISYEntity(Entity):
|
|||||||
model="Unknown",
|
model="Unknown",
|
||||||
name=basename,
|
name=basename,
|
||||||
via_device=(DOMAIN, uuid),
|
via_device=(DOMAIN, uuid),
|
||||||
|
configuration_url=url,
|
||||||
)
|
)
|
||||||
|
|
||||||
if hasattr(node, "address"):
|
if hasattr(node, "address"):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user