mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-19 22:24:15 +01:00
@@ -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
|
||||||
|
|
||||||
|
|||||||
BIN
HMI/nspanel.HMI
BIN
HMI/nspanel.HMI
Binary file not shown.
BIN
HMI/nspanel.tft
BIN
HMI/nspanel.tft
Binary file not shown.
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user