Fix: button not updating with external changes (#721)
* Fix: button not updating with external changes * Removed debug code * Revert trigger_id change
This commit is contained in:
@@ -4646,7 +4646,8 @@ trigger:
|
|||||||
##### CLOSE - Trigger #####
|
##### CLOSE - Trigger #####
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
condition: '{{ is_state(nextion_inited, "on") | default(false) if nextion_inited is string else false }}'
|
condition:
|
||||||
|
- '{{ is_state(nextion_inited, "on") | default(false) if nextion_inited is string else false }}'
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
##### START - Action #####
|
##### START - Action #####
|
||||||
@@ -5743,7 +5744,7 @@ action:
|
|||||||
## PAGE LIGHTSETTINGS ##
|
## PAGE LIGHTSETTINGS ##
|
||||||
- alias: Light settings page
|
- alias: Light settings page
|
||||||
conditions: '{{ nspanel_event.page == nextion.pages.light }}'
|
conditions: '{{ nspanel_event.page == nextion.pages.light }}'
|
||||||
sequence:
|
sequence: &refresh_page_lightsettings
|
||||||
- *variables-settings_entity
|
- *variables-settings_entity
|
||||||
- if: '{{ settings_entity_domain == "light" }}'
|
- if: '{{ settings_entity_domain == "light" }}'
|
||||||
then:
|
then:
|
||||||
@@ -5844,7 +5845,7 @@ action:
|
|||||||
## PAGE COVERSETTINGS ##
|
## PAGE COVERSETTINGS ##
|
||||||
- alias: Cover settings page
|
- alias: Cover settings page
|
||||||
conditions: '{{ nspanel_event.page == nextion.pages.cover }}'
|
conditions: '{{ nspanel_event.page == nextion.pages.cover }}'
|
||||||
sequence:
|
sequence: &refresh_page_coversettings
|
||||||
##### COVER - OPEN / CLOSE #####
|
##### COVER - OPEN / CLOSE #####
|
||||||
- *variables-settings_entity
|
- *variables-settings_entity
|
||||||
- if: '{{ settings_entity_domain == "cover" }}'
|
- if: '{{ settings_entity_domain == "cover" }}'
|
||||||
@@ -5950,7 +5951,7 @@ action:
|
|||||||
## PAGE CLIMATE ##
|
## PAGE CLIMATE ##
|
||||||
- alias: Climate page
|
- alias: Climate page
|
||||||
conditions: '{{ nspanel_event.page == nextion.pages.climate }}'
|
conditions: '{{ nspanel_event.page == nextion.pages.climate }}'
|
||||||
sequence:
|
sequence: &refresh_page_climate
|
||||||
- *variables-settings_entity
|
- *variables-settings_entity
|
||||||
- variables:
|
- variables:
|
||||||
settings_entity_dict: >
|
settings_entity_dict: >
|
||||||
@@ -6953,8 +6954,8 @@ action:
|
|||||||
- conditions: '{{ nspanel_event.page in nextion.pages.entitypages }}'
|
- conditions: '{{ nspanel_event.page in nextion.pages.entitypages }}'
|
||||||
sequence: *refresh-entity_pages
|
sequence: *refresh-entity_pages
|
||||||
|
|
||||||
##### UPDATE BUTTONS AND PAGES - button page / lightsettings page / coversettings page #####
|
##### UPDATE BUTTONS PAGES - button page / lightsettings page / coversettings page #####
|
||||||
- alias: 'Update buttons & pages'
|
- alias: 'Buttons entity updated'
|
||||||
conditions:
|
conditions:
|
||||||
- condition: trigger
|
- condition: trigger
|
||||||
id:
|
id:
|
||||||
@@ -6991,12 +6992,17 @@ action:
|
|||||||
- current_state_entity31
|
- current_state_entity31
|
||||||
- current_state_entity32
|
- current_state_entity32
|
||||||
- '{{ trigger.to_state.state not in ["unavailable", "unknown", "", None] }}'
|
- '{{ trigger.to_state.state not in ["unavailable", "unknown", "", None] }}'
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- '{{ nspanel_event.page in nextion.pages.buttonpages }}'
|
||||||
|
- '{{ nspanel_event.page in [nextion.pages.light, nextion.pages.cover, nextion.pages.climate] }}'
|
||||||
|
|
||||||
sequence:
|
sequence:
|
||||||
- alias: choose current page
|
- choose:
|
||||||
choose:
|
- alias: "Button pages"
|
||||||
- alias: buttonpage
|
conditions:
|
||||||
conditions: '{{ nspanel_event.page in nextion.pages.buttonpages }}'
|
- '{{ nspanel_event.page in nextion.pages.buttonpages }}'
|
||||||
sequence:
|
sequence: #*refresh_page_buttonpage
|
||||||
- *variables-page_buttons
|
- *variables-page_buttons
|
||||||
- repeat:
|
- repeat:
|
||||||
for_each: >
|
for_each: >
|
||||||
@@ -7004,34 +7010,26 @@ action:
|
|||||||
button_pages_buttons
|
button_pages_buttons
|
||||||
| selectattr("page", "defined")
|
| selectattr("page", "defined")
|
||||||
| selectattr("page", "eq", nspanel_event.page)
|
| selectattr("page", "eq", nspanel_event.page)
|
||||||
| selectattr("component", "defined")
|
|
||||||
| selectattr("component", "eq", nspanel_event.component)
|
|
||||||
| selectattr("entity", "defined")
|
| selectattr("entity", "defined")
|
||||||
| selectattr("entity", "eq", trigger.entity_id)
|
| selectattr("entity", "eq", trigger.entity_id)
|
||||||
| list
|
| list
|
||||||
}}
|
}}
|
||||||
sequence: *display-button_page_button
|
sequence: *display-button_page_button
|
||||||
- alias: page climate
|
- alias: 'Light settings page'
|
||||||
conditions: '{{ nspanel_event.page == nextion.pages.climate and trigger.entity_id is match "climate." }}'
|
conditions:
|
||||||
sequence:
|
- '{{ nspanel_event.page == nextion.pages.light }}'
|
||||||
- *variables-settings_entity
|
- '{{ trigger.entity_id is match "light." }}'
|
||||||
- if: '{{ trigger.entity_id == settings_entity_dict.entity }}'
|
sequence: *refresh_page_lightsettings
|
||||||
then:
|
- alias: 'Cover settings page'
|
||||||
- variables:
|
conditions:
|
||||||
hvac_mode: '{{ states(settings_entity_dict.entity) | default("unavailable") if settings_entity_dict.entity is string else "unavailable" }}'
|
- '{{ nspanel_event.page == nextion.pages.cover }}'
|
||||||
heating_state: '{{ mui[language].climate.states.off if hvac_mode == "off" else mui[language].climate.states.on }}'
|
- '{{ trigger.entity_id is match "cover." }}'
|
||||||
heating_bt_pic: '{{ nextion.pics.heating.button.off if hvac_mode == "off" else nextion.pics.heating.button.on }}'
|
sequence: *refresh_page_coversettings
|
||||||
- service: '{{ nextion.commands.text_printf }}'
|
- alias: 'Climate page'
|
||||||
data:
|
conditions:
|
||||||
component: heating_state
|
- '{{ nspanel_event.page == nextion.pages.climate }}'
|
||||||
message: '{{ heating_state }}'
|
- '{{ trigger.entity_id is match "climate." }}'
|
||||||
continue_on_error: true
|
sequence: *refresh_page_climate
|
||||||
- *delay-default
|
|
||||||
- service: '{{ nextion.commands.printf }}'
|
|
||||||
data:
|
|
||||||
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
|
|
||||||
continue_on_error: true
|
|
||||||
|
|
||||||
|
|
||||||
########## TRIGGER - HOME PAGE ###########
|
########## TRIGGER - HOME PAGE ###########
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user