diff --git a/README.md b/README.md index 41178a55..275dcff9 100644 --- a/README.md +++ b/README.md @@ -241,10 +241,10 @@ nspanel-1: - input_boolean.example_input_boolean - sensor.example_sensor - type: cardEntities - heading: Example Page 1 + heading: Example Page 2 items: - button.example_button - - delete + - input_button.example_input_button - light.light_example - delete - type: cardThermo diff --git a/apps/nspanel-lovelance-ui/nspanel-lovelance-ui.py b/apps/nspanel-lovelance-ui/nspanel-lovelance-ui.py index 713028e9..eee24fcf 100644 --- a/apps/nspanel-lovelance-ui/nspanel-lovelance-ui.py +++ b/apps/nspanel-lovelance-ui/nspanel-lovelance-ui.py @@ -35,8 +35,20 @@ class NsPanelLovelanceUI: 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"]: + sorted_timesets = sorted(self.config["brightnessScreensaver"], key=lambda d: self.api.parse_time(d['time'])) + found_current_dim_value = False + for timeset in sorted_timesets: self.api.run_daily(self.update_screensaver_brightness, timeset["time"], value=timeset["value"]) + if self.api.parse_time(timeset["time"]) > self.api.get_now().time() and not found_current_dim_value: + # first time after current time, set dim value + self.current_screensaver_brightness = timeset["value"] + found_current_dim_value = True + # send screensaver brightness in case config has changed + self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness}) + + # send date update in case config has been changed + self.update_date("") + # register callbacks self.register_callbacks() diff --git a/info.md b/info.md index 331da34f..58f776cf 100644 --- a/info.md +++ b/info.md @@ -30,10 +30,10 @@ nspanel-1: - input_boolean.example_input_boolean - sensor.example_sensor - type: cardEntities - heading: Example Page 1 + heading: Example Page 2 items: - button.example_button - - delete + - input_button.example_input_button - light.light_example - delete - type: cardThermo