From b3c4e39199a6616b8440310790eb3bf3b392808b Mon Sep 17 00:00:00 2001 From: Johannes Braun Date: Sun, 6 Mar 2022 00:50:57 +0100 Subject: [PATCH] added inital support for media card in appdeamon app --- HMI/nspanel.HMI | Bin 9713868 -> 9713868 bytes HMI/nspanel.tft | Bin 7364240 -> 7364292 bytes appdaemon/apps/nspanel.py | 19 ++++++++++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI index 7b3b982028caaa75ea9d420f3a37513beff0dbc9..6d45b2030b50a4f73ad45fd8cc0ba951e4abc96d 100644 GIT binary patch delta 1042 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 delta 7339 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 diff --git a/appdaemon/apps/nspanel.py b/appdaemon/apps/nspanel.py index a28975a9..7b1e5f44 100644 --- a/appdaemon/apps/nspanel.py +++ b/appdaemon/apps/nspanel.py @@ -145,7 +145,9 @@ class NsPanelLovelanceUI: if item_type == "delete": return "entityUpd,{0},{1}".format(item_nr, item_type) - + + if not self.api.entity_exists(item): + return entity = self.api.get_entity(item) name = entity.attributes.friendly_name @@ -187,10 +189,17 @@ class NsPanelLovelanceUI: def generate_media_page(self, item): entity = self.api.get_entity(item) heading = entity.attributes.friendly_name - icon = 5 - title = "test_title" - author = "test_author" - volume = 75 + if "media_content_type" in entity.attributes: + if entity.attributes.media_content_type == "music": + icon = 5 + else: + icon = 5 + if "media_title" in entity.attributes: + title = entity.attributes.media_title + if "media_artist" in entity.attributes: + author = entity.attributes.media_artist + if "volume_level" in entity.attributes: + volume = int(entity.attributes.volume_level*100) return "entityUpd,{0},{1},{2},{3},{4},{5}".format(item, heading, icon, title, author, volume)