1
0
ansible-home-assistant/configuration/automations/behaviour-goto-sleep.yaml

170 lines
4.5 KiB
YAML

- id: behaviour_pc_caffeine
alias: '[Behaviour] PC caffeine'
mode: single
trigger:
- platform: state
entity_id:
- input_boolean.pc_caffeine
to: "on"
condition: [ ]
action:
- service: light.turn_on
data:
color_name: green
target:
entity_id: light.notification_cube_light
- id: goto_sleep
alias: '[Behaviour] Go to sleep'
mode: single
trigger:
- platform: calendar
event: start
offset: '-9:35:0'
entity_id: calendar.automations_wakeup
- platform: calendar
event: start
offset: '-9:05:0'
entity_id: calendar.automations_wakeup
condition:
- condition: state
entity_id: binary_sensor.hulk_ping
state: 'on'
action:
- service: light.turn_on
data:
flash: long
rgb_color:
- 255
- 0
- 0
target:
entity_id: light.office_light_up
- service: notify.hulk
data:
title: "Sleep notifier"
message: "Go to sleep, computer will turn off in 5 minutes"
- service: light.turn_on
data:
color_name: orange
target:
entity_id: light.notification_cube_light
- delay: '0:05:00'
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.hulk_ping
state: 'on'
- condition: state
entity_id: input_boolean.pc_caffeine
state: 'off'
sequence:
- service: light.turn_on
target:
entity_id: light.office_light_up
- service: shell_command.pc_poweroff
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.hulk_ping
state: 'on'
- condition: state
entity_id: input_boolean.pc_caffeine
state: 'on'
sequence:
- service: notify.hulk
data:
title: "Sleep notifier"
message: "You have 30 more minutes"
- service: input_boolean.turn_off
target:
entity_id: input_boolean.pc_caffeine
- choose:
- conditions:
- condition: state
entity_id: input_boolean.pc_caffeine
state: 'off'
sequence:
- service: light.turn_on
data:
color_name: yellow
target:
entity_id: light.notification_cube_light
- service: light.turn_off
target:
entity_id: light.office_light_up
- id: goto_sleep_2
alias: '[Behaviour] Go to sleep (hard cutoff)'
mode: single
trigger:
- platform: calendar
event: start
offset: '-8:35:0'
entity_id: calendar.automations_wakeup
condition:
- condition: state
entity_id: binary_sensor.hulk_ping
state: 'on'
action:
- service: notify.hulk
data:
title: "Sleep notifier"
message: "Go to sleep, computer will be force turned off off in 5 minutes"
- service: light.turn_on
data:
flash: long
rgb_color:
- 255
- 0
- 0
target:
entity_id: light.office_light_up
- service: light.turn_on
data:
color_name: red
target:
entity_id: light.notification_cube_light
- service: light.turn_on
data:
rgb_color:
- 255
- 0
- 0
target:
entity_id: light.office_light_up
- delay: '0:04:30'
- service: notify.hulk
data:
title: "Sleep notifier"
message: "30 seconds"
- delay: '0:00:20'
- service: notify.hulk
data:
title: "Sleep notifier"
message: "10 seconds"
- delay: '0:00:10'
- service: shell_command.pc_poweroff
- service: input_boolean.turn_off
target:
entity_id: input_boolean.pc_caffeine
- service: light.turn_off
target:
entity_id: light.office_light_up
- delay: '0:05:00'
- service: switch.turn_off
target:
entity_id: switch.computer_outlet
- id: behaviour_goto_sleep_back_on
alias: '[Behaviour] Go to sleep - turn automations back on'
trigger:
- platform: time
at: '05:00:00'
action:
- service: automation.turn_on
target:
entity_id:
- automation.behaviour_go_to_sleep
- automation.behaviour_go_to_sleep_hard_cutoff