Enable sleepOverride

This commit is contained in:
illuzn
2022-05-30 14:22:38 +09:30
parent 9d34caaca6
commit 52205e8c11
2 changed files with 12 additions and 0 deletions

View File

@@ -68,6 +68,7 @@ class LuiBackendConfig(object):
'sleepTimeout': 20,
'sleepBrightness': 20,
'sleepTracking': None,
'sleepOverride': None,
'locale': "en_US",
'timeFormat': "%H:%M",
'dateFormatBabel': "full",

View File

@@ -42,6 +42,11 @@ class LuiController(object):
bst = self._config.get("sleepTracking")
if bst is not None and self._ha_api.entity_exists(bst):
self._ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=bst)
# call update_screensaver_brightness on entity configured in sleepOverride
sleepOverride = self._config.get("sleepOverride")
if sleepOverride is not None and sleepOverride["entity"] is not None and sleepOverride["brightness"] is not None and self._ha_api.entity_exists(sleepOverride["entity"]):
self._ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=sleepOverride["entity"])
# register callback for state changes on tracked value
sleep_brightness_config = self._config.get("sleepBrightness")
@@ -72,9 +77,15 @@ class LuiController(object):
def update_screensaver_brightness(self, kwargs):
bst = self._config.get("sleepTracking")
sleepOverride = self._config.get("sleepOverride")
brightness = 0
if bst is not None and self._ha_api.entity_exists(bst) and self._ha_api.get_entity(bst).state in ["not_home", "off"]:
brightness = 0
elif sleepOverride is not None and sleepOverride["entity"] is not None and sleepOverride["brightness"] is not None and self._ha_api.entity_exists(sleepOverride["entity"]) and self._ha_api.get_entity(sleepOverride["entity"]) in ["on", "true", "home"]:
brightness = sleepOverride["brightness"]
else:
self.current_screensaver_brightness = kwargs['value']
brightness = kwargs['value']