added media player card and external updates

closes #8 and closes #9
This commit is contained in:
joBr99
2022-03-06 18:38:20 +01:00
parent b7a7c869df
commit 614adaf96a
5 changed files with 13 additions and 9 deletions

View File

@@ -93,7 +93,7 @@ entityUpd,*internalNameEntiy*,*heading*,*currentTemp*,*destTemp*,*status*,*minTe
### cardMedia Page ### cardMedia Page
entityUpd,*internalNameEntiy*,*heading*,*icon*,*title*,*author*,*volume* entityUpd,|*internalNameEntiy*|*heading*|*icon*|*title*|*author*|*volume*
## Messages from Nextion Display ## Messages from Nextion Display

Binary file not shown.

Binary file not shown.

View File

@@ -11,14 +11,14 @@ nspanel:
dateFormat: "%A, %d. %B %Y" dateFormat: "%A, %d. %B %Y"
pages: pages:
- type: cardEntities - type: cardEntities
heading: Rolladen heading: TestPage1
items: items:
- cover.rolladenfenster_cover_1 - cover.rolladenfenster_cover_1
- cover.nspterrasse_cover_1 - cover.nspterrasse_cover_1
- cover.rolladenterasse_cover_1 - input_boolean.notify_home
- sensor.nspterrasse_analog_temperature1 - sensor.nspterrasse_analog_temperature1
- type: cardEntities - type: cardEntities
heading: TestPage heading: TestPage2
items: items:
- button.beamer_key_left - button.beamer_key_left
- cover.rolladenterasse_cover_1 - cover.rolladenterasse_cover_1
@@ -28,5 +28,6 @@ nspanel:
heading: TestThermo heading: TestThermo
item: climate.kuche_boden item: climate.kuche_boden
- type: cardMedia - type: cardMedia
heading: TestThermo heading: TestMedia
item: media_player.spotify_user item: media_player.spotify_user

View File

@@ -180,14 +180,16 @@ class NsPanelLovelanceUI:
items.extend(page["items"]) items.extend(page["items"])
for item in 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): def state_change_callback(self, entity, attribute, old, new, kwargs):
current_page_config = self.config["pages"][self.current_page_nr] current_page_config = self.config["pages"][self.current_page_nr]
page_type = current_page_config["type"] 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": if page_type == "cardEntities":
items = current_page_config["items"] items = current_page_config["items"]
@@ -288,7 +290,7 @@ class NsPanelLovelanceUI:
if "volume_level" in entity.attributes: if "volume_level" in entity.attributes:
volume = int(entity.attributes.volume_level*100) 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): def generate_page(self, page_number, page_type):
@@ -316,4 +318,5 @@ class NsPanelLovelanceUI:
# Send page type # Send page type
self.send_mqtt_msg("pageType,{0}".format(page_type)) self.send_mqtt_msg("pageType,{0}".format(page_type))
command = self.generate_media_page(self.config["pages"][self.current_page_nr]["item"]) command = self.generate_media_page(self.config["pages"][self.current_page_nr]["item"])
self.send_mqtt_msg(command) self.send_mqtt_msg(command)