mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-18 10:57:01 +01:00
move callbacks form init to reg call func
This commit is contained in:
@@ -22,13 +22,6 @@ class LuiController(object):
|
|||||||
# send panel back to startup page on restart of this script
|
# send panel back to startup page on restart of this script
|
||||||
self._pages_gen.page_type("pageStartup")
|
self._pages_gen.page_type("pageStartup")
|
||||||
|
|
||||||
# time update callback
|
|
||||||
time = datetime.time(0, 0, 0)
|
|
||||||
apis.ha_api.run_minutely(self._pages_gen.update_time, time)
|
|
||||||
|
|
||||||
# Setup date callback
|
|
||||||
apis.ha_api.run_daily(self._pages_gen.update_date, time)
|
|
||||||
|
|
||||||
# register callbacks
|
# register callbacks
|
||||||
self.register_callbacks()
|
self.register_callbacks()
|
||||||
|
|
||||||
@@ -36,32 +29,6 @@ class LuiController(object):
|
|||||||
self.current_screensaver_brightness = self.calc_current_brightness(self._config.get("sleepBrightness"))
|
self.current_screensaver_brightness = self.calc_current_brightness(self._config.get("sleepBrightness"))
|
||||||
self.current_screen_brightness = self.calc_current_brightness(self._config.get("screenBrightness"))
|
self.current_screen_brightness = self.calc_current_brightness(self._config.get("screenBrightness"))
|
||||||
|
|
||||||
# register callbacks for each time
|
|
||||||
if type(self._config.get("sleepBrightness")) == list:
|
|
||||||
for index, timeset in enumerate(self._config.get("sleepBrightness")):
|
|
||||||
apis.ha_api.run_daily(self.update_screensaver_brightness, timeset["time"], ssbr=timeset["value"], sbr=self.current_screen_brightness)
|
|
||||||
|
|
||||||
|
|
||||||
# call update_screensaver_brightness on changes of entity configured in sleepTracking
|
|
||||||
bst = self._config.get("sleepTracking")
|
|
||||||
if bst is not None and apis.ha_api.entity_exists(bst):
|
|
||||||
apis.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 type(sleepOverride) is dict and sleepOverride["entity"] is not None and sleepOverride["brightness"] is not None and apis.ha_api.entity_exists(sleepOverride["entity"]):
|
|
||||||
apis.ha_api.log(f"Configuring Sleep Override. Config is {sleepOverride}")
|
|
||||||
apis.ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=sleepOverride["entity"])
|
|
||||||
|
|
||||||
# register callback for state changes on tracked value (for input_number) - sleepBrightness
|
|
||||||
sleep_brightness_config = self._config.get("sleepBrightness")
|
|
||||||
if type(sleep_brightness_config) == str and apis.ha_api.entity_exists(sleep_brightness_config):
|
|
||||||
apis.ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=sleep_brightness_config)
|
|
||||||
# register callback for state changes on tracked value (for input_number) - screenBrightness
|
|
||||||
screen_brightness_config = self._config.get("screenBrightness")
|
|
||||||
if type(screen_brightness_config) == str and apis.ha_api.entity_exists(screen_brightness_config):
|
|
||||||
apis.ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=screen_brightness_config)
|
|
||||||
|
|
||||||
def startup(self):
|
def startup(self):
|
||||||
apis.ha_api.log(f"Startup Event")
|
apis.ha_api.log(f"Startup Event")
|
||||||
# send time and date on startup
|
# send time and date on startup
|
||||||
@@ -150,6 +117,38 @@ class LuiController(object):
|
|||||||
return current_screensaver_brightness
|
return current_screensaver_brightness
|
||||||
|
|
||||||
def register_callbacks(self):
|
def register_callbacks(self):
|
||||||
|
# time update callback
|
||||||
|
time = datetime.time(0, 0, 0)
|
||||||
|
apis.ha_api.run_minutely(self._pages_gen.update_time, time)
|
||||||
|
|
||||||
|
# Setup date callback
|
||||||
|
apis.ha_api.run_daily(self._pages_gen.update_date, time)
|
||||||
|
|
||||||
|
# register callbacks for each time
|
||||||
|
if type(self._config.get("sleepBrightness")) == list:
|
||||||
|
for index, timeset in enumerate(self._config.get("sleepBrightness")):
|
||||||
|
apis.ha_api.run_daily(self.update_screensaver_brightness, timeset["time"], ssbr=timeset["value"], sbr=self.current_screen_brightness)
|
||||||
|
|
||||||
|
# call update_screensaver_brightness on changes of entity configured in sleepTracking
|
||||||
|
bst = self._config.get("sleepTracking")
|
||||||
|
if bst is not None and apis.ha_api.entity_exists(bst):
|
||||||
|
apis.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 type(sleepOverride) is dict and sleepOverride["entity"] is not None and sleepOverride["brightness"] is not None and apis.ha_api.entity_exists(sleepOverride["entity"]):
|
||||||
|
apis.ha_api.log(f"Configuring Sleep Override. Config is {sleepOverride}")
|
||||||
|
apis.ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=sleepOverride["entity"])
|
||||||
|
|
||||||
|
# register callback for state changes on tracked value (for input_number) - sleepBrightness
|
||||||
|
sleep_brightness_config = self._config.get("sleepBrightness")
|
||||||
|
if type(sleep_brightness_config) == str and apis.ha_api.entity_exists(sleep_brightness_config):
|
||||||
|
apis.ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=sleep_brightness_config)
|
||||||
|
# register callback for state changes on tracked value (for input_number) - screenBrightness
|
||||||
|
screen_brightness_config = self._config.get("screenBrightness")
|
||||||
|
if type(screen_brightness_config) == str and apis.ha_api.entity_exists(screen_brightness_config):
|
||||||
|
apis.ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=screen_brightness_config)
|
||||||
|
|
||||||
items = self._config.get_all_entity_names()
|
items = self._config.get_all_entity_names()
|
||||||
apis.ha_api.log(f"Registering callbacks for the following items: {items}")
|
apis.ha_api.log(f"Registering callbacks for the following items: {items}")
|
||||||
for item in items:
|
for item in items:
|
||||||
|
|||||||
Reference in New Issue
Block a user