fix(alerts): iOS data.url only — clickAction rejected by apns schema [#344 #778]
ci / lint (push) Successful in 46s
ci / lint (push) Successful in 46s
Watchdog notify crash root-caused: iOS companion schema rejects data.clickAction; url is the iOS deep-link key. Suite updated to assert url presence per alert. https://projects.knownelement.com/issues/778
This commit is contained in:
@@ -16,7 +16,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: POWER OUTAGE
|
title: POWER OUTAGE
|
||||||
clickAction: /lovelace-pfv-server-room/ups
|
|
||||||
url: /lovelace-pfv-server-room/ups
|
url: /lovelace-pfv-server-room/ups
|
||||||
message: '{{ state_attr(trigger.entity_id, ''friendly_name'') }} lost utility
|
message: '{{ state_attr(trigger.entity_id, ''friendly_name'') }} lost utility
|
||||||
power and is ON BATTERY at {{ states(''sensor.'' ~ trigger.entity_id.split(''.'')[1]
|
power and is ON BATTERY at {{ states(''sensor.'' ~ trigger.entity_id.split(''.'')[1]
|
||||||
@@ -42,7 +41,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: UPS BATTERY LOW
|
title: UPS BATTERY LOW
|
||||||
clickAction: /lovelace-pfv-server-room/ups
|
|
||||||
url: /lovelace-pfv-server-room/ups
|
url: /lovelace-pfv-server-room/ups
|
||||||
message: '{{ trigger.entity_id }} at {{ states(trigger.entity_id) }}% while
|
message: '{{ trigger.entity_id }} at {{ states(trigger.entity_id) }}% while
|
||||||
on battery. Start graceful shutdown of VMs before hypervisors (#455 ordering).'
|
on battery. Start graceful shutdown of VMs before hypervisors (#455 ordering).'
|
||||||
@@ -64,7 +62,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: UPS COMMS LOST
|
title: UPS COMMS LOST
|
||||||
clickAction: /lovelace-pfv-server-room/ups
|
|
||||||
url: /lovelace-pfv-server-room/ups
|
url: /lovelace-pfv-server-room/ups
|
||||||
message: '{{ trigger.entity_id }} unreachable for 5 minutes (nut-server or network
|
message: '{{ trigger.entity_id }} unreachable for 5 minutes (nut-server or network
|
||||||
path down; tsys1 also hosts pfv-bms itself).'
|
path down; tsys1 also hosts pfv-bms itself).'
|
||||||
@@ -88,7 +85,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: UPS RUNTIME LOW
|
title: UPS RUNTIME LOW
|
||||||
clickAction: /lovelace-pfv-server-room/ups
|
|
||||||
url: /lovelace-pfv-server-room/ups
|
url: /lovelace-pfv-server-room/ups
|
||||||
message: On battery {{ states('sensor.pfv_ups_runtime_minutes') }} min left — start graceful shutdown now (#455 ordering).
|
message: On battery {{ states('sensor.pfv_ups_runtime_minutes') }} min left — start graceful shutdown now (#455 ordering).
|
||||||
mode: single
|
mode: single
|
||||||
@@ -111,7 +107,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: Power restored
|
title: Power restored
|
||||||
clickAction: /lovelace-pfv-server-room/ups
|
|
||||||
url: /lovelace-pfv-server-room/ups
|
url: /lovelace-pfv-server-room/ups
|
||||||
message: '{{ state_attr(trigger.entity_id, ''friendly_name'') }} is back ONLINE.'
|
message: '{{ state_attr(trigger.entity_id, ''friendly_name'') }} is back ONLINE.'
|
||||||
mode: single
|
mode: single
|
||||||
@@ -189,7 +184,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: HIGH TEMPERATURE
|
title: HIGH TEMPERATURE
|
||||||
clickAction: /lovelace-pfv-server-room/temps
|
|
||||||
url: /lovelace-pfv-server-room/temps
|
url: /lovelace-pfv-server-room/temps
|
||||||
message: '{{ trigger.entity_id }} is {{ states(trigger.entity_id) }}°F (class
|
message: '{{ trigger.entity_id }} is {{ states(trigger.entity_id) }}°F (class
|
||||||
threshold exceeded). Check cooling/airflow.'
|
threshold exceeded). Check cooling/airflow.'
|
||||||
@@ -209,7 +203,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: SENSOR WATCHDOG
|
title: SENSOR WATCHDOG
|
||||||
clickAction: /lovelace-pfv-server-room/overview
|
|
||||||
url: /lovelace-pfv-server-room/overview
|
url: /lovelace-pfv-server-room/overview
|
||||||
message: >-
|
message: >-
|
||||||
{% set fleet = states.sensor | selectattr('entity_id', 'match', 'sensor\.pfv_')
|
{% set fleet = states.sensor | selectattr('entity_id', 'match', 'sensor\.pfv_')
|
||||||
@@ -243,7 +236,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: TEMP RISING FAST
|
title: TEMP RISING FAST
|
||||||
clickAction: /lovelace-pfv-server-room/temps
|
|
||||||
url: /lovelace-pfv-server-room/temps
|
url: /lovelace-pfv-server-room/temps
|
||||||
message: '{{ trigger.entity_id }} climbing ~10F/15min — check cooling
|
message: '{{ trigger.entity_id }} climbing ~10F/15min — check cooling
|
||||||
before the 104F threshold. (rate-of-change early warning)'
|
before the 104F threshold. (rate-of-change early warning)'
|
||||||
@@ -519,7 +511,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: TEMPERATURE RECOVERED
|
title: TEMPERATURE RECOVERED
|
||||||
clickAction: /lovelace-pfv-server-room/temps
|
|
||||||
url: /lovelace-pfv-server-room/temps
|
url: /lovelace-pfv-server-room/temps
|
||||||
message: >-
|
message: >-
|
||||||
{{ state_attr(trigger.entity_id, 'friendly_name') | default(trigger.entity_id) }}
|
{{ state_attr(trigger.entity_id, 'friendly_name') | default(trigger.entity_id) }}
|
||||||
@@ -599,7 +590,6 @@
|
|||||||
- notify.allthes_ipad
|
- notify.allthes_ipad
|
||||||
data:
|
data:
|
||||||
title: WATCHDOG
|
title: WATCHDOG
|
||||||
clickAction: /lovelace-pfv-server-room/temps
|
|
||||||
url: /lovelace-pfv-server-room/temps
|
url: /lovelace-pfv-server-room/temps
|
||||||
message: >-
|
message: >-
|
||||||
Stale after auto-reload: {{ still_stale | join(', ') }}.
|
Stale after auto-reload: {{ still_stale | join(', ') }}.
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ ALERTS="POWER OUTAGE|UPS BATTERY LOW|UPS COMMS LOST|UPS RUNTIME LOW|Power restor
|
|||||||
DL_OK=1
|
DL_OK=1
|
||||||
IFS='|' read -ra ALERT_ARR <<< "$ALERTS"
|
IFS='|' read -ra ALERT_ARR <<< "$ALERTS"
|
||||||
for a in "${ALERT_ARR[@]}"; do
|
for a in "${ALERT_ARR[@]}"; do
|
||||||
if ! grep -A2 "title: $a$" automations.yaml | grep -q "clickAction:"; then
|
if ! grep -A2 "title: $a$" automations.yaml | grep -q " url: "; then
|
||||||
echo " (missing deep link: $a)"
|
echo " (missing deep link: $a)"
|
||||||
DL_OK=0
|
DL_OK=0
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user