From 3e7a737bff8a5e7d941bc53ccb191dc9eeecea84 Mon Sep 17 00:00:00 2001 From: Andreas Wolter Date: Tue, 13 Mar 2018 21:54:09 +0100 Subject: [PATCH] Added IPAreaThermostat and an exception-list for HM_IGNORE_DISCOVERY_NODE (#13171) --- homeassistant/components/homematic/__init__.py | 9 +++++++-- homeassistant/components/sensor/homematic.py | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/homematic/__init__.py b/homeassistant/components/homematic/__init__.py index 38ce712b9b0..b913b58864d 100644 --- a/homeassistant/components/homematic/__init__.py +++ b/homeassistant/components/homematic/__init__.py @@ -68,7 +68,7 @@ HM_DEVICE_TYPES = { 'WeatherStation', 'ThermostatWall2', 'TemperatureDiffSensor', 'TemperatureSensor', 'CO2Sensor', 'IPSwitchPowermeter', 'HMWIOSwitch', 'FillingLevel', 'ValveDrive', 'EcoLogic', 'IPThermostatWall', - 'IPSmoke', 'RFSiren', 'PresenceIP'], + 'IPSmoke', 'RFSiren', 'PresenceIP', 'IPAreaThermostat'], DISCOVER_CLIMATE: [ 'Thermostat', 'ThermostatWall', 'MAXThermostat', 'ThermostatWall2', 'MAXWallThermostat', 'IPThermostat', 'IPThermostatWall', @@ -86,6 +86,10 @@ HM_IGNORE_DISCOVERY_NODE = [ 'ACTUAL_HUMIDITY' ] +HM_IGNORE_DISCOVERY_NODE_EXCEPTIONS = { + 'ACTUAL_TEMPERATURE': ['IPAreaThermostat'], +} + HM_ATTRIBUTE_SUPPORT = { 'LOWBAT': ['battery', {0: 'High', 1: 'Low'}], 'LOW_BAT': ['battery', {0: 'High', 1: 'Low'}], @@ -505,7 +509,8 @@ def _get_devices(hass, discovery_type, keys, interface): # Generate options for 1...n elements with 1...n parameters for param, channels in metadata.items(): - if param in HM_IGNORE_DISCOVERY_NODE: + if param in HM_IGNORE_DISCOVERY_NODE and class_name not in \ + HM_IGNORE_DISCOVERY_NODE_EXCEPTIONS.get(param, []): continue # Add devices diff --git a/homeassistant/components/sensor/homematic.py b/homeassistant/components/sensor/homematic.py index 936533422bb..350f1e2eb59 100644 --- a/homeassistant/components/sensor/homematic.py +++ b/homeassistant/components/sensor/homematic.py @@ -35,6 +35,7 @@ HM_STATE_HA_CAST = { HM_UNIT_HA_CAST = { 'HUMIDITY': '%', 'TEMPERATURE': '°C', + 'ACTUAL_TEMPERATURE': '°C', 'BRIGHTNESS': '#', 'POWER': 'W', 'CURRENT': 'mA', @@ -57,6 +58,7 @@ HM_ICON_HA_CAST = { 'WIND_SPEED': 'mdi:weather-windy', 'HUMIDITY': 'mdi:water-percent', 'TEMPERATURE': 'mdi:thermometer', + 'ACTUAL_TEMPERATURE': 'mdi:thermometer', 'LUX': 'mdi:weather-sunny', 'BRIGHTNESS': 'mdi:invert-colors', 'POWER': 'mdi:flash-red-eye',