From 39cd3ac3f111eac6590d08b04ef2bd64f8916ca5 Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Mon, 7 Mar 2022 19:28:53 +0100 Subject: [PATCH 1/2] added input_button to example config --- README.md | 4 ++-- info.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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/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 From 46d2c2c97cfa99e92ab453fe5101ae83395d5832 Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Mon, 7 Mar 2022 20:39:16 +0100 Subject: [PATCH 2/2] initzialize dim value correctly after config change --- .../nspanel-lovelance-ui.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/nspanel-lovelance-ui/nspanel-lovelance-ui.py b/apps/nspanel-lovelance-ui/nspanel-lovelance-ui.py index e99ba5c2..9fde0d49 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() @@ -288,8 +300,8 @@ class NsPanelLovelanceUI: value = entity.state + " " + entity.attributes.unit_of_measurement return "entityUpd,{0},{1},{2},{3},{4},{5}".format(item_nr, "text", item, icon_id, name, value) - if item_type == "button" or item_type == "input_button": - return "entityUpd,{0},{1},{2},{3},{4},{5}".format(item_nr, "button", item, 3, name, "PRESS") + if item_type == "button": + return "entityUpd,{0},{1},{2},{3},{4},{5}".format(item_nr, item_type, item, 3, name, "PRESS") def generate_thermo_page(self, item): entity = self.api.get_entity(item)