Add configuration_url to lookin (#67021)

This commit is contained in:
J. Nick Koston 2022-02-21 22:50:59 -10:00 committed by GitHub
parent 92b5bcffb6
commit 0b813f8600
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 4 deletions

View File

@ -153,6 +153,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
) )
hass.data[DOMAIN][entry.entry_id] = LookinData( hass.data[DOMAIN][entry.entry_id] = LookinData(
host=host,
lookin_udp_subs=lookin_udp_subs, lookin_udp_subs=lookin_udp_subs,
lookin_device=lookin_device, lookin_device=lookin_device,
meteo_coordinator=meteo_coordinator, meteo_coordinator=meteo_coordinator,

View File

@ -18,7 +18,7 @@ from .models import LookinData
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
def _lookin_device_to_device_info(lookin_device: Device) -> DeviceInfo: def _lookin_device_to_device_info(lookin_device: Device, host: str) -> DeviceInfo:
"""Convert a lookin device into DeviceInfo.""" """Convert a lookin device into DeviceInfo."""
return DeviceInfo( return DeviceInfo(
identifiers={(DOMAIN, lookin_device.id)}, identifiers={(DOMAIN, lookin_device.id)},
@ -26,17 +26,19 @@ def _lookin_device_to_device_info(lookin_device: Device) -> DeviceInfo:
manufacturer="LOOKin", manufacturer="LOOKin",
model=MODEL_NAMES[lookin_device.model], model=MODEL_NAMES[lookin_device.model],
sw_version=lookin_device.firmware, sw_version=lookin_device.firmware,
configuration_url=f"http://{host}/device",
) )
def _lookin_controlled_device_to_device_info( def _lookin_controlled_device_to_device_info(
lookin_device: Device, uuid: str, device: Climate | Remote lookin_device: Device, uuid: str, device: Climate | Remote, host: str
) -> DeviceInfo: ) -> DeviceInfo:
return DeviceInfo( return DeviceInfo(
identifiers={(DOMAIN, uuid)}, identifiers={(DOMAIN, uuid)},
name=device.name, name=device.name,
model=device.device_type, model=device.device_type,
via_device=(DOMAIN, lookin_device.id), via_device=(DOMAIN, lookin_device.id),
configuration_url=f"http://{host}/data/{uuid}",
) )
@ -62,7 +64,7 @@ class LookinDeviceCoordinatorEntity(LookinDeviceMixIn, CoordinatorEntity):
super().__init__(lookin_data.meteo_coordinator) super().__init__(lookin_data.meteo_coordinator)
self._set_lookin_device_attrs(lookin_data) self._set_lookin_device_attrs(lookin_data)
self._attr_device_info = _lookin_device_to_device_info( self._attr_device_info = _lookin_device_to_device_info(
lookin_data.lookin_device lookin_data.lookin_device, lookin_data.host
) )
@ -102,7 +104,7 @@ class LookinCoordinatorEntity(LookinDeviceMixIn, LookinEntityMixIn, CoordinatorE
self._set_lookin_device_attrs(lookin_data) self._set_lookin_device_attrs(lookin_data)
self._set_lookin_entity_attrs(uuid, device, lookin_data) self._set_lookin_entity_attrs(uuid, device, lookin_data)
self._attr_device_info = _lookin_controlled_device_to_device_info( self._attr_device_info = _lookin_controlled_device_to_device_info(
self._lookin_device, uuid, device self._lookin_device, uuid, device, lookin_data.host
) )
self._attr_unique_id = uuid self._attr_unique_id = uuid
self._attr_name = device.name self._attr_name = device.name

View File

@ -13,6 +13,7 @@ from .coordinator import LookinDataUpdateCoordinator
class LookinData: class LookinData:
"""Data for the lookin integration.""" """Data for the lookin integration."""
host: str
lookin_udp_subs: LookinUDPSubscriptions lookin_udp_subs: LookinUDPSubscriptions
lookin_device: Device lookin_device: Device
meteo_coordinator: LookinDataUpdateCoordinator meteo_coordinator: LookinDataUpdateCoordinator