mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-22 07:24:24 +01:00
add screen brightness
This commit is contained in:
@@ -36,17 +36,22 @@ class LuiController(object):
|
|||||||
self._ha_api.run_daily(self.update_screensaver_brightness, timeset["time"], value=timeset["value"])
|
self._ha_api.run_daily(self.update_screensaver_brightness, timeset["time"], value=timeset["value"])
|
||||||
|
|
||||||
# calculate current brightness
|
# calculate current brightness
|
||||||
self.current_screensaver_brightness = self.calc_current_screensaver_brightness()
|
self.current_screensaver_brightness = self.calc_current_brightness(self._config.get("sleepBrightness"))
|
||||||
|
self.current_screen_brightness = self.calc_current_brightness(self._config.get("screenBrightness"))
|
||||||
|
|
||||||
# call update_screensaver_brightness on changes of entity configured in brightnessScreensaverTracking
|
# call update_screensaver_brightness on changes of entity configured in sleepTracking
|
||||||
bst = self._config.get("sleepTracking")
|
bst = self._config.get("sleepTracking")
|
||||||
if bst is not None and self._ha_api.entity_exists(bst):
|
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)
|
self._ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=bst)
|
||||||
|
|
||||||
# register callback for state changes on tracked value
|
# register callback for state changes on tracked value (for input_number) - sleepBrightness
|
||||||
sleep_brightness_config = self._config.get("sleepBrightness")
|
sleep_brightness_config = self._config.get("sleepBrightness")
|
||||||
if type(sleep_brightness_config) == str and self._ha_api.entity_exists(sleep_brightness_config):
|
if type(sleep_brightness_config) == str and self._ha_api.entity_exists(sleep_brightness_config):
|
||||||
self._ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=sleep_brightness_config)
|
self._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 self._ha_api.entity_exists(screen_brightness_config):
|
||||||
|
self._ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=screen_brightness_config)
|
||||||
|
|
||||||
def startup(self):
|
def startup(self):
|
||||||
self._ha_api.log(f"Startup Event")
|
self._ha_api.log(f"Startup Event")
|
||||||
@@ -59,7 +64,7 @@ class LuiController(object):
|
|||||||
self._send_mqtt_msg(f"timeout~{timeout}")
|
self._send_mqtt_msg(f"timeout~{timeout}")
|
||||||
|
|
||||||
# set current screensaver brightness
|
# set current screensaver brightness
|
||||||
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
|
self.update_screensaver_brightness(kwargs={"ssbr": self.current_screensaver_brightness, "sbr": self.current_screen_brightness})
|
||||||
|
|
||||||
# send panel to screensaver
|
# send panel to screensaver
|
||||||
self._pages_gen.render_card(self._current_card)
|
self._pages_gen.render_card(self._current_card)
|
||||||
@@ -67,22 +72,25 @@ class LuiController(object):
|
|||||||
|
|
||||||
def update_screensaver_brightness_state_callback(self, entity, attribute, old, new, kwargs):
|
def update_screensaver_brightness_state_callback(self, entity, attribute, old, new, kwargs):
|
||||||
if type(self._config.get("sleepBrightness")) == str:
|
if type(self._config.get("sleepBrightness")) == str:
|
||||||
self.current_screensaver_brightness = self.calc_current_screensaver_brightness()
|
self.current_screensaver_brightness = self.calc_current_brightness(self._config.get("sleepBrightness"))
|
||||||
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
|
self.current_screen_brightness = self.calc_current_brightness(self._config.get("screenBrightness"))
|
||||||
|
self.update_screensaver_brightness(kwargs={"ssbr": self.current_screensaver_brightness, "sbr": self.current_screen_brightness})
|
||||||
|
|
||||||
def update_screensaver_brightness(self, kwargs):
|
def update_screensaver_brightness(self, kwargs):
|
||||||
bst = self._config.get("sleepTracking")
|
bst = self._config.get("sleepTracking")
|
||||||
brightness = 0
|
sleepBrightness = 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"]:
|
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
|
sleepBrightness = 0
|
||||||
else:
|
else:
|
||||||
self.current_screensaver_brightness = kwargs['value']
|
self.current_screensaver_brightness = kwargs['ssbr']
|
||||||
brightness = kwargs['value']
|
sleepBrightness = self.current_screensaver_brightness
|
||||||
self._send_mqtt_msg(f"dimmode~{brightness}")
|
self.current_screen_brightness = kwargs['sbr']
|
||||||
|
brightness = self.current_screen_brightness
|
||||||
|
self._send_mqtt_msg(f"dimmode~{sleepBrightness}~{brightness}")
|
||||||
|
|
||||||
def calc_current_screensaver_brightness(self):
|
def calc_current_brightness(self, sleep_brightness_config):
|
||||||
current_screensaver_brightness = 20
|
current_screensaver_brightness = 20
|
||||||
sleep_brightness_config = self._config.get("sleepBrightness")
|
#sleep_brightness_config = self._config.get("sleepBrightness")
|
||||||
# set brightness of screensaver
|
# set brightness of screensaver
|
||||||
if type(sleep_brightness_config) == int:
|
if type(sleep_brightness_config) == int:
|
||||||
current_screensaver_brightness = sleep_brightness_config
|
current_screensaver_brightness = sleep_brightness_config
|
||||||
|
|||||||
Reference in New Issue
Block a user