From d91b3edb40cf7615b1769cfe0ea7ae852fa6ebdb Mon Sep 17 00:00:00 2001 From: Andre Basche Date: Sat, 15 Apr 2023 22:03:50 +0200 Subject: [PATCH] Use unique_id instead of mac address for #22 --- custom_components/hon/binary_sensor.py | 6 +++--- custom_components/hon/button.py | 6 +++--- custom_components/hon/hon.py | 6 +++--- custom_components/hon/manifest.json | 4 ++-- custom_components/hon/number.py | 6 +++--- custom_components/hon/select.py | 6 +++--- custom_components/hon/sensor.py | 6 +++--- custom_components/hon/switch.py | 6 +++--- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/custom_components/hon/binary_sensor.py b/custom_components/hon/binary_sensor.py index 4579c3d..6e3e030 100644 --- a/custom_components/hon/binary_sensor.py +++ b/custom_components/hon/binary_sensor.py @@ -167,11 +167,11 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non coordinators = hass.data[DOMAIN]["coordinators"] appliances = [] for device in hon.appliances: - if device.mac_address in coordinators: - coordinator = hass.data[DOMAIN]["coordinators"][device.mac_address] + if device.unique_id in coordinators: + coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] else: coordinator = HonCoordinator(hass, device) - hass.data[DOMAIN]["coordinators"][device.mac_address] = coordinator + hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator await coordinator.async_config_entry_first_refresh() if descriptions := BINARY_SENSORS.get(device.appliance_type): diff --git a/custom_components/hon/button.py b/custom_components/hon/button.py index f4cf6a1..d932bc8 100644 --- a/custom_components/hon/button.py +++ b/custom_components/hon/button.py @@ -41,11 +41,11 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non coordinators = hass.data[DOMAIN]["coordinators"] appliances = [] for device in hon.appliances: - if device.mac_address in coordinators: - coordinator = hass.data[DOMAIN]["coordinators"][device.mac_address] + if device.unique_id in coordinators: + coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] else: coordinator = HonCoordinator(hass, device) - hass.data[DOMAIN]["coordinators"][device.mac_address] = coordinator + hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator await coordinator.async_config_entry_first_refresh() if descriptions := BUTTONS.get(device.appliance_type): diff --git a/custom_components/hon/hon.py b/custom_components/hon/hon.py index 6b197f9..f55f761 100644 --- a/custom_components/hon/hon.py +++ b/custom_components/hon/hon.py @@ -22,12 +22,12 @@ class HonEntity(CoordinatorEntity): self._hass = hass self._device = device - self._attr_unique_id = self._device.mac_address + self._attr_unique_id = self._device.unique_id @property def device_info(self): return DeviceInfo( - identifiers={(DOMAIN, self._device.mac_address)}, + identifiers={(DOMAIN, self._device.unique_id)}, manufacturer=self._device.get("brand", ""), name=self._device.nick_name if self._device.nick_name @@ -43,7 +43,7 @@ class HonCoordinator(DataUpdateCoordinator): super().__init__( hass, _LOGGER, - name=device.mac_address, + name=device.unique_id, update_interval=timedelta(seconds=30), ) self._device = device diff --git a/custom_components/hon/manifest.json b/custom_components/hon/manifest.json index 4ffbf4d..2ca4fe7 100644 --- a/custom_components/hon/manifest.json +++ b/custom_components/hon/manifest.json @@ -6,6 +6,6 @@ "documentation": "https://github.com/Andre0512/hon/", "iot_class": "cloud_polling", "issue_tracker": "https://github.com/Andre0512/hon/issues", - "requirements": ["pyhOn==0.8.0b2"], - "version": "0.6.0-beta.1" + "requirements": ["pyhOn==0.8.0b3"], + "version": "0.6.0-beta.2" } diff --git a/custom_components/hon/number.py b/custom_components/hon/number.py index f95bedf..468d5dd 100644 --- a/custom_components/hon/number.py +++ b/custom_components/hon/number.py @@ -128,11 +128,11 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non coordinators = hass.data[DOMAIN]["coordinators"] appliances = [] for device in hon.appliances: - if device.mac_address in coordinators: - coordinator = hass.data[DOMAIN]["coordinators"][device.mac_address] + if device.unique_id in coordinators: + coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] else: coordinator = HonCoordinator(hass, device) - hass.data[DOMAIN]["coordinators"][device.mac_address] = coordinator + hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator await coordinator.async_config_entry_first_refresh() if descriptions := NUMBERS.get(device.appliance_type): diff --git a/custom_components/hon/select.py b/custom_components/hon/select.py index 08a4200..257240a 100644 --- a/custom_components/hon/select.py +++ b/custom_components/hon/select.py @@ -92,11 +92,11 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non coordinators = hass.data[DOMAIN]["coordinators"] appliances = [] for device in hon.appliances: - if device.mac_address in coordinators: - coordinator = hass.data[DOMAIN]["coordinators"][device.mac_address] + if device.unique_id in coordinators: + coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] else: coordinator = HonCoordinator(hass, device) - hass.data[DOMAIN]["coordinators"][device.mac_address] = coordinator + hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator await coordinator.async_config_entry_first_refresh() if descriptions := SELECTS.get(device.appliance_type): diff --git a/custom_components/hon/sensor.py b/custom_components/hon/sensor.py index 4511e0d..afa25ff 100644 --- a/custom_components/hon/sensor.py +++ b/custom_components/hon/sensor.py @@ -245,11 +245,11 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non coordinators = hass.data[DOMAIN]["coordinators"] appliances = [] for device in hon.appliances: - if device.mac_address in coordinators: - coordinator = hass.data[DOMAIN]["coordinators"][device.mac_address] + if device.unique_id in coordinators: + coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] else: coordinator = HonCoordinator(hass, device) - hass.data[DOMAIN]["coordinators"][device.mac_address] = coordinator + hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator await coordinator.async_config_entry_first_refresh() if descriptions := SENSORS.get(device.appliance_type): diff --git a/custom_components/hon/switch.py b/custom_components/hon/switch.py index e30b662..1d30b9d 100644 --- a/custom_components/hon/switch.py +++ b/custom_components/hon/switch.py @@ -97,11 +97,11 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non coordinators = hass.data[DOMAIN]["coordinators"] appliances = [] for device in hon.appliances: - if device.mac_address in coordinators: - coordinator = hass.data[DOMAIN]["coordinators"][device.mac_address] + if device.unique_id in coordinators: + coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] else: coordinator = HonCoordinator(hass, device) - hass.data[DOMAIN]["coordinators"][device.mac_address] = coordinator + hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator await coordinator.async_config_entry_first_refresh() if descriptions := SWITCHES.get(device.appliance_type):