added config for screensaver brightness

This commit is contained in:
joBr99
2022-03-06 21:18:22 +01:00
parent 93523cb2e3
commit b84e4bd11f
2 changed files with 22 additions and 1 deletions

View File

@@ -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

View File

@@ -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)