From 5050e430ece2b8212105949b865e664c474e516a Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Wed, 1 Feb 2023 22:44:18 +0100 Subject: [PATCH] implement cooldown config option for cards --- apps/nspanel-lovelace-ui/luibackend/config.py | 5 +++-- apps/nspanel-lovelace-ui/luibackend/pages.py | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/nspanel-lovelace-ui/luibackend/config.py b/apps/nspanel-lovelace-ui/luibackend/config.py index 632c7df3..b4cf4553 100644 --- a/apps/nspanel-lovelace-ui/luibackend/config.py +++ b/apps/nspanel-lovelace-ui/luibackend/config.py @@ -40,6 +40,8 @@ class Card(object): self.key = card_input_config.get("key", "unknown") self.nav1Override = card_input_config.get("navItem1") self.nav2Override = card_input_config.get("navItem2") + self.last_update = 0 + self.cooldown = card_input_config.get("cooldown", 0) # for single entity card like climate or media self.entity = None if card_input_config.get("entity") is not None: @@ -49,8 +51,7 @@ class Card(object): for e in card_input_config.get("entities", []): self.entities.append(Entity(e)) self.id = f"{self.cardType}_{self.key}".replace(".","_").replace("~","_").replace(" ","_") - #self._ha_api.log(f"Created Card {self.cardType} and id {self.id}") - + def get_entity_names(self): entityIds = [] if self.entity is not None: diff --git a/apps/nspanel-lovelace-ui/luibackend/pages.py b/apps/nspanel-lovelace-ui/luibackend/pages.py index 3bdddf40..2e9760ba 100644 --- a/apps/nspanel-lovelace-ui/luibackend/pages.py +++ b/apps/nspanel-lovelace-ui/luibackend/pages.py @@ -648,6 +648,13 @@ class LuiPagesGen(object): def render_card(self, card, send_page_type=True): + # page type is false, so this request is from a callback + if not send_page_type and card.cooldown != 0: + if (time.time()-card.last_update) < card.cooldown: + return + card.last_update = time.time() + + leftBtn = "delete~~~~~" if card.uuid_prev is not None: leftBtn = self.generate_entities_item(Entity(