Use DeviceInfo object for Nobo hub (#95753)
This commit is contained in:
parent
3bd8955e0e
commit
4ee7ea3cba
2 changed files with 16 additions and 21 deletions
|
@ -18,10 +18,7 @@ from homeassistant.components.climate import (
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_IDENTIFIERS,
|
|
||||||
ATTR_NAME,
|
ATTR_NAME,
|
||||||
ATTR_SUGGESTED_AREA,
|
|
||||||
ATTR_VIA_DEVICE,
|
|
||||||
PRECISION_TENTHS,
|
PRECISION_TENTHS,
|
||||||
UnitOfTemperature,
|
UnitOfTemperature,
|
||||||
)
|
)
|
||||||
|
@ -95,12 +92,12 @@ class NoboZone(ClimateEntity):
|
||||||
self._attr_hvac_mode = HVACMode.AUTO
|
self._attr_hvac_mode = HVACMode.AUTO
|
||||||
self._attr_hvac_modes = [HVACMode.HEAT, HVACMode.AUTO]
|
self._attr_hvac_modes = [HVACMode.HEAT, HVACMode.AUTO]
|
||||||
self._override_type = override_type
|
self._override_type = override_type
|
||||||
self._attr_device_info: DeviceInfo = {
|
self._attr_device_info = DeviceInfo(
|
||||||
ATTR_IDENTIFIERS: {(DOMAIN, f"{hub.hub_serial}:{zone_id}")},
|
identifiers={(DOMAIN, f"{hub.hub_serial}:{zone_id}")},
|
||||||
ATTR_NAME: hub.zones[zone_id][ATTR_NAME],
|
name=hub.zones[zone_id][ATTR_NAME],
|
||||||
ATTR_VIA_DEVICE: (DOMAIN, hub.hub_info[ATTR_SERIAL]),
|
via_device=(DOMAIN, hub.hub_info[ATTR_SERIAL]),
|
||||||
ATTR_SUGGESTED_AREA: hub.zones[zone_id][ATTR_NAME],
|
suggested_area=hub.zones[zone_id][ATTR_NAME],
|
||||||
}
|
)
|
||||||
self._read_state()
|
self._read_state()
|
||||||
|
|
||||||
async def async_added_to_hass(self) -> None:
|
async def async_added_to_hass(self) -> None:
|
||||||
|
|
|
@ -10,12 +10,8 @@ from homeassistant.components.sensor import (
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_IDENTIFIERS,
|
|
||||||
ATTR_MANUFACTURER,
|
|
||||||
ATTR_MODEL,
|
ATTR_MODEL,
|
||||||
ATTR_NAME,
|
ATTR_NAME,
|
||||||
ATTR_SUGGESTED_AREA,
|
|
||||||
ATTR_VIA_DEVICE,
|
|
||||||
UnitOfTemperature,
|
UnitOfTemperature,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
|
@ -60,16 +56,18 @@ class NoboTemperatureSensor(SensorEntity):
|
||||||
self._attr_unique_id = component[ATTR_SERIAL]
|
self._attr_unique_id = component[ATTR_SERIAL]
|
||||||
self._attr_name = "Temperature"
|
self._attr_name = "Temperature"
|
||||||
self._attr_has_entity_name = True
|
self._attr_has_entity_name = True
|
||||||
self._attr_device_info: DeviceInfo = {
|
|
||||||
ATTR_IDENTIFIERS: {(DOMAIN, component[ATTR_SERIAL])},
|
|
||||||
ATTR_NAME: component[ATTR_NAME],
|
|
||||||
ATTR_MANUFACTURER: NOBO_MANUFACTURER,
|
|
||||||
ATTR_MODEL: component[ATTR_MODEL].name,
|
|
||||||
ATTR_VIA_DEVICE: (DOMAIN, hub.hub_info[ATTR_SERIAL]),
|
|
||||||
}
|
|
||||||
zone_id = component[ATTR_ZONE_ID]
|
zone_id = component[ATTR_ZONE_ID]
|
||||||
|
suggested_area = None
|
||||||
if zone_id != "-1":
|
if zone_id != "-1":
|
||||||
self._attr_device_info[ATTR_SUGGESTED_AREA] = hub.zones[zone_id][ATTR_NAME]
|
suggested_area = hub.zones[zone_id][ATTR_NAME]
|
||||||
|
self._attr_device_info = DeviceInfo(
|
||||||
|
identifiers={(DOMAIN, component[ATTR_SERIAL])},
|
||||||
|
name=component[ATTR_NAME],
|
||||||
|
manufacturer=NOBO_MANUFACTURER,
|
||||||
|
model=component[ATTR_MODEL].name,
|
||||||
|
via_device=(DOMAIN, hub.hub_info[ATTR_SERIAL]),
|
||||||
|
suggested_area=suggested_area,
|
||||||
|
)
|
||||||
self._read_state()
|
self._read_state()
|
||||||
|
|
||||||
async def async_added_to_hass(self) -> None:
|
async def async_added_to_hass(self) -> None:
|
||||||
|
|
Loading…
Add table
Reference in a new issue