208 lines
7.1 KiB
YAML
208 lines
7.1 KiB
YAML
alias: Notification Board
|
|
mode: queued
|
|
max: 10
|
|
description: ""
|
|
fields:
|
|
message:
|
|
name: Message
|
|
description: Nachricht
|
|
selector:
|
|
text:
|
|
multiline: true
|
|
title:
|
|
name: Title
|
|
description: Titel
|
|
selector:
|
|
text: null
|
|
critical:
|
|
name: Critical
|
|
description: iPhone Kritische Hinweise
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_alexa_durchsagen:
|
|
name: Notify Alexa (Durchsagen)
|
|
description: Sprachausgabe über Amazon-Geräte mit "_durchsagen"
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_alexa_sprechen:
|
|
name: Notify Alexa (Sprechen)
|
|
description: Sprachausgabe über Amazon-Geräte mit "_sprechen"
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_tv:
|
|
name: Notify TV
|
|
description: Benachrichtigung auf TV Geräten
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
pushover_oliver:
|
|
name: Pushover Oliver
|
|
description: Benachrichtigung über Pushover (Oliver)
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
pushover_lisa:
|
|
name: Pushover Lisa
|
|
description: Benachrichtigung über Pushover (Lisa)
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_persistent:
|
|
name: Notify Persistent (Nur App)
|
|
description: Dauerhafte Benachrichtigung in Home Assistant
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_oliver:
|
|
name: Notify Oliver
|
|
description: Benachrichtigung über Mobile App (Oliver)
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_lisa:
|
|
name: Notify Lisa
|
|
description: Benachrichtigung über Mobile App (Lisa)
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
notify_familie:
|
|
name: Notify Familie
|
|
description: Benachrichtigung über beide Mobile Apps
|
|
selector:
|
|
boolean: {}
|
|
required: true
|
|
sequence:
|
|
- variables:
|
|
persistent_data: >-
|
|
{% if notify_persistent %} {"notification_id": "{{ title |
|
|
default("benachrichtigung") | lower | replace(" ", "_") }}"} {% else %}
|
|
{} {% endif %}
|
|
- variables:
|
|
tv_on: "{{ is_state('media_player.lg_webos_tv_nano769qa', 'on') }}"
|
|
- variables:
|
|
notify_targets: |-
|
|
{% set t = [] %}
|
|
{% if notify_persistent %}
|
|
{% set t = t + ['notify.persistent_notification'] %}
|
|
{% endif %}
|
|
{% if notify_alexa_durchsagen %}
|
|
{% set alexas_durchsagen = states.notify
|
|
| selectattr('entity_id', 'match', 'notify\\.echo_.*_durchsagen')
|
|
| map(attribute='entity_id')
|
|
| list %}
|
|
{% set t = t + alexas_durchsagen %}
|
|
{% endif %}
|
|
{% if notify_alexa_sprechen %}
|
|
{% set alexas_sprechen = states.notify
|
|
| selectattr('entity_id', 'match', 'notify\\.echo_.*_sprechen')
|
|
| map(attribute='entity_id')
|
|
| list %}
|
|
{% set t = t + alexas_sprechen %}
|
|
{% endif %}
|
|
{% if notify_tv and tv_on %}
|
|
{% set t = t + ['notify.lg_webos_tv_nano769qa'] %}
|
|
{% endif %}
|
|
{% if pushover_oliver %}
|
|
{% set t = t + ['notify.pushover_oliver'] %}
|
|
{% endif %}
|
|
{% if pushover_lisa %}
|
|
{% set t = t + ['notify.pushover_lisa'] %}
|
|
{% endif %}
|
|
{% if notify_oliver %}
|
|
{% set t = t + ['notify.mobile_app_finger_weg_du_spasst'] %}
|
|
{% endif %}
|
|
{% if notify_lisa %}
|
|
{% set t = t + ['notify.mobile_app_meins'] %}
|
|
{% endif %}
|
|
{% if notify_familie %}
|
|
{% set t = t + ['notify.mobile_app_finger_weg_du_spasst', 'notify.mobile_app_meins'] %}
|
|
{% endif %}
|
|
{{ t | unique | list }}
|
|
- repeat:
|
|
for_each: "{{ notify_targets }}"
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ repeat.item == 'notify.persistent_notification' }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
data: "{{ persistent_data | from_json(default={}) }}"
|
|
action: notify.persistent_notification
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ repeat.item.startswith('notify.pushover') }}"
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ critical }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
data:
|
|
priority: 2
|
|
sound: siren
|
|
retry: 30
|
|
expire: 300
|
|
action: "{{ repeat.item }}"
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ not critical }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
action: "{{ repeat.item }}"
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ repeat.item.startswith('notify.echo_') }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
target:
|
|
entity_id: "{{ repeat.item }}"
|
|
action: notify.send_message
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ repeat.item.startswith('notify.mobile_app') }}"
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ critical }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
action: "{{ repeat.item }}"
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ not critical }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
action: "{{ repeat.item }}"
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ True }}"
|
|
sequence:
|
|
- data:
|
|
message: "{{ message }}"
|
|
title: "{{ title | default('Benachrichtigung') }}"
|
|
action: "{{ repeat.item }}"
|