|
1 | 1 | type: markdown |
2 | 2 | content: >- |
3 | 3 | {%- 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 -%} |
10 | 10 | {%- 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 -%} |
14 | 14 |
|
15 | 15 | {%- if area_forecast -%} |
16 | 16 | {%- set next_start = area_forecast[0].start_time -%} |
17 | 17 | {%- set next_end = area_forecast[0].end_time -%} |
18 | 18 | {%- endif -%} |
19 | 19 |
|
| 20 | + {%- set next_in = 0 -%} |
20 | 21 | {%- if is_state(area_sensor, "off") and starts_in and next_start and next_end -%} |
21 | 22 | {%- set next_in = starts_in if starts_in else 0 -%} |
22 | 23 | {%- if next_start == 0 or next_end == 0 -%} |
@@ -47,6 +48,6 @@ content: >- |
47 | 48 | {%- set mins = next_in_sec % 60 -%} |
48 | 49 | {%- set hrs = next_in_sec // 60 % 24 -%} |
49 | 50 | {%- 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)) -%} |
51 | 52 |
|
52 | 53 | <ha-alert alert-type="{{ alert_type }}">{{ alert }}</ha-alert> |
0 commit comments