Use ZeroconfServiceInfo in lookin (#59987)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-11-19 17:16:07 +01:00 committed by GitHub
parent 81e02a39df
commit 8a4d3b2a2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 11 deletions

View File

@ -31,8 +31,8 @@ class LookinFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
self, discovery_info: zeroconf.ZeroconfServiceInfo self, discovery_info: zeroconf.ZeroconfServiceInfo
) -> FlowResult: ) -> FlowResult:
"""Start a discovery flow from zeroconf.""" """Start a discovery flow from zeroconf."""
uid: str = discovery_info["hostname"][: -len(".local.")] uid: str = discovery_info[zeroconf.ATTR_HOSTNAME][: -len(".local.")]
host: str = discovery_info["host"] host: str = discovery_info[zeroconf.ATTR_HOST]
await self.async_set_unique_id(uid.upper()) await self.async_set_unique_id(uid.upper())
self._abort_if_unique_id_configured(updates={CONF_HOST: host}) self._abort_if_unique_id_configured(updates={CONF_HOST: host})

View File

@ -17,14 +17,14 @@ DEFAULT_ENTRY_TITLE = DEVICE_NAME
ZC_NAME = f"LOOKin_{DEVICE_ID}" ZC_NAME = f"LOOKin_{DEVICE_ID}"
ZC_TYPE = "_lookin._tcp." ZC_TYPE = "_lookin._tcp."
ZEROCONF_DATA: ZeroconfServiceInfo = { ZEROCONF_DATA = ZeroconfServiceInfo(
"host": IP_ADDRESS, host=IP_ADDRESS,
"hostname": f"{ZC_NAME.lower()}.local.", hostname=f"{ZC_NAME.lower()}.local.",
"port": 80, port=80,
"type": ZC_TYPE, type=ZC_TYPE,
"name": ZC_NAME, name=ZC_NAME,
"properties": {}, properties={},
} )
def _mocked_climate() -> Climate: def _mocked_climate() -> Climate:

View File

@ -6,6 +6,7 @@ from unittest.mock import patch
from aiolookin import NoUsableService from aiolookin import NoUsableService
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.components import zeroconf
from homeassistant.components.lookin.const import DOMAIN from homeassistant.components.lookin.const import DOMAIN
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -138,7 +139,7 @@ async def test_discovered_zeroconf(hass):
entry = hass.config_entries.async_entries(DOMAIN)[0] entry = hass.config_entries.async_entries(DOMAIN)[0]
zc_data_new_ip = ZEROCONF_DATA.copy() zc_data_new_ip = ZEROCONF_DATA.copy()
zc_data_new_ip["host"] = "127.0.0.2" zc_data_new_ip[zeroconf.ATTR_HOST] = "127.0.0.2"
with _patch_get_info(), patch( with _patch_get_info(), patch(
f"{MODULE}.async_setup_entry", return_value=True f"{MODULE}.async_setup_entry", return_value=True