mysmarthome/packages/apcups.yaml

78 lines
2.6 KiB
YAML

# ###############################################################################
# # @author : Mahasri Kalavala
# # @date : 11/27/2017
# # @package : APC UPS Backup
# # @description : UPS Backup
# ###############################################################################
apcupsd:
host: 127.0.0.1
port: 3551
sensor:
- platform: apcupsd
# name: Network Backup UPS
resources:
- bcharge
- linev
- loadpct
- nominv
- numxfers
- status
- timeleft
- tonbatt
###############################################################################
# _ _ _
# /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
#
###############################################################################
automation:
- alias: UPS State Change
initial_state: true
trigger:
- platform: state
entity_id: sensor.ups_status
action:
- service: script.notify_me
data_template:
message: "UPS Status changed from {{ trigger.from_state.state }}
to {{ trigger.to_state.state }}
at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p, %B %d,%Y', true) }}."
# # Power Failure Notification
# ###############################################################################
- alias: Power Failure
initial_state: true
trigger:
- platform: state
entity_id: sensor.ups_status
from: "ONLINE"
to: "ONBATT"
action:
- service: script.notify_me
data_template:
message:
Power failure at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %B-%d,%Y', true) }}.
Battery can last for {{ states('sensor.ups_time_left') }} minutes.
# # Power Restored Notification
# ###############################################################################
- alias: Power Restored
initial_state: true
trigger:
- platform: state
entity_id: sensor.ups_status
from: "ONBATT"
to: "ONLINE"
action:
- service: script.notify_me
data_template:
message:
Power restored at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %B-%d,%Y', true) }}.
Ran on battery for {{ "%0.2f" % (states('sensor.ups_time_on_battery') | int / 60 |float) }} minutes.