diff --git a/custom_components/webastoconnect/__init__.py b/custom_components/webastoconnect/__init__.py index fce1a16..62012c1 100644 --- a/custom_components/webastoconnect/__init__.py +++ b/custom_components/webastoconnect/__init__.py @@ -127,12 +127,15 @@ def _async_migrator(entity_entry: er.RegistryEntry) -> dict[str, Any] | None: async def _async_update_device_registry_name( hass: HomeAssistant, + entry: ConfigEntry, device_id: int, device_name: str, ) -> None: """Update the device registry name.""" device_registry = dr.async_get(hass) - device_entry = device_registry.async_get_device({(DOMAIN, str(device_id))}) + device_entry = device_registry.async_get_device_by_identifier( + (DOMAIN, str(device_id)), entry.entry_id + ) if device_entry is None or device_entry.name_by_user is not None: return if device_entry.name == device_name: @@ -288,7 +291,7 @@ async def _async_setup( for id, device in coordinator.cloud.devices.items(): device_name = webasto_device_name(device, webapi_device_names.get(str(id))) LOGGER.debug("Found device: %s", device_name) - await _async_update_device_registry_name(hass, id, device_name) + await _async_update_device_registry_name(hass, entry, id, device_name) # Migrate unique IDs await _async_migrate_unique_ids(hass, id, device_name, entry) diff --git a/custom_components/webastoconnect/base.py b/custom_components/webastoconnect/base.py index cb92e6d..ffc9c81 100644 --- a/custom_components/webastoconnect/base.py +++ b/custom_components/webastoconnect/base.py @@ -130,8 +130,8 @@ def __init__( "name": self._device_name, "model": "ThermoConnect", "manufacturer": "Webasto", - "hw_version": settings.get("hw_version", "Unknown"), - "sw_version": settings.get("sw_version", "Unknown"), + "hw_version": str(settings.get("hw_version") or "Unknown"), + "sw_version": str(settings.get("sw_version") or "Unknown"), "configuration_url": "https://my.webastoconnect.com", }