Skip to content

Commit a13c9fe

Browse files
committed
Update status alert card to be less brittle
1 parent a013897 commit a13c9fe

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

examples/dashboards/status_alert.yaml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
type: markdown
22
content: >-
33
{%- set stage_sensor = "sensor.load_shedding_stage_eskom" -%}
4-
{%- set area_sensor = "sensor.load_shedding_area_tshwane_3_garsfonteinext8" -%}
5-
{%- set stage = state_attr(stage_sensor, "stage") -%}
6-
{%- set next_stage = state_attr(stage_sensor, "next_stage") -%}
7-
{%- set next_start = state_attr(stage_sensor, "next_start_time") -%}
8-
{%- set next_end = state_attr(stage_sensor, "next_end_time") -%}
9-
{%- set alert = states(stage_sensor) -%}
4+
{%- set area_sensor = "sensor.load_shedding_area_tshwane_3_garsfonteinext8d" -%}
5+
{%- set stage = state_attr(stage_sensor, "stage") or 0 -%}
6+
{%- set next_stage = state_attr(stage_sensor, "next_stage") or 0 -%}
7+
{%- set next_start = state_attr(stage_sensor, "next_start_time") or 0 -%}
8+
{%- set next_end = state_attr(stage_sensor, "next_end_time") or 0 -%}
9+
{%- set alert = states(stage_sensor) or 0 -%}
1010
{%- set alert_type = "success" -%}
11-
{% set area_forecast = state_attr(area_sensor, "forecast") -%}
12-
{%- set starts_in = state_attr(area_sensor, "starts_in") -%}
13-
{%- set ends_in = state_attr(area_sensor, "ends_in") -%}
11+
{% set area_forecast = state_attr(area_sensor, "forecast") or 0 -%}
12+
{%- set starts_in = state_attr(area_sensor, "starts_in") or 0 -%}
13+
{%- set ends_in = state_attr(area_sensor, "ends_in") or 0 -%}
1414
1515
{%- if area_forecast -%}
1616
{%- set next_start = area_forecast[0].start_time -%}
1717
{%- set next_end = area_forecast[0].end_time -%}
1818
{%- endif -%}
1919
20+
{%- set next_in = 0 -%}
2021
{%- if is_state(area_sensor, "off") and starts_in and next_start and next_end -%}
2122
{%- set next_in = starts_in if starts_in else 0 -%}
2223
{%- if next_start == 0 or next_end == 0 -%}
@@ -47,6 +48,6 @@ content: >-
4748
{%- set mins = next_in_sec % 60 -%}
4849
{%- set hrs = next_in_sec // 60 % 24 -%}
4950
{%- set days = next_in_sec // 1440 -%}
50-
{%- set alert = alert.format(d=days, m=mins, h=hrs, next=next_time | timestamp_custom("%H:%M", True)) -%}
51+
{%- set alert = alert.format(d=days, m=mins, h=hrs, next=next_time | timestamp_custom("%H:%M", True, default=0)) -%}
5152
5253
<ha-alert alert-type="{{ alert_type }}">{{ alert }}</ha-alert>

0 commit comments

Comments
 (0)