# # ############################################################################### # # # @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.