Fix input text reload (#32911)

* Fix input text reload

* FIx schema instead
This commit is contained in:
Bram Kragten 2020-03-17 20:42:55 +01:00 committed by GitHub
parent aece76f6cd
commit 097b056324
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -88,24 +88,22 @@ def _cv_input_text(cfg):
CONFIG_SCHEMA = vol.Schema( CONFIG_SCHEMA = vol.Schema(
{ {
DOMAIN: cv.schema_with_slug_keys( DOMAIN: cv.schema_with_slug_keys(
vol.Any( vol.All(
vol.All( lambda value: value or {},
{ {
vol.Optional(CONF_NAME): cv.string, vol.Optional(CONF_NAME): cv.string,
vol.Optional(CONF_MIN, default=CONF_MIN_VALUE): vol.Coerce(int), vol.Optional(CONF_MIN, default=CONF_MIN_VALUE): vol.Coerce(int),
vol.Optional(CONF_MAX, default=CONF_MAX_VALUE): vol.Coerce(int), vol.Optional(CONF_MAX, default=CONF_MAX_VALUE): vol.Coerce(int),
vol.Optional(CONF_INITIAL, ""): cv.string, vol.Optional(CONF_INITIAL, ""): cv.string,
vol.Optional(CONF_ICON): cv.icon, vol.Optional(CONF_ICON): cv.icon,
vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string, vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string,
vol.Optional(CONF_PATTERN): cv.string, vol.Optional(CONF_PATTERN): cv.string,
vol.Optional(CONF_MODE, default=MODE_TEXT): vol.In( vol.Optional(CONF_MODE, default=MODE_TEXT): vol.In(
[MODE_TEXT, MODE_PASSWORD] [MODE_TEXT, MODE_PASSWORD]
), ),
}, },
_cv_input_text, _cv_input_text,
), ),
None,
)
) )
}, },
extra=vol.ALLOW_EXTRA, extra=vol.ALLOW_EXTRA,
@ -203,13 +201,6 @@ class InputText(RestoreEntity):
@classmethod @classmethod
def from_yaml(cls, config: typing.Dict) -> "InputText": def from_yaml(cls, config: typing.Dict) -> "InputText":
"""Return entity instance initialized from yaml storage.""" """Return entity instance initialized from yaml storage."""
# set defaults for empty config
config = {
CONF_MAX: CONF_MAX_VALUE,
CONF_MIN: CONF_MIN_VALUE,
CONF_MODE: MODE_TEXT,
**config,
}
input_text = cls(config) input_text = cls(config)
input_text.entity_id = f"{DOMAIN}.{config[CONF_ID]}" input_text.entity_id = f"{DOMAIN}.{config[CONF_ID]}"
input_text.editable = False input_text.editable = False