Simplified normal text notifications further
Additionally made the script capable of clearing notifications. Should be almost no need to call notify services directly at all anymore.
This commit is contained in:
@ -459,8 +459,10 @@
|
|||||||
entity_id: input_boolean.vacation_mode
|
entity_id: input_boolean.vacation_mode
|
||||||
state: 'off'
|
state: 'off'
|
||||||
action:
|
action:
|
||||||
- service: notify.all_ios
|
- service: script.text_notify
|
||||||
data:
|
data:
|
||||||
|
type: alert
|
||||||
|
who: all
|
||||||
message: clear_notification
|
message: clear_notification
|
||||||
data:
|
data:
|
||||||
tag: tornado-warning
|
tag: tornado-warning
|
||||||
|
@ -692,7 +692,7 @@ script:
|
|||||||
name: 'Title'
|
name: 'Title'
|
||||||
description: 'The title of the notification'
|
description: 'The title of the notification'
|
||||||
example: 'Greetings'
|
example: 'Greetings'
|
||||||
required: true
|
required: false
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
message:
|
message:
|
||||||
@ -778,138 +778,57 @@ script:
|
|||||||
state: 'on'
|
state: 'on'
|
||||||
- if:
|
- if:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: '{{ who == "tony"}}'
|
value_template: >
|
||||||
|
{% if who == 'tony' %}
|
||||||
|
{{ is_state('input_boolean.text_notify_tony','on') }}
|
||||||
|
{% elif who == 'tina' %}
|
||||||
|
{{ is_state('input_boolean.text_notify_tina','on') }}
|
||||||
|
{% elif who == 'kallen' %}
|
||||||
|
{{ is_state('input_boolean.text_notify_kallen','on') }}
|
||||||
|
{% elif who == 'parents' %}
|
||||||
|
{{ is_state('input_boolean.text_notify_parents','on') }}
|
||||||
|
{% elif who == 'nerds' %}
|
||||||
|
{{ is_state('input_boolean.text_notify_nerds','on') }}
|
||||||
|
{% elif who == 'all' %}
|
||||||
|
{{ is_state('input_boolean.text_notify_all','on') }}
|
||||||
|
{% endif %}
|
||||||
then:
|
then:
|
||||||
- if:
|
- service: >
|
||||||
- condition: state
|
{% if who == 'tony' %}
|
||||||
entity_id: input_boolean.text_notify_tony
|
notify.ios_tony
|
||||||
state: 'on'
|
{% elif who == 'tina' %}
|
||||||
then:
|
notify.ios_tina
|
||||||
- service: notify.ios_tony
|
{% elif who == 'kallen' %}
|
||||||
data:
|
notify.ios_kallen
|
||||||
title: '{{ title }}'
|
{% elif who == 'nerds' %}
|
||||||
message: '{{ message }}'
|
{% if is_state('input_boolean.text_notify_tony','on') and is_state('input_boolean.text_notify_kallen','off') %}
|
||||||
data:
|
notify.ios_tony
|
||||||
tag: >
|
{% elif is_state('input_boolean.text_notify_tony','off') and is_state('input_boolean.text_notify_kallen','on') %}
|
||||||
{% if tag is defined %}
|
notify.ios_kallen
|
||||||
{{ tag }}
|
{% else %}
|
||||||
{% else %}
|
notify.ios_nerds
|
||||||
{}
|
{% endif %}
|
||||||
{% endif %}
|
{% elif who == 'parents' %}
|
||||||
- if:
|
{% if is_state('input_boolean.text_notify_tina','off') and is_state('input_boolean.text_notify_tony','on') %}
|
||||||
- condition: template
|
notify.ios_tony
|
||||||
value_template: '{{ who == "tina"}}'
|
{% elif is_state('input_boolean.text_notify_tina','on') and is_state('input_boolean.text_notify_tony','off') %}
|
||||||
then:
|
notify.ios_tina
|
||||||
- if:
|
{% else %}
|
||||||
- condition: state
|
notify.ios_parents
|
||||||
entity_id: input_boolean.text_notify_tina
|
{% endif %}
|
||||||
state: 'on'
|
{% elif who == 'all' %}
|
||||||
then:
|
notify.all_ios
|
||||||
- service: notify.ios_tina
|
{% endif %}
|
||||||
data:
|
data:
|
||||||
title: '{{ title }}'
|
title: '{{ title }}'
|
||||||
message: '{{ message }}'
|
message: '{{ message }}'
|
||||||
data:
|
data:
|
||||||
tag: >
|
tag: >
|
||||||
{% if tag is defined %}
|
{% if tag is defined %}
|
||||||
{{ tag }}
|
{{ tag }}
|
||||||
{% else %}
|
|
||||||
{}
|
|
||||||
{% endif %}
|
|
||||||
- if:
|
|
||||||
- condition: template
|
|
||||||
value_template: '{{ who == "kallen"}}'
|
|
||||||
then:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.text_notify_kallen
|
|
||||||
state: 'on'
|
|
||||||
then:
|
|
||||||
- service: notify.ios_kallen
|
|
||||||
data:
|
|
||||||
title: '{{ title }}'
|
|
||||||
message: '{{ message }}'
|
|
||||||
data:
|
|
||||||
tag: >
|
|
||||||
{% if tag is defined %}
|
|
||||||
{{ tag }}
|
|
||||||
{% else %}
|
|
||||||
{}
|
|
||||||
{% endif %}
|
|
||||||
- if:
|
|
||||||
- condition: template
|
|
||||||
value_template: '{{ who == "parents"}}'
|
|
||||||
then:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.text_notify_parents
|
|
||||||
state: 'on'
|
|
||||||
then:
|
|
||||||
- service: >
|
|
||||||
{% if is_state('input_boolean.text_notify_tina','off') and is_state('input_boolean.text_notify_tony','on') %}
|
|
||||||
notify.ios_tony
|
|
||||||
{% elif is_state('input_boolean.text_notify_tina','on') and is_state('input_boolean.text_notify_tony','off') %}
|
|
||||||
notify.ios_tina
|
|
||||||
{% else %}
|
{% else %}
|
||||||
notify.ios_parents
|
{}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
data:
|
|
||||||
title: '{{ title }}'
|
|
||||||
message: '{{ message }}'
|
|
||||||
data:
|
|
||||||
tag: >
|
|
||||||
{% if tag is defined %}
|
|
||||||
{{ tag }}
|
|
||||||
{% else %}
|
|
||||||
{}
|
|
||||||
{% endif %}
|
|
||||||
- if:
|
|
||||||
- condition: template
|
|
||||||
value_template: '{{ who == "nerds"}}'
|
|
||||||
then:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.text_notify_nerds
|
|
||||||
state: 'on'
|
|
||||||
then:
|
|
||||||
- service: >
|
|
||||||
{% if is_state('input_boolean.text_notify_tony','on') and is_state('input_boolean.text_notify_kallen','off') %}
|
|
||||||
notify.ios_tony
|
|
||||||
{% elif is_state('input_boolean.text_notify_tony','off') and is_state('input_boolean.text_notify_kallen','on') %}
|
|
||||||
notify.ios_kallen
|
|
||||||
{% else %}
|
|
||||||
notify.ios_nerds
|
|
||||||
{% endif %}
|
|
||||||
data:
|
|
||||||
title: '{{ title }}'
|
|
||||||
message: '{{ message }}'
|
|
||||||
data:
|
|
||||||
tag: >
|
|
||||||
{% if tag is defined %}
|
|
||||||
{{ tag }}
|
|
||||||
{% else %}
|
|
||||||
{}
|
|
||||||
{% endif %}
|
|
||||||
- if:
|
|
||||||
- condition: template
|
|
||||||
value_template: '{{ who == "all"}}'
|
|
||||||
then:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.text_notify_all
|
|
||||||
state: 'on'
|
|
||||||
then:
|
|
||||||
- service: notify.all_ios
|
|
||||||
data:
|
|
||||||
title: '{{ title }}'
|
|
||||||
message: '{{ message }}'
|
|
||||||
data:
|
|
||||||
tag: >
|
|
||||||
{% if tag is defined %}
|
|
||||||
{{ tag }}
|
|
||||||
{% else %}
|
|
||||||
{}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
tv_notify:
|
tv_notify:
|
||||||
alias: 'TV Notify'
|
alias: 'TV Notify'
|
||||||
|
@ -487,8 +487,10 @@ script:
|
|||||||
continue_on_timeout: true
|
continue_on_timeout: true
|
||||||
timeout:
|
timeout:
|
||||||
minutes: 1
|
minutes: 1
|
||||||
- service: notify.all_ios
|
- service: script.text_notify
|
||||||
data:
|
data:
|
||||||
|
type: alert
|
||||||
|
who: all
|
||||||
message: "clear_notification"
|
message: "clear_notification"
|
||||||
data:
|
data:
|
||||||
tag: skip-away
|
tag: skip-away
|
||||||
|
@ -320,6 +320,8 @@ automation:
|
|||||||
then:
|
then:
|
||||||
- service: notify.all_ios
|
- service: notify.all_ios
|
||||||
data:
|
data:
|
||||||
|
type: alert
|
||||||
|
who: all
|
||||||
message: clear_notification
|
message: clear_notification
|
||||||
data:
|
data:
|
||||||
tag: lockdown-issue
|
tag: lockdown-issue
|
||||||
|
@ -1560,8 +1560,10 @@ automation:
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ is_state('binary_sensor.windows','off') and is_state('binary_sensor.precipitation','on') }}"
|
value_template: "{{ is_state('binary_sensor.windows','off') and is_state('binary_sensor.precipitation','on') }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.all_ios
|
- service: script.text_notify
|
||||||
data:
|
data:
|
||||||
|
type: alert
|
||||||
|
who: all
|
||||||
message: clear_notification
|
message: clear_notification
|
||||||
data:
|
data:
|
||||||
tag: rain-window-warning
|
tag: rain-window-warning
|
||||||
@ -1573,8 +1575,10 @@ automation:
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ is_state('binary_sensor.precipitation','off') }}"
|
value_template: "{{ is_state('binary_sensor.precipitation','off') }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.all_ios
|
- service: script.text_notify
|
||||||
data:
|
data:
|
||||||
|
type: alert
|
||||||
|
who: all
|
||||||
message: clear_notification
|
message: clear_notification
|
||||||
data:
|
data:
|
||||||
tag: rain-window-warning
|
tag: rain-window-warning
|
||||||
@ -1658,8 +1662,10 @@ script:
|
|||||||
lightning_clear:
|
lightning_clear:
|
||||||
alias: 'Lightning Clear'
|
alias: 'Lightning Clear'
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.all_ios
|
- service: script.text_notify
|
||||||
data:
|
data:
|
||||||
|
type: alert
|
||||||
|
who: all
|
||||||
message: clear_notification
|
message: clear_notification
|
||||||
data:
|
data:
|
||||||
tag: lightning-warning
|
tag: lightning-warning
|
||||||
|
Reference in New Issue
Block a user