# ############################################################################### # # @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.state }} 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.state | int / 60 |float) }} minutes.