From f46a8378b020044ae95c1e72abba2ebaceeedfc0 Mon Sep 17 00:00:00 2001 From: Sebastian Muszynski Date: Fri, 29 Mar 2019 21:41:13 +0100 Subject: [PATCH] Fix regression of the xiaomi_aqara config validation (#22435) * Fix regression of the xiaomi_aqara config validation * Make the key optional again * Add base schema * Remove the GW_MAC default --- .../components/xiaomi_aqara/__init__.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/xiaomi_aqara/__init__.py b/homeassistant/components/xiaomi_aqara/__init__.py index e98655f9d76..9b113170f8a 100644 --- a/homeassistant/components/xiaomi_aqara/__init__.py +++ b/homeassistant/components/xiaomi_aqara/__init__.py @@ -61,7 +61,7 @@ SERVICE_SCHEMA_REMOVE_DEVICE = vol.Schema({ }) -GATEWAY_CONFIG_MAC_OPT = vol.Schema({ +GATEWAY_CONFIG = vol.Schema({ vol.Optional(CONF_KEY): vol.All(cv.string, vol.Length(min=16, max=16)), vol.Optional(CONF_HOST): cv.string, @@ -69,12 +69,12 @@ GATEWAY_CONFIG_MAC_OPT = vol.Schema({ vol.Optional(CONF_DISABLE, default=False): cv.boolean, }) -GATEWAY_CONFIG_MAC_REQ = vol.Schema({ - vol.Required(CONF_KEY): - vol.All(cv.string, vol.Length(min=16, max=16)), - vol.Optional(CONF_HOST): cv.string, - vol.Optional(CONF_PORT, default=9898): cv.port, - vol.Optional(CONF_DISABLE, default=False): cv.boolean, +GATEWAY_CONFIG_MAC_OPTIONAL = GATEWAY_CONFIG.extend({ + vol.Optional(CONF_MAC): GW_MAC, +}) + +GATEWAY_CONFIG_MAC_REQUIRED = GATEWAY_CONFIG.extend({ + vol.Required(CONF_MAC): GW_MAC, }) @@ -97,8 +97,8 @@ CONFIG_SCHEMA = vol.Schema({ DOMAIN: vol.Schema({ vol.Optional(CONF_GATEWAYS, default={}): vol.All(cv.ensure_list, vol.Any( - vol.All([GATEWAY_CONFIG_MAC_OPT], vol.Length(max=1)), - vol.All([GATEWAY_CONFIG_MAC_REQ], vol.Length(min=2)) + vol.All([GATEWAY_CONFIG_MAC_OPTIONAL], vol.Length(max=1)), + vol.All([GATEWAY_CONFIG_MAC_REQUIRED], vol.Length(min=2)) ), [_fix_conf_defaults]), vol.Optional(CONF_INTERFACE, default='any'): cv.string, vol.Optional(CONF_DISCOVERY_RETRY, default=3): cv.positive_int