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