From 0ffcc197d4ff13e940f49e716c20316764652f2a Mon Sep 17 00:00:00 2001 From: Fredrik Erlandsson Date: Mon, 13 May 2019 15:38:33 +0200 Subject: [PATCH] Daikin adaptions for AirBase units (#23734) * updated list of supported fan_modes * AirBase units does not support Holiday-mode * AirBase units does not support outside temp * pydaikin version bump * don't modify constant --- homeassistant/components/daikin/climate.py | 12 +++++------- homeassistant/components/daikin/manifest.json | 2 +- homeassistant/components/daikin/sensor.py | 5 ++++- requirements_all.txt | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/daikin/climate.py b/homeassistant/components/daikin/climate.py index 7ea4e1177436df..239aa78bfbf5da 100644 --- a/homeassistant/components/daikin/climate.py +++ b/homeassistant/components/daikin/climate.py @@ -81,12 +81,7 @@ def __init__(self, api): self._api = api self._list = { ATTR_OPERATION_MODE: list(HA_STATE_TO_DAIKIN), - ATTR_FAN_MODE: list( - map( - str.title, - appliance.daikin_values(HA_ATTR_TO_DAIKIN[ATTR_FAN_MODE]) - ) - ), + ATTR_FAN_MODE: self._api.device.fan_modes, ATTR_SWING_MODE: list( map( str.title, @@ -95,10 +90,13 @@ def __init__(self, api): ), } - self._supported_features = (SUPPORT_AWAY_MODE | SUPPORT_ON_OFF + self._supported_features = (SUPPORT_ON_OFF | SUPPORT_OPERATION_MODE | SUPPORT_TARGET_TEMPERATURE) + if self._api.device.support_away_mode: + self._supported_features |= SUPPORT_AWAY_MODE + if self._api.device.support_fan_mode: self._supported_features |= SUPPORT_FAN_MODE diff --git a/homeassistant/components/daikin/manifest.json b/homeassistant/components/daikin/manifest.json index 9891cce3b3e829..a0141dd1f9945d 100644 --- a/homeassistant/components/daikin/manifest.json +++ b/homeassistant/components/daikin/manifest.json @@ -4,7 +4,7 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/components/daikin", "requirements": [ - "pydaikin==1.4.0" + "pydaikin==1.4.3" ], "dependencies": [], "codeowners": [ diff --git a/homeassistant/components/daikin/sensor.py b/homeassistant/components/daikin/sensor.py index c4f885f5081d6c..8196acc5cf7dfe 100644 --- a/homeassistant/components/daikin/sensor.py +++ b/homeassistant/components/daikin/sensor.py @@ -26,9 +26,12 @@ async def async_setup_platform( async def async_setup_entry(hass, entry, async_add_entities): """Set up Daikin climate based on config_entry.""" daikin_api = hass.data[DAIKIN_DOMAIN].get(entry.entry_id) + sensors = [ATTR_INSIDE_TEMPERATURE] + if daikin_api.device.support_outside_temperature: + sensors.append(ATTR_OUTSIDE_TEMPERATURE) async_add_entities([ DaikinClimateSensor(daikin_api, sensor, hass.config.units) - for sensor in SENSOR_TYPES + for sensor in sensors ]) diff --git a/requirements_all.txt b/requirements_all.txt index a94dae8ce5a00e..43d66a4c01bf82 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1021,7 +1021,7 @@ pycsspeechtts==1.0.2 # pycups==1.9.73 # homeassistant.components.daikin -pydaikin==1.4.0 +pydaikin==1.4.3 # homeassistant.components.danfoss_air pydanfossair==0.1.0