diff --git a/automations.yaml b/automations.yaml
index cd65e9c..6a1832b 100644
--- a/automations.yaml
+++ b/automations.yaml
@@ -1,33 +1,35 @@
- id: '1640833273099'
alias: NWS Announce Weather Alert for Tornado
description: ''
- trigger:
- - platform: numeric_state
- entity_id: sensor.weatheralerts_active_alerts
- attribute: tornado_warning_count
- above: '0'
- condition:
+ triggers:
+ - trigger: state
+ entity_id:
+ - binary_sensor.tornado_warning
+ from:
+ - 'off'
+ to:
+ - 'on'
+ conditions:
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- action:
- - service: input_boolean.turn_on
- data: {}
+ actions:
+ - data: {}
target:
entity_id: input_boolean.tornado_alarm
- - service: input_boolean.turn_off
- data: {}
+ action: input_boolean.turn_on
+ - data: {}
target:
entity_id:
- input_boolean.white_noise_kallen_bedroom
- input_boolean.white_noise_basement
- input_boolean.white_noise_emma_bedroom
alias: Turn off white noise
- - service: script.turn_on
- target:
+ action: input_boolean.turn_off
+ - target:
entity_id: script.max_brightness
- - service: script.text_notify
- data:
+ action: script.turn_on
+ - data:
type: critical
title: Tornado Warning - TAKE COVER!
message: The National Weather Service has issued a Tornado Warning for our area.
@@ -35,34 +37,35 @@
who: all
tag: tornado-warning
alias: CRITICAL PHONE ALERT
- - service: script.tv_notify
- data:
+ action: script.text_notify
+ - data:
who: all
title: Tornado Warning - TAKE COVER!
message: The National Weather Service has issued a Tornado Warning for our area.
Take Cover NOW!!!!
alias: TV Alert
- - service: script.speech_engine
- data:
+ action: script.tv_notify
+ - data:
who: everywhere
message: A tornado warning has been issued, please take cover immediately! A
tornado warning has been issued, please take cover immediately! A tornado
warning has been issued, please take cover immediately!
type: alert
alias: Elevated TTS alert
+ action: script.speech_engine
- delay:
hours: 0
minutes: 1
seconds: 0
milliseconds: 0
- - service: script.speech_engine
- data:
+ - data:
who: everywhere
message: A tornado warning has been issued, please take cover immediately! A
tornado warning has been issued, please take cover immediately! A tornado
warning has been issued, please take cover immediately!
type: critical
alias: CRITICAL TTS ALERT
+ action: script.speech_engine
- delay:
hours: 0
minutes: 1
@@ -437,52 +440,55 @@
- id: '1655493590791'
alias: NWS Announce Weather Alert for Tornado (CLEAR)
description: ''
- trigger:
- - platform: numeric_state
- entity_id: sensor.weatheralerts_active_alerts
- attribute: tornado_warning_count
- below: '1'
- condition:
+ triggers:
+ - trigger: state
+ entity_id:
+ - binary_sensor.tornado_warning
+ from:
+ - 'on'
+ to:
+ - 'off'
+ conditions:
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- condition: state
entity_id: input_boolean.tornado_alarm
state: 'on'
- action:
- - service: script.text_notify
- data:
+ actions:
+ - data:
type: alert
who: all
message: clear_notification
tag: tornado-warning
alias: Clear critical notification
- - service: input_boolean.turn_off
- data: {}
+ action: script.text_notify
+ - data: {}
target:
entity_id: input_boolean.tornado_alarm
- - service: script.volume_reset
- data: {}
- - service: script.max_brightness_cleanup
- data: {}
- - service: script.text_notify
- data:
+ action: input_boolean.turn_off
+ - data: {}
+ action: script.volume_reset
+ - data: {}
+ action: script.max_brightness_cleanup
+ - data:
title: Tornado Warning is cleared
message: Check your surroundings and make sure it is safe to leave cover
who: all
type: alert
tag: tornado-cleared
- - service: script.tv_notify
- data:
+ action: script.text_notify
+ - data:
title: Tornado Warning is cleared
message: Check your surroundings and make sure it is safe to leave cover
who: all
- - service: script.speech_engine
- data:
+ action: script.tv_notify
+ - data:
who: everywhere
message: Tornado warning has been cleared. Check your surroundings and make
sure it is safe to leave cover.
type: alert
+ action: script.speech_engine
- wait_template: '{{ is_state(''input_boolean.tornado_alarm'',''on'') }}'
continue_on_timeout: true
timeout: 00:05:00
@@ -503,15 +509,15 @@
alias: After audible notifications off
alias: Should audible notifications be off
then:
- - service: input_boolean.turn_off
- data: {}
+ - data: {}
target:
entity_id: input_boolean.audible_notifications
+ action: input_boolean.turn_off
else:
- - service: input_boolean.turn_on
- data: {}
+ - data: {}
target:
entity_id: input_boolean.audible_notifications
+ action: input_boolean.turn_on
else:
- stop: Tornado alert re-activated
mode: single
@@ -985,38 +991,44 @@
alias: Tornado Watch Handling
description: Controls the input boolean for tornado watches, for use in briefings
or automations
- trigger:
- - platform: numeric_state
- entity_id: sensor.weatheralerts_active_alerts
- attribute: tornado_watch_count
- above: 0
+ triggers:
+ - alias: Watch Issued
+ entity_id:
+ - binary_sensor.tornado_watch
id: watch_issued
- alias: Watch Issued
- - platform: numeric_state
- entity_id: sensor.weatheralerts_active_alerts
- attribute: tornado_watch_count
- below: 1
- id: watch_cleared
- alias: Watch Cleared
- condition: []
- action:
+ trigger: state
+ from:
+ - 'off'
+ to:
+ - 'on'
+ - alias: Watch Issued
+ entity_id:
+ - binary_sensor.tornado_watch
+ id: watch_issued
+ trigger: state
+ from:
+ - 'on'
+ to:
+ - 'off'
+ conditions: []
+ actions:
- choose:
- conditions:
- condition: trigger
id: watch_issued
sequence:
- - service: input_boolean.turn_on
- data: {}
+ - data: {}
target:
entity_id: input_boolean.tornado_watch
+ action: input_boolean.turn_on
- conditions:
- condition: trigger
id: watch_cleared
sequence:
- - service: input_boolean.turn_off
- data: {}
+ - data: {}
target:
entity_id: input_boolean.tornado_watch
+ action: input_boolean.turn_off
alias: Control input boolean
mode: restart
- id: '1679104710155'
@@ -6583,3 +6595,10 @@
ready if you haven't already.
type: alert
mode: restart
+- id: '1775084267580'
+ alias: WeatherAlerts Persistent Notification - Defiance
+ description: ''
+ use_blueprint:
+ path: github.com/weatheralerts_persistent_notification_original.yaml
+ input:
+ sensor: sensor.weatheralerts_defiance_ohz004_ohc039
diff --git a/blueprints/automation/github.com/weatheralerts_persistent_notification_original.yaml b/blueprints/automation/github.com/weatheralerts_persistent_notification_original.yaml
new file mode 100644
index 0000000..618904e
--- /dev/null
+++ b/blueprints/automation/github.com/weatheralerts_persistent_notification_original.yaml
@@ -0,0 +1,156 @@
+blueprint:
+ name: WeatherAlerts – Persistent Notification and Cleanup
+ description: 'Persistent notification for Weather Alerts from a weatheralerts integration sensor,
+ plus automatic cleanup when no active alerts remain for 30 minutes. New alerts
+ and alerts less than 30 minutes old will display as a full alert message in the
+ psrsistent notification. Alerts older than 30 minutes will only display as a
+ short alert event title in the persistent notification.
+
+ '
+ domain: automation
+ input:
+ sensor:
+ name: WeatherAlerts Sensor
+ description: The weatheralerts sensor to monitor
+ selector:
+ entity:
+ domain:
+ - sensor
+ integration: weatheralerts
+ multiple: false
+ reorder: false
+ source_url: https://github.com/custom-components/weatheralerts/raw/refs/heads/master/blueprints/weatheralerts_persistent_notification_original.yaml
+trigger:
+- platform: homeassistant
+ event: start
+- platform: event
+ event_type: component reload
+ event_data:
+ domain: weatheralerts
+- platform: state
+ entity_id: !input sensor
+ attribute: alert_tracking
+variables:
+ sensor: !input sensor
+ integration: '{{ state_attr(sensor, ''integration'') or ''weatheralerts'' }}'
+ zone: '{{ state_attr(sensor, ''zone'') or ''unknown'' }}'
+ zone_name: '{{ state_attr(sensor, ''zone_name'') or ''unknown'' }}'
+ notif_id: '{{ integration }}_{{ zone | replace('','',''_'') | lower }}'
+ alert_ids: '{{ state_attr(sensor, ''alert_tracking'') or [] }}'
+ alerts: '{{ state_attr(sensor, ''alerts'') or [] }}'
+ now_ts: '{{ now().timestamp() | float }}'
+action:
+- choose:
+ - conditions:
+ - condition: template
+ value_template: "{% set new_ids = alert_ids | selectattr('status','eq','new')
+ | map(attribute='id') | list %} {% set new_alerts_full = alerts | selectattr('id','in',
+ new_ids) | list %} {% set ids = namespace(valid=[]) %} {% for item in alert_ids
+ %}\n {% if item.status == 'old'\n and item.sent is defined and item.sent
+ not in ['null','',none]\n and item.expires is defined and item.expires
+ not in ['null','',none] %}\n {% set sent_ts = as_timestamp(item.sent, default=0)
+ %}\n {% set exp_ts = as_timestamp(item.expires, default=0) %}\n {% if
+ exp_ts > now().timestamp() and (now().timestamp() - sent_ts) < 1800 %}\n {%
+ set ids.valid = ids.valid + [item.id] %}\n {% endif %}\n {% endif %}\n{%
+ endfor %} {% set old_alerts_full = alerts | selectattr('id','in', ids.valid)
+ | list %} {% set ids2 = namespace(valid=[]) %} {% for item in alert_ids %}\n
+ \ {% if item.status == 'old'\n and item.sent is defined and item.sent
+ not in ['null','',none]\n and item.expires is defined and item.expires
+ not in ['null','',none] %}\n {% set sent_ts = as_timestamp(item.sent, default=0)
+ %}\n {% set exp_ts = as_timestamp(item.expires, default=0) %}\n {% if
+ exp_ts > now().timestamp() and (now().timestamp() - sent_ts) >= 1800 %}\n
+ \ {% set ids2.valid = ids2.valid + [item.id] %}\n {% endif %}\n {%
+ endif %}\n{% endfor %} {% set old_alerts_title = alerts | selectattr('id','in',
+ ids2.valid) | list %} {{ new_alerts_full | length > 0 or old_alerts_full |
+ length > 0 or old_alerts_title | length > 0 }}"
+ sequence:
+ - service: persistent_notification.create
+ data:
+ notification_id: '{{ notif_id }}'
+ title: Weather Alerts for {{ zone_name }}
+ message: "{% set new_ids = alert_ids | selectattr('status','eq','new') | map(attribute='id')
+ | list %}\n{% set new_alerts_full = alerts | selectattr('id','in', new_ids)
+ | list %}\n{% set ids = namespace(valid=[]) %}\n{% for item in alert_ids
+ %}\n {% if item.status == 'old'\n and item.sent is defined and item.sent
+ not in ['null','',none]\n and item.expires is defined and item.expires
+ not in ['null','',none] %}\n {% set sent_ts = as_timestamp(item.sent,
+ default=0) %}\n {% set exp_ts = as_timestamp(item.expires, default=0)
+ %}\n {% if exp_ts > now().timestamp() and (now().timestamp() - sent_ts)
+ < 1800 %}\n {% set ids.valid = ids.valid + [item.id] %}\n {% endif
+ %}\n {% endif %}\n{% endfor %}\n{% set old_alerts_full = alerts | selectattr('id','in',
+ ids.valid) | list %}\n{% set ids2 = namespace(valid=[]) %}\n{% for item
+ in alert_ids %}\n {% if item.status == 'old'\n and item.sent is defined
+ and item.sent not in ['null','',none]\n and item.expires is defined
+ and item.expires not in ['null','',none] %}\n {% set sent_ts = as_timestamp(item.sent,
+ default=0) %}\n {% set exp_ts = as_timestamp(item.expires, default=0)
+ %}\n {% if exp_ts > now().timestamp() and (now().timestamp() - sent_ts)
+ >= 1800 %}\n {% set ids2.valid = ids2.valid + [item.id] %}\n {%
+ endif %}\n {% endif %}\n{% endfor %}\n{% set old_alerts_title = alerts
+ | selectattr('id','in', ids2.valid) | list %}\n{% for alert in new_alerts_full
+ %}\n{# — Clean up title — #}\n{% set clean_title = alert.title\n | replace('\\n\\n','
')\n
+ \ | replace('\\n',' ')\n | trim %}\n{# — Clean up headline — #}\n{% if
+ alert.NWSheadline and alert.NWSheadline != 'null' %}\n {% set clean_headline
+ = alert.NWSheadline\n | replace('\\n\\n','
')\n | replace('\\n','
+ ')\n | trim %}\n{% else %}\n {% set clean_headline = \"\" %}\n{% endif
+ %}\n{# — Clean up description — #}\n{% set clean_description = alert.description\n
+ \ | replace('\\n\\n','
')\n | replace('\\n',' ')\n | replace('
','
\\n')\n
+ \ | regex_replace('([A-Z ]+?\\\\.\\\\.\\\\.)', '* \\\\1')\n
+ \ | replace('**','*')\n | trim %}\n{# — Optional instruction — #}\n{%
+ if alert.instruction and alert.instruction != 'null' %}\n {% set clean_instruction
+ = alert.instruction\n | replace('\\n\\n','
')\n | replace('\\n','
+ ')\n | trim %}\n{% else %}\n {% set clean_instruction = \"\" %}\n{%
+ endif %}\n{# — Area — #}\n{% set clean_area = alert.area\n | replace('\\n\\n','
')\n
+ \ | replace('\\n',' ')\n | trim %}\n\n
\n{% if clean_headline and clean_headline
+ != 'null' %}\n {{ clean_headline }}
\n{% endif %}\n{{ clean_description
+ }}
\n* AREA… {{ clean_area }}
\n{% if clean_instruction
+ and clean_instruction != 'null' %}\n{{ clean_instruction }}
\n{%
+ endif %}\n{% if alert.sent and alert.sent != 'null' %}\nAlert Sent:
+ {{ alert.sent }}
\n{% endif %}\n{% if alert.effective and alert.effective
+ != 'null' %}\nEffective: {{ alert.effective }}
\n{%
+ endif %}\n{% if alert.expires and alert.expires != 'null' %}\nExpires:
+ {{ alert.expires }}
\n{% endif %}\n{% if alert.onset and alert.onset
+ != 'null' %}\nOnset: {{ alert.onset }}
\n{% endif %}\n{%
+ if alert.ends and alert.ends != 'null' %}\nEnds: {{ alert.ends
+ }}
\n{% endif %}\n{% if not loop.last %}\n
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% if states.sensor.weatheralerts.attributes.alerts[0].instruction != None %}
- {{ states.sensor.weatheralerts.attributes.alerts[0].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
-
Where : {{ state_attr('sensor.weatheralerts', 'friendly_name') }}
-
Effective: {{ states.sensor.weatheralerts.attributes.alerts[0].effective }}
- {%- if states.sensor.weatheralerts.attributes.alerts[0].ends != None %}
-
Ends: {{ states.sensor.weatheralerts.attributes.alerts[0].ends }}
- {%- endif %}
-
Expires: {{ states.sensor.weatheralerts.attributes.alerts[0].expires }}
- {% else %}
- None
- {% endif %}
- spoken_title: >
- {% if states('sensor.weatheralerts')|int > 0 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_1') == "on") %}
- Attention!!! Weather alert for {{ state_attr('sensor.weatheralerts', 'friendly_name') }}. A {{ states.sensor.weatheralerts.attributes.alerts[0].title }}. {{ states.sensor.weatheralerts.attributes.alerts[0].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') | capitalize }}.
- {% else %}
- None
- {% endif %}
- spoken_message: >
- {% if states('sensor.weatheralerts')|int > 0 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_1') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[0].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }} - {% if states.sensor.weatheralerts.attributes.alerts[0].instruction != None %} - {{ states.sensor.weatheralerts.attributes.alerts[0].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
- {% else %}
- None
- {% endif %}
- - name: Weather Alert 2
- unique_id: 4ecaa8ce-65ec-429f-956c-ac478f1c3d6f
- icon: mdi:alert-rhombus
- state: >-
- {% if (states('sensor.weatheralerts') != 'unavailable') and (state_attr('sensor.weatheralerts', 'alerts')[1] != null) or ((states('sensor.weatheralerts') == 'unavailable') and (as_timestamp(state_attr('sensor.weatheralerts', 'alerts')[1].endsExpires) - as_timestamp(now()) > 0)) %}
- on
- {% else %}
- off
- {% endif %}
- attributes:
- alert_id: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].id }}
- {% else %}
- None
- {% endif %}
- alert_event: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].event }}
- {% else %}
- None
- {% endif %}
- alert_area: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].area }}
- {% else %}
- None
- {% endif %}
- alert_NWSheadline: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% else %}
- None
- {% endif %}
- alert_description: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].description }}
- {% else %}
- None
- {% endif %}
- alert_messageType: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].messageType }}
- {% else %}
- None
- {% endif %}
- alert_status: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].status }}
- {% else %}
- None
- {% endif %}
- alert_category: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].category }}
- {% else %}
- None
- {% endif %}
- alert_urgency: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].urgency }}
- {% else %}
- None
- {% endif %}
- alert_severity: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].severity }}
- {% else %}
- None
- {% endif %}
- alert_certainty: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].certainty }}
- {% else %}
- None
- {% endif %}
- alert_response: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].response }}
- {% else %}
- None
- {% endif %}
- alert_instruction: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].instruction }}
- {% else %}
- None
- {% endif %}
- alert_sent: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].sent }}
- {% else %}
- None
- {% endif %}
- alert_effective: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].effective }}
- {% else %}
- None
- {% endif %}
- alert_onset: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].onset }}
- {% else %}
- None
- {% endif %}
- alert_expires: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].expires }}
- {% else %}
- None
- {% endif %}
- alert_title: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].title }}
- {% else %}
- None
- {% endif %}
- alert_zoneid: >-
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].zoneid }}
- {% else %}
- None
- {% endif %}
- display_title: >
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].title }}
- {% else %}
- None
- {% endif %}
- display_message: >
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {% if states.sensor.weatheralerts.attributes.alerts[1].NWSheadline != "null" %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% endif %}
-
{{ states.sensor.weatheralerts.attributes.alerts[1].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% if states.sensor.weatheralerts.attributes.alerts[1].instruction != None %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
-
Where : {{ state_attr('sensor.weatheralerts', 'friendly_name') }}
-
Effective: {{ states.sensor.weatheralerts.attributes.alerts[1].effective }}
- {%- if states.sensor.weatheralerts.attributes.alerts[1].ends != None %}
-
Ends: {{ states.sensor.weatheralerts.attributes.alerts[1].ends }}
- {%- endif %}
-
Expires: {{ states.sensor.weatheralerts.attributes.alerts[1].expires }}
- {% else %}
- None
- {% endif %}
- spoken_title: >
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- Attention!!! Weather alert for {{ state_attr('sensor.weatheralerts', 'friendly_name') }}. A {{ states.sensor.weatheralerts.attributes.alerts[1].title }}. {{ states.sensor.weatheralerts.attributes.alerts[1].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') | capitalize }}.
- {% else %}
- None
- {% endif %}
- spoken_message: >
- {% if states('sensor.weatheralerts')|int > 1 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_2') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[1].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }} - {% if states.sensor.weatheralerts.attributes.alerts[1].instruction != None %} - {{ states.sensor.weatheralerts.attributes.alerts[1].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
- {% else %}
- None
- {% endif %}
- - name: Weather Alert 3
- unique_id: 0dcc3731-c90e-427a-abd9-dee29a5ed1e1
- icon: mdi:alert-rhombus
- state: >-
- {% if (states('sensor.weatheralerts') != 'unavailable') and (state_attr('sensor.weatheralerts', 'alerts')[2] != null) or ((states('sensor.weatheralerts') == 'unavailable') and (as_timestamp(state_attr('sensor.weatheralerts', 'alerts')[2].endsExpires) - as_timestamp(now()) > 0)) %}
- on
- {% else %}
- off
- {% endif %}
- attributes:
- alert_id: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].id }}
- {% else %}
- None
- {% endif %}
- alert_event: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].event }}
- {% else %}
- None
- {% endif %}
- alert_area: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].area }}
- {% else %}
- None
- {% endif %}
- alert_NWSheadline: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% else %}
- None
- {% endif %}
- alert_description: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].description }}
- {% else %}
- None
- {% endif %}
- alert_messageType: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].messageType }}
- {% else %}
- None
- {% endif %}
- alert_status: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].status }}
- {% else %}
- None
- {% endif %}
- alert_category: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].category }}
- {% else %}
- None
- {% endif %}
- alert_urgency: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].urgency }}
- {% else %}
- None
- {% endif %}
- alert_severity: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].severity }}
- {% else %}
- None
- {% endif %}
- alert_certainty: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].certainty }}
- {% else %}
- None
- {% endif %}
- alert_response: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].response }}
- {% else %}
- None
- {% endif %}
- alert_instruction: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].instruction }}
- {% else %}
- None
- {% endif %}
- alert_sent: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].sent }}
- {% else %}
- None
- {% endif %}
- alert_effective: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].effective }}
- {% else %}
- None
- {% endif %}
- alert_onset: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].onset }}
- {% else %}
- None
- {% endif %}
- alert_expires: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].expires }}
- {% else %}
- None
- {% endif %}
- alert_title: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].title }}
- {% else %}
- None
- {% endif %}
- alert_zoneid: >-
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].zoneid }}
- {% else %}
- None
- {% endif %}
- display_title: >
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].title }}
- {% else %}
- None
- {% endif %}
- display_message: >
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {% if states.sensor.weatheralerts.attributes.alerts[2].NWSheadline != "null" %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% endif %}
-
{{ states.sensor.weatheralerts.attributes.alerts[2].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% if states.sensor.weatheralerts.attributes.alerts[2].instruction != None %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
-
Where : {{ state_attr('sensor.weatheralerts', 'friendly_name') }}
-
Effective: {{ states.sensor.weatheralerts.attributes.alerts[2].effective }}
- {%- if states.sensor.weatheralerts.attributes.alerts[2].ends != None %}
-
Ends: {{ states.sensor.weatheralerts.attributes.alerts[2].ends }}
- {%- endif %}
-
Expires: {{ states.sensor.weatheralerts.attributes.alerts[2].expires }}
- {% else %}
- None
- {% endif %}
- spoken_title: >
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- Attention!!! Weather alert for {{ state_attr('sensor.weatheralerts', 'friendly_name') }}. A {{ states.sensor.weatheralerts.attributes.alerts[2].title }}. {{ states.sensor.weatheralerts.attributes.alerts[2].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') | capitalize }}.
- {% else %}
- None
- {% endif %}
- spoken_message: >
- {% if states('sensor.weatheralerts')|int > 2 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_3') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[2].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }} - {% if states.sensor.weatheralerts.attributes.alerts[2].instruction != None %} - {{ states.sensor.weatheralerts.attributes.alerts[2].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
- {% else %}
- None
- {% endif %}
- - name: Weather Alert 4
- unique_id: 18f756d2-f3aa-476f-a1c0-12c70f173ead
- icon: mdi:alert-rhombus
- state: >-
- {% if (states('sensor.weatheralerts') != 'unavailable') and (state_attr('sensor.weatheralerts', 'alerts')[3] != null) or ((states('sensor.weatheralerts') == 'unavailable') and (as_timestamp(state_attr('sensor.weatheralerts', 'alerts')[3].endsExpires) - as_timestamp(now()) > 0)) %}
- on
- {% else %}
- off
- {% endif %}
- attributes:
- alert_id: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].id }}
- {% else %}
- None
- {% endif %}
- alert_event: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].event }}
- {% else %}
- None
- {% endif %}
- alert_area: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].area }}
- {% else %}
- None
- {% endif %}
- alert_NWSheadline: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% else %}
- None
- {% endif %}
- alert_description: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].description }}
- {% else %}
- None
- {% endif %}
- alert_messageType: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].messageType }}
- {% else %}
- None
- {% endif %}
- alert_status: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].status }}
- {% else %}
- None
- {% endif %}
- alert_category: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].category }}
- {% else %}
- None
- {% endif %}
- alert_urgency: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].urgency }}
- {% else %}
- None
- {% endif %}
- alert_severity: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].severity }}
- {% else %}
- None
- {% endif %}
- alert_certainty: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].certainty }}
- {% else %}
- None
- {% endif %}
- alert_response: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].response }}
- {% else %}
- None
- {% endif %}
- alert_instruction: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].instruction }}
- {% else %}
- None
- {% endif %}
- alert_sent: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].sent }}
- {% else %}
- None
- {% endif %}
- alert_effective: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].effective }}
- {% else %}
- None
- {% endif %}
- alert_onset: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].onset }}
- {% else %}
- None
- {% endif %}
- alert_expires: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].expires }}
- {% else %}
- None
- {% endif %}
- alert_title: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].title }}
- {% else %}
- None
- {% endif %}
- alert_zoneid: >-
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].zoneid }}
- {% else %}
- None
- {% endif %}
- display_title: >
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].title }}
- {% else %}
- None
- {% endif %}
- display_message: >
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {% if states.sensor.weatheralerts.attributes.alerts[3].NWSheadline != "null" %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% endif %}
-
{{ states.sensor.weatheralerts.attributes.alerts[3].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% if states.sensor.weatheralerts.attributes.alerts[3].instruction != None %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
-
Where : {{ state_attr('sensor.weatheralerts', 'friendly_name') }}
-
Effective: {{ states.sensor.weatheralerts.attributes.alerts[3].effective }}
- {%- if states.sensor.weatheralerts.attributes.alerts[3].ends != None %}
-
Ends: {{ states.sensor.weatheralerts.attributes.alerts[3].ends }}
- {%- endif %}
-
Expires: {{ states.sensor.weatheralerts.attributes.alerts[3].expires }}
- {% else %}
- None
- {% endif %}
- spoken_title: >
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- Attention!!! Weather alert for {{ state_attr('sensor.weatheralerts', 'friendly_name') }}. A {{ states.sensor.weatheralerts.attributes.alerts[3].title }}. {{ states.sensor.weatheralerts.attributes.alerts[3].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') | capitalize }}.
- {% else %}
- None
- {% endif %}
- spoken_message: >
- {% if states('sensor.weatheralerts')|int > 3 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_4') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[3].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }} - {% if states.sensor.weatheralerts.attributes.alerts[3].instruction != None %} - {{ states.sensor.weatheralerts.attributes.alerts[3].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
- {% else %}
- None
- {% endif %}
- - name: Weather Alert 5
- unique_id: c9690a26-84e8-439d-9718-469b227c4d66
- icon: mdi:alert-rhombus
- state: >-
- {% if (states('sensor.weatheralerts') != 'unavailable') and (state_attr('sensor.weatheralerts', 'alerts')[4] != null) or ((states('sensor.weatheralerts') == 'unavailable') and (as_timestamp(state_attr('sensor.weatheralerts', 'alerts')[4].endsExpires) - as_timestamp(now()) > 0)) %}
- on
- {% else %}
- off
- {% endif %}
- attributes:
- alert_id: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].id }}
- {% else %}
- None
- {% endif %}
- alert_event: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].event }}
- {% else %}
- None
- {% endif %}
- alert_area: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].area }}
- {% else %}
- None
- {% endif %}
- alert_NWSheadline: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% else %}
- None
- {% endif %}
- alert_description: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].description }}
- {% else %}
- None
- {% endif %}
- alert_messageType: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].messageType }}
- {% else %}
- None
- {% endif %}
- alert_status: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].status }}
- {% else %}
- None
- {% endif %}
- alert_category: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].category }}
- {% else %}
- None
- {% endif %}
- alert_urgency: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].urgency }}
- {% else %}
- None
- {% endif %}
- alert_severity: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].severity }}
- {% else %}
- None
- {% endif %}
- alert_certainty: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].certainty }}
- {% else %}
- None
- {% endif %}
- alert_response: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].response }}
- {% else %}
- None
- {% endif %}
- alert_instruction: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].instruction }}
- {% else %}
- None
- {% endif %}
- alert_sent: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].sent }}
- {% else %}
- None
- {% endif %}
- alert_effective: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].effective }}
- {% else %}
- None
- {% endif %}
- alert_onset: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].onset }}
- {% else %}
- None
- {% endif %}
- alert_expires: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].expires }}
- {% else %}
- None
- {% endif %}
- alert_title: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].title }}
- {% else %}
- None
- {% endif %}
- alert_zoneid: >-
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].zoneid }}
- {% else %}
- None
- {% endif %}
- display_title: >
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].title }}
- {% else %}
- None
- {% endif %}
- display_message: >
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {% if states.sensor.weatheralerts.attributes.alerts[4].NWSheadline != "null" %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') }}
- {% endif %}
-
{{ states.sensor.weatheralerts.attributes.alerts[4].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% if states.sensor.weatheralerts.attributes.alerts[4].instruction != None %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }}
- {% endif %}
-
Where : {{ state_attr('sensor.weatheralerts', 'friendly_name') }}
-
Effective: {{ states.sensor.weatheralerts.attributes.alerts[4].effective }}
- {%- if states.sensor.weatheralerts.attributes.alerts[4].ends != None %}
-
Ends: {{ states.sensor.weatheralerts.attributes.alerts[4].ends }}
- {%- endif %}
-
Expires: {{ states.sensor.weatheralerts.attributes.alerts[4].expires }}
- {% else %}
- None
- {% endif %}
- spoken_title: >
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- Attention!!! Weather alert for {{ state_attr('sensor.weatheralerts', 'friendly_name') }}. A {{ states.sensor.weatheralerts.attributes.alerts[4].title }}. {{ states.sensor.weatheralerts.attributes.alerts[4].NWSheadline | regex_replace('\[\'','') | regex_replace('\'\]','') | capitalize }}.
- {% else %}
- None
- {% endif %}
- spoken_message: >
- {% if states('sensor.weatheralerts')|int > 4 or (states('sensor.weatheralerts') == "unavailable" and states('sensor.weatheralerts_alert_5') == "on") %}
- {{ states.sensor.weatheralerts.attributes.alerts[4].description | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }} - {% if states.sensor.weatheralerts.attributes.alerts[4].instruction != None %} - {{ states.sensor.weatheralerts.attributes.alerts[4].instruction | regex_replace('\n\n','
') | regex_replace('\n',' ') | regex_replace('\*','\n*') | regex_replace('
','\n\n') }} - {% endif %} - {% else %} - None - {% endif %} - - name: Weatheralerts Alert 1 Last Changed - unique_id: 3db32f1f-a6d3-4321-9078-2577d403f314 - state: >- - {% if states('sensor.weatheralerts_alert_1') == "on" %} - {{ states.sensor.weatheralerts_alert_1.last_updated }} - {% else %} - None - {% endif %} - - name: Weatheralerts Alert 2 Last Changed - unique_id: 75e746a0-b776-4dbb-b018-1e808a204f65 - state: >- - {% if states('sensor.weatheralerts_alert_2') == "on" %} - {{ states.sensor.weatheralerts_alert_2.last_updated }} - {% else %} - None - {% endif %} - - name: Weatheralerts Alert 3 Last Changed - unique_id: 4382f9a3-32bf-42f9-809f-ae33f33140b7 - state: >- - {% if states('sensor.weatheralerts_alert_3') == "on" %} - {{ states.sensor.weatheralerts_alert_3.last_updated }} - {% else %} - None - {% endif %} - - name: Weatheralerts Alert 4 Last Changed - unique_id: 4fbf5547-eac4-4ebf-b5fc-b043fafc0026 - state: >- - {% if states('sensor.weatheralerts_alert_4') == "on" %} - {{ states.sensor.weatheralerts_alert_4.last_updated }} - {% else %} - None - {% endif %} - - name: Weatheralerts Alert 5 Last Changed - unique_id: d7b66a73-8431-433c-8cd1-d413d726cb0a - state: >- - {% if states('sensor.weatheralerts_alert_5') == "on" %} - {{ states.sensor.weatheralerts_alert_5.last_updated }} - {% else %} - None - {% endif %} - - name: Weatheralerts Alert 1 Most Recent Active Alert - unique_id: 569944e9-b4cf-4ed2-9bed-40b2a0a9b898 - state: >- - {% if states('sensor.weatheralerts_alert_1_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_1', 'alert_event') }} - {% else %} - {{ states('sensor.weatheralerts_alert_1_most_recent_active_alert') }} - {% endif %} - attributes: - alert_effective: >- - {% if states('sensor.weatheralerts_alert_1_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_1', 'alert_effective') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_1_most_recent_active_alert', 'alert_effective') }} - {% endif %} - alert_id: >- - {% if states('sensor.weatheralerts_alert_1_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_1') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_1') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_1', 'alert_id') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_1_most_recent_active_alert', 'alert_id') }} - {% endif %} - - name: Weatheralerts Alert 2 Most Recent Active Alert - unique_id: 8112afda-58b9-4161-809c-9186212f86d7 - state: >- - {% if states('sensor.weatheralerts_alert_2_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_2', 'alert_event') }} - {% else %} - {{ states('sensor.weatheralerts_alert_2_most_recent_active_alert') }} - {% endif %} - attributes: - alert_effective: >- - {% if states('sensor.weatheralerts_alert_2_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_2', 'alert_effective') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_2_most_recent_active_alert', 'alert_effective') }} - {% endif %} - alert_id: >- - {% if states('sensor.weatheralerts_alert_2_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_2') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_2') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_2', 'alert_id') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_2_most_recent_active_alert', 'alert_id') }} - {% endif %} - - name: Weatheralerts Alert 3 Most Recent Active Alert - unique_id: f71f4ab7-0959-43e9-877a-22084b9642c3 - state: >- - {% if states('sensor.weatheralerts_alert_3_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_3', 'alert_event') }} - {% else %} - {{ states('sensor.weatheralerts_alert_3_most_recent_active_alert') }} - {% endif %} - attributes: - alert_effective: >- - {% if states('sensor.weatheralerts_alert_3_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_3', 'alert_effective') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_3_most_recent_active_alert', 'alert_effective') }} - {% endif %} - alert_id: >- - {% if states('sensor.weatheralerts_alert_3_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_3') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_3') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_3', 'alert_id') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_3_most_recent_active_alert', 'alert_id') }} - {% endif %} - - name: Weatheralerts Alert 4 Most Recent Active Alert - unique_id: e663e42b-a6b2-4a55-a3d9-1932b10fb0ca - state: >- - {% if states('sensor.weatheralerts_alert_4_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_4', 'alert_event') }} - {% else %} - {{ states('sensor.weatheralerts_alert_4_most_recent_active_alert') }} - {% endif %} - attributes: - alert_effective: >- - {% if states('sensor.weatheralerts_alert_4_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_4', 'alert_effective') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_4_most_recent_active_alert', 'alert_effective') }} - {% endif %} - alert_id: >- - {% if states('sensor.weatheralerts_alert_4_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_4') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_4') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_4', 'alert_id') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_4_most_recent_active_alert', 'alert_id') }} - {% endif %} - - name: Weatheralerts Alert 5 Most Recent Active Alert - unique_id: 523d7026-1fdd-4621-91c0-87e0bd98f14d - state: >- - {% if states('sensor.weatheralerts_alert_5_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_5', 'alert_event') }} - {% else %} - {{ states('sensor.weatheralerts_alert_5_most_recent_active_alert') }} - {% endif %} - attributes: - alert_effective: >- - {% if states('sensor.weatheralerts_alert_5_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_5', 'alert_effective') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_5_most_recent_active_alert', 'alert_effective') }} - {% endif %} - alert_id: >- - {% if states('sensor.weatheralerts_alert_5_most_recent_active_alert') == '' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5_most_recent_active_alert') == 'unavailable' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5_most_recent_active_alert') == 'unknown' and states('sensor.weatheralerts_alert_5') != 'on' %} - unavailable - {% elif states('sensor.weatheralerts_alert_5') == 'on' %} - {{ state_attr('sensor.weatheralerts_alert_5', 'alert_id') }} - {% else %} - {{ state_attr('sensor.weatheralerts_alert_5_most_recent_active_alert', 'alert_id') }} - {% endif %} - - name: Weather Alerts Are Active - unique_id: 3f6ecba1-c102-4324-b56e-6d80ead0c829 - icon: mdi:alert-rhombus - state: > - {% if (states('sensor.weatheralerts') | int > 0) or ((states('sensor.weatheralerts') == 'unavailable') and (states('sensor.weatheralerts_alert_1') == 'on')) %} - Yes - {% else %} - No - {% endif %} -################################################################################ -## input_text ## - -input_text: - weatheralerts_triggered_ui_alert_ids: - name: Triggered Weather Alert IDs - UI - icon: mdi:information-variant - max: 255 - initial: None - - weatheralerts_triggered_pushbullet_alert_ids: - name: Triggered Weather Alert IDs - Pushbullet - icon: mdi:information-variant - max: 255 - initial: None - - weatheralerts_triggered_alert_ids: - name: Triggered Weather Alert IDs - Text - icon: mdi:information-variant - max: 255 - initial: None - - weatheralerts_triggered_audible_alert_ids: - name: Triggered Weather Alert IDs - Audible - icon: mdi:information-variant - max: 255 - initial: None - - -################################################################################ -## automation ## - -automation: - ## Automation to trigger a UI notification when there is an active weather alert. - ## weatheralerts_alert_1 should always contain most recent alert. - - id: fd0b5635-8079-49df-899e-49d1a5871c77 - alias: Weather Alert UI Notification - 1 - initial_state: true - trigger: - - platform: state - entity_id: sensor.weatheralerts_alert_1_last_changed - - platform: homeassistant - event: start - condition: - - condition: and - conditions: - - condition: template - value_template: "{{ states('sensor.weatheralerts_alerts_are_active') == 'Yes' }}" - - condition: template - value_template: "{{ (as_timestamp(now()) - as_timestamp(state_attr('sensor.weatheralerts_alert_1', 'alert_sent'))) < 3600 }}" - - condition: template - value_template: "{{ state_attr('sensor.weatheralerts_alert_1', 'alert_id') not in states('input_text.weatheralerts_triggered_ui_alert_ids') }}" - action: - - service: script.weatheralerts_popup_on_wx_alert - data: - title: > - {% if (states('sensor.weatheralerts_alert_1') == 'on') and ((as_timestamp(now()) - as_timestamp(state_attr('sensor.weatheralerts_alert_1', 'alert_effective'))|float) <= 3600) %} - {{ state_attr('sensor.weatheralerts_alert_1', 'display_title') }} - {% else %} - Weather Alerts - {% endif %} - message: > - {% if (states('sensor.weatheralerts_alert_1') == 'on') and ((as_timestamp(now()) - as_timestamp(state_attr('sensor.weatheralerts_alert_1', 'alert_effective'))|float) <= 3600) %} - {{ state_attr('sensor.weatheralerts_alert_1', 'display_message') }} - {% endif %} - {% if (states('sensor.weatheralerts_alert_1') == 'on') and ((as_timestamp(now()) - as_timestamp(state_attr('sensor.weatheralerts_alert_1', 'alert_effective'))|float) > 3600) %} -
{% set alerts = states('weather_alerts_active_corrected') %} - {% if states('sensor.weatheralerts_active_alerts') > '0' %} + {% if states('sensor.weatheralerts_defiance_ohz004_ohc039') > '0' %} "There {% if alerts == '1' %}is{% else %}are{% endif %} {{ states('sensor.weather_alerts_active_corrected') }} weather {% if alerts == '1' %}alert{% else %}alerts{% endif %} active. " "{% if alerts == '1' %}It is{% else %}They are{% endif %}, " {{ states('sensor.weather_alert_string') }}.