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
This commit is contained in:
Sebastian Muszynski 2019-03-29 21:41:13 +01:00 committed by Paulus Schoutsen
parent 6401920019
commit f46a8378b0

View file

@ -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