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