fix most of the settings by hardcoding 'none'

This commit is contained in:
Bas Nijholt 2020-09-20 20:49:13 +02:00
commit 0ed8ab41c0
3 changed files with 19 additions and 14 deletions

View file

@ -94,8 +94,8 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
disable_brightness_adjust = options.get(
CONF_DISABLE_BRIGHTNESS_ADJUST, DEFAULT_DISABLE_BRIGHTNESS_ADJUST
)
disable_entity = options.get(CONF_DISABLE_ENTITY)
disable_state = options.get(CONF_DISABLE_STATE)
disable_entity = options.get(CONF_DISABLE_ENTITY, "none")
disable_state = options.get(CONF_DISABLE_STATE, "none")
initial_transition = options.get(
CONF_INITIAL_TRANSITION, DEFAULT_INITIAL_TRANSITION
)
@ -107,12 +107,12 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
only_once = options.get(CONF_ONLY_ONCE, DEFAULT_ONLY_ONCE)
sleep_brightness = options.get(CONF_SLEEP_BRIGHTNESS, DEFAULT_SLEEP_BRIGHTNESS)
sleep_color_temp = options.get(CONF_SLEEP_COLOR_TEMP, DEFAULT_SLEEP_COLOR_TEMP)
sleep_entity = options.get(CONF_SLEEP_ENTITY)
sleep_state = options.get(CONF_SLEEP_STATE)
sleep_entity = options.get(CONF_SLEEP_ENTITY, "none")
sleep_state = options.get(CONF_SLEEP_STATE, "none")
sunrise_offset = options.get(CONF_SUNRISE_OFFSET, DEFAULT_SUNRISE_OFFSET)
sunrise_time = options.get(CONF_SUNRISE_TIME)
sunrise_time = options.get(CONF_SUNRISE_TIME, "none")
sunset_offset = options.get(CONF_SUNSET_OFFSET, DEFAULT_SUNSET_OFFSET)
sunset_time = options.get(CONF_SUNSET_TIME)
sunset_time = options.get(CONF_SUNSET_TIME, "none")
transition = options.get(CONF_TRANSITION, DEFAULT_TRANSITION)
all_lights = self.hass.states.async_entity_ids("light")
@ -124,8 +124,8 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
vol.Optional(
CONF_DISABLE_BRIGHTNESS_ADJUST, default=disable_brightness_adjust
): bool,
# vol.Optional(CONF_DISABLE_ENTITY, default=disable_entity): str,
# vol.Optional(CONF_DISABLE_STATE, default=disable_state): str,
vol.Optional(CONF_DISABLE_ENTITY, default=disable_entity): str,
vol.Optional(CONF_DISABLE_STATE, default=disable_state): str,
vol.Optional(
CONF_INITIAL_TRANSITION, default=initial_transition
): VALID_TRANSITION,
@ -149,8 +149,8 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
vol.Optional(CONF_SLEEP_COLOR_TEMP, default=sleep_color_temp): vol.All(
vol.Coerce(int), vol.Range(min=1000, max=10000)
),
# vol.Optional(CONF_SLEEP_ENTITY, default=sleep_entity): str,
# vol.Optional(CONF_SLEEP_STATE, default=sleep_state): str,
vol.Optional(CONF_SLEEP_ENTITY, default=sleep_entity): str,
vol.Optional(CONF_SLEEP_STATE, default=sleep_state): str,
vol.Optional(CONF_SUNRISE_OFFSET, default=sunrise_offset): int,
vol.Optional(CONF_SUNRISE_TIME, default=sunrise_time): str,
vol.Optional(CONF_SUNSET_OFFSET, default=sunset_offset): int,

View file

@ -39,7 +39,6 @@ UNDO_UPDATE_LISTENER = "undo_update_listener"
# _COMMON_SCHEMA = {
# vol.Optional(CONF_DISABLE_ENTITY): cv.entity_id,
# vol.Optional(CONF_DISABLE_STATE): vol.All(cv.ensure_list, [cv.string]),
# vol.Optional(CONF_INTERVAL, default=DEFAULT_INTERVAL): cv.time_period,
# vol.Optional(CONF_SLEEP_ENTITY): cv.entity_id,
# vol.Optional(CONF_SLEEP_STATE): vol.All(cv.ensure_list, [cv.string]),
# }

View file

@ -198,11 +198,17 @@ class AdaptiveSwitch(SwitchEntity, RestoreEntity):
("_sunrise_offset", cv.time_period),
("_sunset_offset", cv.time_period),
("_interval", cv.time_period),
("_disable_entity", cv.entity_id),
("_sleep_entity", cv.entity_id),
("_disable_state", vol.All(cv.ensure_list_csv, [cv.string])),
("_sleep_state", vol.All(cv.ensure_list_csv, [cv.string])),
]:
attr = getattr(self, name)
if attr is not None:
dt = validate(attr)
setattr(self, name, dt)
if attr is not None and attr != "none":
setattr(self, name, validate(attr))
elif attr == "none":
setattr(self, name, None)
# Initialize attributes that will be set in self._update_attrs
self._percent = None