diff --git a/HMI/README.md b/HMI/README.md index d8aba57b..a51a36ef 100644 --- a/HMI/README.md +++ b/HMI/README.md @@ -93,7 +93,7 @@ entityUpd,*internalNameEntiy*,*heading*,*currentTemp*,*destTemp*,*status*,*minTe ### cardMedia Page -entityUpd,*internalNameEntiy*,*heading*,*icon*,*title*,*author*,*volume* +entityUpd,|*internalNameEntiy*|*heading*|*icon*|*title*|*author*|*volume* ## Messages from Nextion Display diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI index 328b7279..f3d048ed 100644 Binary files a/HMI/nspanel.HMI and b/HMI/nspanel.HMI differ diff --git a/HMI/nspanel.tft b/HMI/nspanel.tft index 96d19925..570621a9 100644 Binary files a/HMI/nspanel.tft and b/HMI/nspanel.tft differ diff --git a/appdaemon/apps/apps.yaml b/appdaemon/apps/apps.yaml index aae33c9b..d0093478 100644 --- a/appdaemon/apps/apps.yaml +++ b/appdaemon/apps/apps.yaml @@ -11,14 +11,14 @@ nspanel: dateFormat: "%A, %d. %B %Y" pages: - type: cardEntities - heading: Rolladen + heading: TestPage1 items: - cover.rolladenfenster_cover_1 - cover.nspterrasse_cover_1 - - cover.rolladenterasse_cover_1 + - input_boolean.notify_home - sensor.nspterrasse_analog_temperature1 - type: cardEntities - heading: TestPage + heading: TestPage2 items: - button.beamer_key_left - cover.rolladenterasse_cover_1 @@ -28,5 +28,6 @@ nspanel: heading: TestThermo item: climate.kuche_boden - type: cardMedia - heading: TestThermo + heading: TestMedia item: media_player.spotify_user + diff --git a/appdaemon/apps/nspanel.py b/appdaemon/apps/nspanel.py index 24c8ae69..8772f294 100644 --- a/appdaemon/apps/nspanel.py +++ b/appdaemon/apps/nspanel.py @@ -180,14 +180,16 @@ class NsPanelLovelanceUI: items.extend(page["items"]) for item in items: - self.api.handle = self.api.listen_state(self.state_change_callback, entity_id=item) + self.api.log("enable state callback for %s", item) + self.api.handle = self.api.listen_state(self.state_change_callback, entity_id=item, attribute="all") def state_change_callback(self, entity, attribute, old, new, kwargs): current_page_config = self.config["pages"][self.current_page_nr] page_type = current_page_config["type"] - self.api.log("test {0}".format(entity)) + self.api.log("got state_callback from {0}".format(entity)) + if page_type == "cardEntities": items = current_page_config["items"] @@ -288,7 +290,7 @@ class NsPanelLovelanceUI: 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) + return "entityUpd,|{0}|{1}|{2}|{3}|{4}|{5}".format(item, heading, icon, title, author, volume) def generate_page(self, page_number, page_type): @@ -316,4 +318,5 @@ class NsPanelLovelanceUI: # Send page type self.send_mqtt_msg("pageType,{0}".format(page_type)) command = self.generate_media_page(self.config["pages"][self.current_page_nr]["item"]) - self.send_mqtt_msg(command) \ No newline at end of file + self.send_mqtt_msg(command) +