From bb863e61d9967f7f85ba8a0aae41ce297482672d Mon Sep 17 00:00:00 2001 From: reachableceo Date: Wed, 2 Sep 2026 21:05:23 -0500 Subject: [PATCH] feat(automations): class-threshold temp alerts + UPS runtime-low [#344] NVMe 150F, DIMM 140F, PCH 160F triggers on the new storage/mem/chipset sensors (104F general threshold retained for air/CPU); UPS runtime-low alert (<10 min while not Online) guards the #455 shutdown window. https://projects.knownelement.com/issues/344 --- automations.yaml | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/automations.yaml b/automations.yaml index 42f8faf..16691b4 100644 --- a/automations.yaml +++ b/automations.yaml @@ -62,6 +62,27 @@ message: '{{ trigger.entity_id }} unreachable for 5 minutes (nut-server or network path down; tsys1 also hosts pfv-bms itself).' mode: single +- id: pfv_plant_ups_runtime_low + alias: PFV plant - UPS runtime low while on battery + description: On battery and runtime burned below 10 min — the graceful + shutdown window is closing. VMs before hypervisors per #455. + triggers: + - trigger: numeric_state + entity_id: sensor.pfv_ups_runtime_minutes + below: 10 + conditions: + - condition: template + value_template: "{{ states('sensor.tsys1_ups_status') not in ['Online', 'unknown', 'unavailable'] }}" + actions: + - action: notify.send_message + target: + entity_id: + - notify.ultix_sidecar_new + - notify.allthes_ipad + data: + title: UPS RUNTIME LOW + message: On battery {{ states('sensor.pfv_ups_runtime_minutes') }} min left — start graceful shutdown now (#455 ordering). + mode: single - id: pfv_plant_ups_power_restored alias: PFV plant - utility power restored triggers: @@ -86,6 +107,23 @@ - id: pfv_plant_high_temperature alias: PFV plant - high temperature triggers: + - trigger: numeric_state + entity_id: + - sensor.pfv_tsys3_nvme_temperature + - sensor.pfv_tsys5_nvme_temperature + above: 150 + - trigger: numeric_state + entity_id: + - sensor.pfv_tsys4_dimm_18_temperature + - sensor.pfv_tsys4_dimm_19_temperature + - sensor.pfv_tsys4_dimm_1a_temperature + - sensor.pfv_tsys4_dimm_1b_temperature + above: 140 + - trigger: numeric_state + entity_id: + - sensor.pfv_tsys3_pch_temperature + - sensor.pfv_tsys9_pch_temperature + above: 160 - trigger: numeric_state entity_id: - sensor.pfv_artroom_temperature @@ -116,8 +154,8 @@ - notify.allthes_ipad data: title: HIGH TEMPERATURE - message: '{{ trigger.entity_id }} is {{ states(trigger.entity_id) }}°F (threshold - 104°F). Check cooling/airflow.' + message: '{{ trigger.entity_id }} is {{ states(trigger.entity_id) }}°F (class + threshold exceeded). Check cooling/airflow.' mode: single - id: pfv_plant_sensor_watchdog alias: PFV plant - sensor watchdog (unavailable sensors)