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
entityUpd,*internalNameEntiy*,*heading*,*icon*,*title*,*author*,*volume*
entityUpd,|*internalNameEntiy*|*heading*|*icon*|*title*|*author*|*volume*
## Messages from Nextion Display

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -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)
self.send_mqtt_msg(command)