2022-07-19 18:53:10 +10:00
sensor :
- platform : unifigateway
host : !secret unifi_controller
port : 443
username : !secret unifi_username
password : !secret unifi_password
monitored_conditions :
- www
- vpn
- lan
- wan
- wlan
- alerts
- firmware
wake_on_lan :
switch :
- platform : wake_on_lan
name : TumTum
mac : !secret tumtum_mac
host : !secret tumtum_ip
broadcast_address : !secret lan_broadcast
2022-08-24 13:50:56 +10:00
turn_off :
- service : shell_command.shutdown_host
data :
host : !secret tumtum_ip
- platform : wake_on_lan
name : NAS
mac : !secret nas_mac
host : !secret nas_ip
broadcast_address : !secret lan_broadcast
turn_off :
service : button.press
target :
entity_id : button.nas_shutdown
automation :
- id : 964db306d8b009f8f640
alias : Power NAS/Tumtum according to sleep
2022-08-25 12:25:05 +10:00
mode : restart # so we only do latest
2022-08-24 13:50:56 +10:00
trigger :
- platform : template
value_template : |
2022-08-25 12:25:05 +10:00
{{ is_state('group.everyone_in_bed', 'on') and states('sensor.plex_tumtum_tree') | int(default=0) == 0 }}
2022-08-24 13:50:56 +10:00
for :
minutes : 15
variables :
service : switch.turn_off
- platform : template
value_template : |
2022-08-25 12:25:05 +10:00
{{ is_state('group.everyone_in_bed', 'off') }}
2022-08-24 13:50:56 +10:00
for :
minutes : 15
variables :
service : switch.turn_on
action :
- service : "{{ service }}"
target :
entity_id :
- switch.nas
- switch.tumtum
- id : 8bec9ab03377b5202cad
alias : Power NAS/Tumtum according to UPS
mode : restart # so we only do latest
trigger : # https://www.home-assistant.io/docs/automation/trigger/#event-trigger
- platform : event
event_type : nut.ups_event
event_data :
notify_type : ONBATT # on battery
variables :
direction : "off"
seconds : 120
- platform : event
event_type : nut.ups_event
event_data :
notify_type : LOWBAT # low battery
variables :
direction : "off"
seconds : 10
- platform : event
event_type : nut.ups_event
event_data :
notify_type : FSD # forced shutdown
variables :
direction : "off"
seconds : 3
- platform : event
event_type : nut.ups_event
event_data :
notify_type : SHUTDOWN # system is shutting down
variables :
direction : "off"
seconds : 0
- platform : event
event_type : nut.ups_event
event_data :
notify_type : ONLINE # system is (back) online
variables :
direction : "on"
seconds : 120
action :
- delay : "{{ seconds }}"
- service : "switch.turn_{{ direction }}"
target :
entity_id :
- switch.nas
- switch.tumtum
- id : 0300364ca8c814c4c325
alias : "Notify on UPS state change"
trigger :
- platform : event
event_type : nut.ups_event
action :
- service : notify.mobile_app_bos_iphone
data_template :
title : "UPS changed state"
message : "{{ trigger.event.data.notify_msg }}"
data :
push :
interruption-level : time-sensitive
shell_command :
# NOTE: make sure connecting user can execute specified sudo command without password on remote host
# See https://askubuntu.com/questions/168879/shutdown-from-terminal-without-entering-password, https://wiki.archlinux.org/title/allow_users_to_shutdown, https://toroid.org/sudoers-syntax
reboot_host : >
ssh -i /config/.ssh/id_rsa -o 'StrictHostKeyChecking=no' -l {% if user is defined %}{{user}}{%else%}homeassistant{% endif %} {{host}} -- 'sudo reboot'
shutdown_host : >
ssh -i /config/.ssh/id_rsa -o 'StrictHostKeyChecking=no' -l {% if user is defined %}{{user}}{%else%}homeassistant{% endif %} {{host}} -- 'sudo poweroff'