diff --git a/appdaemon/apps/apps.yaml b/appdaemon/apps/apps.yaml index d0093478..93ae5a7e 100644 --- a/appdaemon/apps/apps.yaml +++ b/appdaemon/apps/apps.yaml @@ -5,10 +5,16 @@ nspanel: config: panelRecvTopic: "tele/tasmota_NsPanelTerrasse/RESULT" panelSendTopic: "cmnd/tasmota_NsPanelTerrasse/CustomSend" - timeoutScreensaver: 15000 # value in ms, must be between 50 and 65535 locale: "de_DE" timeFormat: "%H : %M" dateFormat: "%A, %d. %B %Y" + timeoutScreensaver: 15000 # value in ms, must be between 50 and 65535 + #brightnessScreensaver: 10 + brightnessScreensaver: + - time: "7:00:00" + value: 10 + - time: "23:00:00" + value: 0 pages: - type: cardEntities heading: TestPage1 diff --git a/appdaemon/apps/nspanel.py b/appdaemon/apps/nspanel.py index 8772f294..8540d57d 100644 --- a/appdaemon/apps/nspanel.py +++ b/appdaemon/apps/nspanel.py @@ -15,6 +15,7 @@ class NsPanelLovelanceUI: self.api = api self.config = config self.current_page_nr = 0 + self.current_screensaver_brightness = 10 # Setup, mqtt subscription and callback self.mqtt = self.api.get_plugin_api("MQTT") @@ -30,9 +31,20 @@ class NsPanelLovelanceUI: self.api.run_daily(self.update_date, time) self.update_date("") + # set brightness of screensaver + if type(self.config["brightnessScreensaver"]) == int: + self.current_screensaver_brightness = self.config["brightnessScreensaver"] + elif type(self.config["brightnessScreensaver"]) == list: + for timeset in self.config["brightnessScreensaver"]: + self.api.run_daily(self.update_screensaver_brightness, timeset["time"], value=timeset["value"]) + # register callbacks self.register_callbacks() + def update_screensaver_brightness(self, kwargs): + self.current_screensaver_brightness = kwargs['value'] + self.send_mqtt_msg(f"dimmode,{self.current_screensaver_brightness}") + def scale(self, val, src, dst): """ Scale the given value from the scale of src to the scale of dst. @@ -71,6 +83,9 @@ class NsPanelLovelanceUI: timeout = 50 self.send_mqtt_msg("timeout,{0}".format(timeout)) + # send screensaver brightness + self.update_screensaver_brightness() + # send messages for current page page_type = self.config["pages"][self.current_page_nr]["type"] self.generate_page(self.current_page_nr, page_type)