diff --git a/hassio/addons/data.py b/hassio/addons/data.py index 197ad7cb8..e17f68041 100644 --- a/hassio/addons/data.py +++ b/hassio/addons/data.py @@ -393,5 +393,7 @@ class AddonsData(Config): """Create a schema for addon options.""" raw_schema = self._system_data[addon][ATTR_SCHEMA] - schema = vol.Schema(vol.All(dict, validate_options(raw_schema))) - return schema + if isinstance(raw_schema, bool): + return vol.Schema(dict) + + return vol.Schema(vol.All(dict, validate_options(raw_schema))) diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index 62a0e824d..95795c02e 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -62,11 +62,11 @@ SCHEMA_ADDON_CONFIG = vol.Schema(vol.All({ vol.Optional(ATTR_ENVIRONMENT): {vol.Match(r"\w*"): vol.Coerce(str)}, vol.Optional(ATTR_PRIVILEGED): [vol.In(PRIVILEGE_ALL)], vol.Required(ATTR_OPTIONS): dict, - vol.Required(ATTR_SCHEMA): { + vol.Required(ATTR_SCHEMA): vol.Any({ vol.Coerce(str): vol.Any(ADDON_ELEMENT, [ vol.Any(ADDON_ELEMENT, {vol.Coerce(str): ADDON_ELEMENT}) ]) - }, + }, False), vol.Optional(ATTR_IMAGE): vol.Match(r"\w*/\w*"), }, check_network), extra=vol.ALLOW_EXTRA)