mirror of
https://github.com/home-assistant/core.git
synced 2025-07-08 05:47:10 +00:00
Add device info to incomfort entities (#118741)
* Add device info to incomfort entities * Add DOMAIN import
This commit is contained in:
parent
2a92f78453
commit
ff27f8ef10
@ -125,6 +125,7 @@ class IncomfortEntity(Entity):
|
|||||||
"""Base class for all InComfort entities."""
|
"""Base class for all InComfort entities."""
|
||||||
|
|
||||||
_attr_should_poll = False
|
_attr_should_poll = False
|
||||||
|
_attr_has_entity_name = True
|
||||||
|
|
||||||
async def async_added_to_hass(self) -> None:
|
async def async_added_to_hass(self) -> None:
|
||||||
"""Set up a listener when this entity is added to HA."""
|
"""Set up a listener when this entity is added to HA."""
|
||||||
|
@ -9,9 +9,11 @@ from incomfortclient import Gateway as InComfortGateway, Heater as InComfortHeat
|
|||||||
from homeassistant.components.binary_sensor import BinarySensorEntity
|
from homeassistant.components.binary_sensor import BinarySensorEntity
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import DATA_INCOMFORT, IncomfortEntity
|
from . import DATA_INCOMFORT, IncomfortEntity
|
||||||
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
@ -39,6 +41,9 @@ class IncomfortFailed(IncomfortEntity, BinarySensorEntity):
|
|||||||
self._heater = heater
|
self._heater = heater
|
||||||
|
|
||||||
self._attr_unique_id = f"{heater.serial_no}_failed"
|
self._attr_unique_id = f"{heater.serial_no}_failed"
|
||||||
|
self._attr_device_info = DeviceInfo(
|
||||||
|
identifiers={(DOMAIN, heater.serial_no)},
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_on(self) -> bool:
|
def is_on(self) -> bool:
|
||||||
|
@ -18,9 +18,11 @@ from homeassistant.components.climate import (
|
|||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import ATTR_TEMPERATURE, UnitOfTemperature
|
from homeassistant.const import ATTR_TEMPERATURE, UnitOfTemperature
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import DATA_INCOMFORT, IncomfortEntity
|
from . import DATA_INCOMFORT, IncomfortEntity
|
||||||
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
@ -42,6 +44,7 @@ class InComfortClimate(IncomfortEntity, ClimateEntity):
|
|||||||
|
|
||||||
_attr_min_temp = 5.0
|
_attr_min_temp = 5.0
|
||||||
_attr_max_temp = 30.0
|
_attr_max_temp = 30.0
|
||||||
|
_attr_name = None
|
||||||
_attr_hvac_mode = HVACMode.HEAT
|
_attr_hvac_mode = HVACMode.HEAT
|
||||||
_attr_hvac_modes = [HVACMode.HEAT]
|
_attr_hvac_modes = [HVACMode.HEAT]
|
||||||
_attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE
|
_attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE
|
||||||
@ -58,7 +61,11 @@ class InComfortClimate(IncomfortEntity, ClimateEntity):
|
|||||||
self._room = room
|
self._room = room
|
||||||
|
|
||||||
self._attr_unique_id = f"{heater.serial_no}_{room.room_no}"
|
self._attr_unique_id = f"{heater.serial_no}_{room.room_no}"
|
||||||
self._attr_name = f"Thermostat {room.room_no}"
|
self._attr_device_info = DeviceInfo(
|
||||||
|
identifiers={(DOMAIN, self._attr_unique_id)},
|
||||||
|
manufacturer="Intergas",
|
||||||
|
name=f"Thermostat {room.room_no}",
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def extra_state_attributes(self) -> dict[str, Any]:
|
def extra_state_attributes(self) -> dict[str, Any]:
|
||||||
|
@ -15,10 +15,12 @@ from homeassistant.components.sensor import (
|
|||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import UnitOfPressure, UnitOfTemperature
|
from homeassistant.const import UnitOfPressure, UnitOfTemperature
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.util import slugify
|
from homeassistant.util import slugify
|
||||||
|
|
||||||
from . import DATA_INCOMFORT, IncomfortEntity
|
from . import DATA_INCOMFORT, IncomfortEntity
|
||||||
|
from .const import DOMAIN
|
||||||
|
|
||||||
INCOMFORT_HEATER_TEMP = "CV Temp"
|
INCOMFORT_HEATER_TEMP = "CV Temp"
|
||||||
INCOMFORT_PRESSURE = "CV Pressure"
|
INCOMFORT_PRESSURE = "CV Pressure"
|
||||||
@ -92,6 +94,9 @@ class IncomfortSensor(IncomfortEntity, SensorEntity):
|
|||||||
self._heater = heater
|
self._heater = heater
|
||||||
|
|
||||||
self._attr_unique_id = f"{heater.serial_no}_{slugify(description.name)}"
|
self._attr_unique_id = f"{heater.serial_no}_{slugify(description.name)}"
|
||||||
|
self._attr_device_info = DeviceInfo(
|
||||||
|
identifiers={(DOMAIN, heater.serial_no)},
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def native_value(self) -> str | None:
|
def native_value(self) -> str | None:
|
||||||
|
@ -12,10 +12,12 @@ from homeassistant.components.water_heater import WaterHeaterEntity
|
|||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import UnitOfTemperature
|
from homeassistant.const import UnitOfTemperature
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import DATA_INCOMFORT, DOMAIN, IncomfortEntity
|
from . import DATA_INCOMFORT, IncomfortEntity
|
||||||
|
from .const import DOMAIN
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -39,7 +41,7 @@ class IncomfortWaterHeater(IncomfortEntity, WaterHeaterEntity):
|
|||||||
|
|
||||||
_attr_min_temp = 30.0
|
_attr_min_temp = 30.0
|
||||||
_attr_max_temp = 80.0
|
_attr_max_temp = 80.0
|
||||||
_attr_name = "Boiler"
|
_attr_name = None
|
||||||
_attr_should_poll = True
|
_attr_should_poll = True
|
||||||
_attr_temperature_unit = UnitOfTemperature.CELSIUS
|
_attr_temperature_unit = UnitOfTemperature.CELSIUS
|
||||||
|
|
||||||
@ -51,6 +53,11 @@ class IncomfortWaterHeater(IncomfortEntity, WaterHeaterEntity):
|
|||||||
self._heater = heater
|
self._heater = heater
|
||||||
|
|
||||||
self._attr_unique_id = heater.serial_no
|
self._attr_unique_id = heater.serial_no
|
||||||
|
self._attr_device_info = DeviceInfo(
|
||||||
|
identifiers={(DOMAIN, heater.serial_no)},
|
||||||
|
manufacturer="Intergas",
|
||||||
|
name="Boiler",
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def icon(self) -> str:
|
def icon(self) -> str:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user