154 lines
4.8 KiB
YAML
154 lines
4.8 KiB
YAML
- id: pfv_plant_ups_on_battery
|
|
alias: PFV plant - UPS on battery
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.tsys1_ups_status
|
|
- sensor.tsys9_ups_status
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ ''On Battery'' in states(trigger.entity_id) }}'
|
|
actions:
|
|
- action: notify.send_message
|
|
target:
|
|
entity_id:
|
|
- notify.ultix_sidecar_new
|
|
- notify.allthes_ipad
|
|
data:
|
|
title: POWER OUTAGE
|
|
message: '{{ state_attr(trigger.entity_id, ''friendly_name'') }} lost utility
|
|
power and is ON BATTERY at {{ states(''sensor.'' ~ trigger.entity_id.split(''.'')[1]
|
|
| replace(''_status'', ''_battery_charge'')) }}% charge.'
|
|
mode: single
|
|
- id: pfv_plant_ups_battery_low
|
|
alias: PFV plant - UPS battery low
|
|
triggers:
|
|
- trigger: numeric_state
|
|
entity_id:
|
|
- sensor.tsys1_ups_battery_charge
|
|
below: 40
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ ''On Battery'' in states(trigger.entity_id | replace(''_battery_charge'',
|
|
''_status'')) }}'
|
|
actions:
|
|
- action: notify.send_message
|
|
target:
|
|
entity_id:
|
|
- notify.ultix_sidecar_new
|
|
- notify.allthes_ipad
|
|
data:
|
|
title: UPS BATTERY LOW
|
|
message: '{{ trigger.entity_id }} at {{ states(trigger.entity_id) }}% while
|
|
on battery. Start graceful shutdown of VMs before hypervisors (#455 ordering).'
|
|
data:
|
|
priority: 1
|
|
mode: single
|
|
- id: pfv_plant_ups_comm_lost
|
|
alias: PFV plant - UPS communication lost
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.tsys1_ups_status
|
|
- sensor.tsys9_ups_status
|
|
to: unavailable
|
|
for: 00:05:00
|
|
actions:
|
|
- action: notify.send_message
|
|
target:
|
|
entity_id:
|
|
- notify.ultix_sidecar_new
|
|
- notify.allthes_ipad
|
|
data:
|
|
title: UPS COMMS LOST
|
|
message: '{{ trigger.entity_id }} unreachable for 5 minutes (nut-server or network
|
|
path down; tsys1 also hosts pfv-bms itself).'
|
|
data:
|
|
priority: 1
|
|
mode: single
|
|
- id: pfv_plant_ups_power_restored
|
|
alias: PFV plant - utility power restored
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.tsys1_ups_status
|
|
- sensor.tsys9_ups_status
|
|
conditions:
|
|
- condition: template
|
|
value_template: "{{ trigger.from_state is not none and 'On Battery' in trigger.from_state.state\n
|
|
\ and 'On Battery' not in states(trigger.entity_id) }}"
|
|
actions:
|
|
- action: notify.send_message
|
|
target:
|
|
entity_id:
|
|
- notify.ultix_sidecar_new
|
|
- notify.allthes_ipad
|
|
data:
|
|
title: Power restored
|
|
message: '{{ state_attr(trigger.entity_id, ''friendly_name'') }} is back ONLINE.'
|
|
mode: single
|
|
- id: pfv_plant_high_temperature
|
|
alias: PFV plant - high temperature
|
|
triggers:
|
|
- trigger: numeric_state
|
|
entity_id:
|
|
- sensor.pfv_artroom_temperature
|
|
- sensor.pfv_garage_temperature
|
|
- sensor.pfv_tsys1_rack_temperature
|
|
- sensor.pfv_tsys3_cpu_temperature
|
|
- sensor.pfv_tsys4_ambient_temperature
|
|
- sensor.pfv_tsys5_ambient_temperature
|
|
- sensor.pfv_tsys6_cpu_temperature
|
|
- sensor.pfv_tsys7_cpu_temperature
|
|
- sensor.pfv_tsys9_cpu_temperature
|
|
- sensor.pfv_jetson_temperature
|
|
- sensor.pfv_svrpi_temperature
|
|
- sensor.pfv_subopi3_temperature
|
|
- sensor.pfv_subopi_dev_3_temperature
|
|
- sensor.pfv_subopi_dev_4_temperature
|
|
- sensor.pfv_tsys6_drac_ambient
|
|
- sensor.pfv_tsys7_drac_inlet
|
|
- sensor.pfv_tsys7_drac_exhaust
|
|
- sensor.pfv_tsys7_drac_cpu1
|
|
- sensor.pfv_tsys7_drac_cpu2
|
|
above: 104
|
|
actions:
|
|
- action: notify.send_message
|
|
target:
|
|
entity_id:
|
|
- notify.ultix_sidecar_new
|
|
- notify.allthes_ipad
|
|
data:
|
|
title: HIGH TEMPERATURE
|
|
message: '{{ trigger.entity_id }} is {{ states(trigger.entity_id) }}°F (threshold
|
|
104°F). Check cooling/airflow.'
|
|
data:
|
|
priority: 1
|
|
mode: single
|
|
- id: pfv_plant_sensor_watchdog
|
|
alias: PFV plant - sensor watchdog (unavailable sensors)
|
|
description: HA is the environmental brain (#344) — a silent sensor is an outage.
|
|
Re-alert suppressed by 4h cooldown via last_notified input_text if present.
|
|
triggers:
|
|
- trigger: time_pattern
|
|
minutes: /30
|
|
actions:
|
|
- action: notify.send_message
|
|
target:
|
|
entity_id:
|
|
- notify.ultix_sidecar_new
|
|
- notify.allthes_ipad
|
|
data:
|
|
title: SENSOR WATCHDOG
|
|
message: >-
|
|
{% set fleet = states.sensor | selectattr('entity_id', 'match', 'sensor\.pfv_')
|
|
| list %}
|
|
{% set dead = fleet | selectattr('state', 'in', ['unavailable', 'unknown']) | list %}
|
|
{% if dead | length > 0 %}
|
|
{{ dead | length }} of {{ fleet | length }} fleet sensors silent:
|
|
{{ dead | map(attribute='entity_id') | join(', ') }}
|
|
{% else %}
|
|
all {{ fleet | length }} fleet sensors OK
|
|
{% endif %}
|
|
mode: single
|