From 7b18860dcd0e9757db4dd7fb6d523f3b9af68ca9 Mon Sep 17 00:00:00 2001 From: Matthias Alphart Date: Mon, 17 May 2021 11:18:13 +0200 Subject: [PATCH] Update xknx to version 0.18.2 (#50491) * xknx 0.18.2 * individual colors without switch * make `setpoint_shift_mode` optional * Update homeassistant/components/knx/schema.py --- homeassistant/components/knx/factory.py | 2 +- homeassistant/components/knx/manifest.json | 2 +- homeassistant/components/knx/schema.py | 47 +++++++++++++++------- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 5 files changed, 37 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/knx/factory.py b/homeassistant/components/knx/factory.py index 7c4b7186075..702b6d4f3c1 100644 --- a/homeassistant/components/knx/factory.py +++ b/homeassistant/components/knx/factory.py @@ -130,7 +130,7 @@ def _create_climate(knx_module: XKNX, config: ConfigType) -> XknxClimate: group_address_setpoint_shift_state=config.get( ClimateSchema.CONF_SETPOINT_SHIFT_STATE_ADDRESS ), - setpoint_shift_mode=config[ClimateSchema.CONF_SETPOINT_SHIFT_MODE], + setpoint_shift_mode=config.get(ClimateSchema.CONF_SETPOINT_SHIFT_MODE), setpoint_shift_max=config[ClimateSchema.CONF_SETPOINT_SHIFT_MAX], setpoint_shift_min=config[ClimateSchema.CONF_SETPOINT_SHIFT_MIN], temperature_step=config[ClimateSchema.CONF_TEMPERATURE_STEP], diff --git a/homeassistant/components/knx/manifest.json b/homeassistant/components/knx/manifest.json index bcca5855bf1..0a722d46162 100644 --- a/homeassistant/components/knx/manifest.json +++ b/homeassistant/components/knx/manifest.json @@ -2,7 +2,7 @@ "domain": "knx", "name": "KNX", "documentation": "https://www.home-assistant.io/integrations/knx", - "requirements": ["xknx==0.18.1"], + "requirements": ["xknx==0.18.2"], "codeowners": ["@Julius2342", "@farmio", "@marvin-w"], "quality_scale": "silver", "iot_class": "local_push" diff --git a/homeassistant/components/knx/schema.py b/homeassistant/components/knx/schema.py index dddcabc767b..2404ab37ed3 100644 --- a/homeassistant/components/knx/schema.py +++ b/homeassistant/components/knx/schema.py @@ -174,9 +174,6 @@ class ClimateSchema: vol.Schema( { vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - vol.Optional( - CONF_SETPOINT_SHIFT_MODE, default=DEFAULT_SETPOINT_SHIFT_MODE - ): vol.All(vol.Upper, cv.enum(SetpointShiftMode)), vol.Optional( CONF_SETPOINT_SHIFT_MAX, default=DEFAULT_SETPOINT_SHIFT_MAX ): vol.All(int, vol.Range(min=0, max=32)), @@ -189,8 +186,21 @@ class ClimateSchema: vol.Required(CONF_TEMPERATURE_ADDRESS): ga_list_validator, vol.Required(CONF_TARGET_TEMPERATURE_STATE_ADDRESS): ga_list_validator, vol.Optional(CONF_TARGET_TEMPERATURE_ADDRESS): ga_list_validator, - vol.Optional(CONF_SETPOINT_SHIFT_ADDRESS): ga_list_validator, - vol.Optional(CONF_SETPOINT_SHIFT_STATE_ADDRESS): ga_list_validator, + vol.Inclusive( + CONF_SETPOINT_SHIFT_ADDRESS, + "setpoint_shift", + msg="'setpoint_shift_address' and 'setpoint_shift_state_address' " + "are required for setpoint_shift configuration", + ): ga_list_validator, + vol.Inclusive( + CONF_SETPOINT_SHIFT_STATE_ADDRESS, + "setpoint_shift", + msg="'setpoint_shift_address' and 'setpoint_shift_state_address' " + "are required for setpoint_shift configuration", + ): ga_list_validator, + vol.Optional(CONF_SETPOINT_SHIFT_MODE): vol.Maybe( + vol.All(vol.Upper, cv.enum(SetpointShiftMode)) + ), vol.Optional(CONF_OPERATION_MODE_ADDRESS): ga_list_validator, vol.Optional(CONF_OPERATION_MODE_STATE_ADDRESS): ga_list_validator, vol.Optional(CONF_CONTROLLER_STATUS_ADDRESS): ga_list_validator, @@ -377,9 +387,21 @@ class LightSchema: vol.Optional(CONF_BRIGHTNESS_ADDRESS): ga_list_validator, vol.Optional(CONF_BRIGHTNESS_STATE_ADDRESS): ga_list_validator, vol.Exclusive(CONF_INDIVIDUAL_COLORS, "color"): { - vol.Inclusive(CONF_RED, "colors"): COLOR_SCHEMA, - vol.Inclusive(CONF_GREEN, "colors"): COLOR_SCHEMA, - vol.Inclusive(CONF_BLUE, "colors"): COLOR_SCHEMA, + vol.Inclusive( + CONF_RED, + "individual_colors", + msg="'red', 'green' and 'blue' are required for individual colors configuration", + ): COLOR_SCHEMA, + vol.Inclusive( + CONF_GREEN, + "individual_colors", + msg="'red', 'green' and 'blue' are required for individual colors configuration", + ): COLOR_SCHEMA, + vol.Inclusive( + CONF_BLUE, + "individual_colors", + msg="'red', 'green' and 'blue' are required for individual colors configuration", + ): COLOR_SCHEMA, vol.Optional(CONF_WHITE): COLOR_SCHEMA, }, vol.Exclusive(CONF_COLOR_ADDRESS, "color"): ga_list_validator, @@ -400,14 +422,11 @@ class LightSchema: } ), vol.Any( - # either global "address" or all addresses for individual colors are required + # either global "address" or "individual_colors" is required vol.Schema( { - vol.Required(CONF_INDIVIDUAL_COLORS): { - vol.Required(CONF_RED): {vol.Required(KNX_ADDRESS): object}, - vol.Required(CONF_GREEN): {vol.Required(KNX_ADDRESS): object}, - vol.Required(CONF_BLUE): {vol.Required(KNX_ADDRESS): object}, - }, + # brightness addresses are required in COLOR_SCHEMA + vol.Required(CONF_INDIVIDUAL_COLORS): object, }, extra=vol.ALLOW_EXTRA, ), diff --git a/requirements_all.txt b/requirements_all.txt index d21e9c5b6b1..295667ed237 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2365,7 +2365,7 @@ xbox-webapi==2.0.11 xboxapi==2.0.1 # homeassistant.components.knx -xknx==0.18.1 +xknx==0.18.2 # homeassistant.components.bluesound # homeassistant.components.rest diff --git a/requirements_test_all.txt b/requirements_test_all.txt index ee397276f03..e8ac0657ab7 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1271,7 +1271,7 @@ wolf_smartset==0.1.8 xbox-webapi==2.0.11 # homeassistant.components.knx -xknx==0.18.1 +xknx==0.18.2 # homeassistant.components.bluesound # homeassistant.components.rest