78 lines
2.6 KiB
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.
|