Use DeviceInfo on components with suggested_area ()

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-10-23 12:03:14 +02:00 committed by GitHub
parent 63646a19cc
commit 513c90123e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 41 deletions
homeassistant/components
hunterdouglas_powerview
nuheat
roku
tado

View file

@ -38,21 +38,21 @@ class HDEntity(CoordinatorEntity):
return self._unique_id return self._unique_id
@property @property
def device_info(self): def device_info(self) -> DeviceInfo:
"""Return the device_info of the device.""" """Return the device_info of the device."""
firmware = self._device_info[DEVICE_FIRMWARE] firmware = self._device_info[DEVICE_FIRMWARE]
sw_version = f"{firmware[FIRMWARE_REVISION]}.{firmware[FIRMWARE_SUB_REVISION]}.{firmware[FIRMWARE_BUILD]}" sw_version = f"{firmware[FIRMWARE_REVISION]}.{firmware[FIRMWARE_SUB_REVISION]}.{firmware[FIRMWARE_BUILD]}"
return { return DeviceInfo(
"identifiers": {(DOMAIN, self._device_info[DEVICE_SERIAL_NUMBER])}, identifiers={(DOMAIN, self._device_info[DEVICE_SERIAL_NUMBER])},
"connections": { connections={
(dr.CONNECTION_NETWORK_MAC, self._device_info[DEVICE_MAC_ADDRESS]) (dr.CONNECTION_NETWORK_MAC, self._device_info[DEVICE_MAC_ADDRESS])
}, },
"name": self._device_info[DEVICE_NAME], name=self._device_info[DEVICE_NAME],
"suggested_area": self._room_name, suggested_area=self._room_name,
"model": self._device_info[DEVICE_MODEL], model=self._device_info[DEVICE_MODEL],
"sw_version": sw_version, sw_version=sw_version,
"manufacturer": MANUFACTURER, manufacturer=MANUFACTURER,
} )
class ShadeEntity(HDEntity): class ShadeEntity(HDEntity):

View file

@ -24,6 +24,7 @@ from homeassistant.components.climate.const import (
from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT
from homeassistant.core import callback from homeassistant.core import callback
from homeassistant.helpers import event as event_helper from homeassistant.helpers import event as event_helper
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import ( from .const import (
@ -284,12 +285,12 @@ class NuHeatThermostat(CoordinatorEntity, ClimateEntity):
self.async_write_ha_state() self.async_write_ha_state()
@property @property
def device_info(self): def device_info(self) -> DeviceInfo:
"""Return the device_info of the device.""" """Return the device_info of the device."""
return { return DeviceInfo(
"identifiers": {(DOMAIN, self._thermostat.serial_number)}, identifiers={(DOMAIN, self._thermostat.serial_number)},
"name": self._thermostat.room, name=self._thermostat.room,
"model": "nVent Signature", model="nVent Signature",
"manufacturer": MANUFACTURER, manufacturer=MANUFACTURER,
"suggested_area": self._thermostat.room, suggested_area=self._thermostat.room,
} )

View file

@ -1,13 +1,6 @@
"""Base Entity for Roku.""" """Base Entity for Roku."""
from __future__ import annotations from __future__ import annotations
from homeassistant.const import (
ATTR_IDENTIFIERS,
ATTR_MANUFACTURER,
ATTR_MODEL,
ATTR_NAME,
ATTR_SW_VERSION,
)
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.helpers.update_coordinator import CoordinatorEntity
@ -33,11 +26,11 @@ class RokuEntity(CoordinatorEntity):
if self._device_id is None: if self._device_id is None:
return None return None
return { return DeviceInfo(
ATTR_IDENTIFIERS: {(DOMAIN, self._device_id)}, identifiers={(DOMAIN, self._device_id)},
ATTR_NAME: self.coordinator.data.info.name, name=self.coordinator.data.info.name,
ATTR_MANUFACTURER: self.coordinator.data.info.brand, manufacturer=self.coordinator.data.info.brand,
ATTR_MODEL: self.coordinator.data.info.model_name, model=self.coordinator.data.info.model_name,
ATTR_SW_VERSION: self.coordinator.data.info.version, sw_version=self.coordinator.data.info.version,
"suggested_area": self.coordinator.data.info.device_location, suggested_area=self.coordinator.data.info.device_location,
} )

View file

@ -63,15 +63,15 @@ class TadoZoneEntity(Entity):
self.zone_id = zone_id self.zone_id = zone_id
@property @property
def device_info(self): def device_info(self) -> DeviceInfo:
"""Return the device_info of the device.""" """Return the device_info of the device."""
return { return DeviceInfo(
"identifiers": {(DOMAIN, self._device_zone_id)}, identifiers={(DOMAIN, self._device_zone_id)},
"name": self.zone_name, name=self.zone_name,
"manufacturer": DEFAULT_NAME, manufacturer=DEFAULT_NAME,
"model": TADO_ZONE, model=TADO_ZONE,
"suggested_area": self.zone_name, suggested_area=self.zone_name,
} )
@property @property
def should_poll(self): def should_poll(self):