From 067b2bd75a54e36e0af91b6cf87b81e0f6c5c70c Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Sun, 19 Nov 2023 23:28:54 +0100 Subject: [PATCH] implement screensaver --- .../rootfs/usr/bin/mqtt-manager/ha_cards.py | 12 +++++------- .../rootfs/usr/bin/mqtt-manager/libs/panel_cmd.py | 3 +++ .../rootfs/usr/bin/mqtt-manager/panel.py | 5 ++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py index e50507cd..4b60a57d 100644 --- a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py +++ b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py @@ -258,17 +258,15 @@ class PowerCard(HACard): result += f"~{speed}" return result -class Screensaver(panel_cards.Card): +class Screensaver(HACard): def __init__(self, locale, config, panel): super().__init__(locale, config, panel) - if "entities" in config: - for e in config.get("entities"): - # print(e) - HAEntity(locale, e, panel) - # elif "entity" in config: def render(self): - return "" + result = "" + for e in self.entities: + result += e.render(cardType=self.type) + return result[1:] def card_factory(locale, settings, panel): diff --git a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/libs/panel_cmd.py b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/libs/panel_cmd.py index cfc103c4..409141f7 100644 --- a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/libs/panel_cmd.py +++ b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/libs/panel_cmd.py @@ -28,3 +28,6 @@ def send_date(topic, date): def entityUpd(topic, data): custom_send(topic, f"entityUpd~{data}") + +def weatherUpdate(topic, data): + custom_send(topic, f"weatherUpdate~{data}") diff --git a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py index b1666254..72ed9a9c 100644 --- a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py +++ b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py @@ -113,15 +113,14 @@ class LovelaceUIPanel: libs.panel_cmd.page_type(self.sendTopic, "screensaver") self.current_card = Screensaver( self.settings["locale"], self.settings["screensaver"], self) - libs.panel_cmd.entityUpd( + libs.panel_cmd.weatherUpdate( self.sendTopic, self.current_card.render()) - if msg[1] == "sleepReached": self.privious_cards.append(self.current_card) libs.panel_cmd.page_type(self.sendTopic, "screensaver") self.current_card = Screensaver( self.settings["locale"], self.settings["screensaver"], self) - libs.panel_cmd.entityUpd( + libs.panel_cmd.weatherUpdate( self.sendTopic, self.current_card.render()) if msg[1] == "buttonPress2": entity_id = msg[2]