From 564789470e9bf7533c488d6f1fd3a61608fe0f96 Mon Sep 17 00:00:00 2001 From: SukramJ Date: Fri, 18 Oct 2019 02:25:16 +0200 Subject: [PATCH] Add device_info to HomematicIP climate and acp (#27771) --- .../homematicip_cloud/alarm_control_panel.py | 11 +++++++++++ .../components/homematicip_cloud/climate.py | 14 ++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/homematicip_cloud/alarm_control_panel.py b/homeassistant/components/homematicip_cloud/alarm_control_panel.py index bb5999108ce..653c1ae147b 100644 --- a/homeassistant/components/homematicip_cloud/alarm_control_panel.py +++ b/homeassistant/components/homematicip_cloud/alarm_control_panel.py @@ -59,6 +59,17 @@ class HomematicipAlarmControlPanel(AlarmControlPanel): else: self._external_alarm_zone = security_zone + @property + def device_info(self): + """Return device specific attributes.""" + return { + "identifiers": {(HMIPC_DOMAIN, f"ACP {self._home.id}")}, + "name": self.name, + "manufacturer": "eQ-3", + "model": CONST_ALARM_CONTROL_PANEL_NAME, + "via_device": (HMIPC_DOMAIN, self._home.id), + } + @property def state(self) -> str: """Return the state of the device.""" diff --git a/homeassistant/components/homematicip_cloud/climate.py b/homeassistant/components/homematicip_cloud/climate.py index cf1c1baabe0..b8c055dda1f 100644 --- a/homeassistant/components/homematicip_cloud/climate.py +++ b/homeassistant/components/homematicip_cloud/climate.py @@ -56,12 +56,23 @@ class HomematicipHeatingGroup(HomematicipGenericDevice, ClimateDevice): def __init__(self, hap: HomematicipHAP, device) -> None: """Initialize heating group.""" - device.modelType = "Group-Heating" + device.modelType = "HmIP-Heating-Group" self._simple_heating = None if device.actualTemperature is None: self._simple_heating = _get_first_heating_thermostat(device) super().__init__(hap, device) + @property + def device_info(self): + """Return device specific attributes.""" + return { + "identifiers": {(HMIPC_DOMAIN, self._device.id)}, + "name": self._device.label, + "manufacturer": "eQ-3", + "model": self._device.modelType, + "via_device": (HMIPC_DOMAIN, self._device.homeId), + } + @property def temperature_unit(self) -> str: """Return the unit of measurement.""" @@ -176,4 +187,3 @@ def _get_first_heating_thermostat(heating_group: AsyncHeatingGroup): for device in heating_group.devices: if isinstance(device, (AsyncHeatingThermostat, AsyncHeatingThermostatCompact)): return device - return None