Fix re-triggering while on target page

This commit is contained in:
aderusha 2021-03-17 07:38:57 -04:00
parent ede952c4e8
commit 19b287c1fb

View File

@ -113,23 +113,36 @@ condition:
- condition: template - condition: template
value_template: >- value_template: >-
{{- {{-
not ( (trigger.payload_json.event is defined)
(trigger.payload_json.event is defined) and
and (trigger.payload_json.event == 'page')
(trigger.payload_json.event == 'page') and
and (trigger.payload_json.value is defined)
(trigger.payload_json.value is defined) and
and (trigger.payload_json.value != targetpage)
(trigger.payload_json.value == targetpage)
and
((targetpage|int) != (activepage|int))
)
-}} -}}
action: action:
- delay: - delay:
seconds: "{{idletime|int}}" 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 - service: mqtt.publish
data: data:
topic: "{{pagecommandtopic}}" topic: "{{pagecommandtopic}}"
payload: "{{targetpage}}" payload: "{{targetpage}}"
retain: true