backup_alarm.py 786 B

1234567891011121314151617181920212223
  1. # Heartbeat should be OFF at the start of the day. At 00:01, reset it
  2. @time_trigger("once(00:01:00)")
  3. def reset_backup_alarm_if_no_heartbeat(**kwargs):
  4. log.info("Resetting backup heartbeat at 00:01")
  5. input_boolean.backup_heartbeat = 'off'
  6. # Automation: Raise alarm if no heartbeat after 24h
  7. @time_trigger("once(06:15:00)")
  8. @state_active("input_boolean.backup_heartbeat == 'off'")
  9. def raise_backup_alarm_if_no_heartbeat(**kwargs):
  10. log.warning("No backup heartbeat detected in last 24h! Raising alarm!")
  11. input_boolean.backup_alarm = 'on'
  12. @time_trigger("once(06:30:00)")
  13. @state_active("input_boolean.backup_alarm == 'on'")
  14. def turn_on_hallway_light_if_backup_alarm_on(**kwargs):
  15. light.turn_on(entity_id='light.hall_door', brightness=25, color_temp_kelvin=2202)