From 19b287c1fbc3c23d8ec782604ddb35ce3e112479 Mon Sep 17 00:00:00 2001 From: aderusha Date: Wed, 17 Mar 2021 07:38:57 -0400 Subject: [PATCH] Fix re-triggering while on target page --- .../hasp_Activate_Page_on_Idle.yaml | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml b/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml index 2bebc6b..56dcc3f 100644 --- a/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml +++ b/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml @@ -113,23 +113,36 @@ condition: - condition: template value_template: >- {{- - not ( - (trigger.payload_json.event is defined) - and - (trigger.payload_json.event == 'page') - and - (trigger.payload_json.value is defined) - and - (trigger.payload_json.value == targetpage) - and - ((targetpage|int) != (activepage|int)) - ) + (trigger.payload_json.event is defined) + and + (trigger.payload_json.event == 'page') + and + (trigger.payload_json.value is defined) + and + (trigger.payload_json.value != targetpage) -}} action: - delay: seconds: "{{idletime|int}}" + + - condition: template + value_template: >- + {%- set currentpage = namespace() -%} + {%- for entity in device_entities(haspdevice) -%} + {%- if entity|regex_search("^number\..*_active_page(?:_\d+|)$") -%} + {%- set currentpage.entity=entity -%} + {{ break }} + {%- endif -%} + {%- endfor -%} + {%- if states(currentpage.entity) == targetpage -%} + {{false}} + {%- else -%} + {{true}} + {%- endif -%} + - service: mqtt.publish data: topic: "{{pagecommandtopic}}" payload: "{{targetpage}}" + retain: true \ No newline at end of file