From 1eb8704872e8967af544f74d03003b52784a39ac Mon Sep 17 00:00:00 2001 From: aderusha Date: Fri, 5 Mar 2021 07:21:17 -0500 Subject: [PATCH] don't trigger if page changes to targetpage --- .../hasp_Activate_Page_on_Idle.yaml | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml b/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml index 1637580..bfaf5c3 100644 --- a/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml +++ b/Home_Assistant/blueprints/hasp_Activate_Page_on_Idle.yaml @@ -74,6 +74,15 @@ variables: targetpage: !input targetpage idletime: !input idletime pagecommandtopic: '{{ "hasp/" ~ haspname ~ "/command/page" }}' + activepage: >- + {%- set activepage = namespace() -%} + {%- for entity in device_entities(haspdevice) -%} + {%- if entity|regex_search("^number\..*_active_page(?:_\d+|)$") -%} + {%- set activepage.entity=entity -%} + {{ break }} + {%- endif -%} + {%- endfor -%} + {% if states(activepage.entity)|lower == "none" %}-1{% else %}{{ states(activepage.entity) | int }}{% endif %} trigger_variables: haspdevice: !input haspdevice @@ -103,7 +112,20 @@ condition: - condition: template value_template: "{{ is_state(haspsensor, 'ON') }}" - 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) ) }}" + 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)) + ) + -}}" action: - delay: