initial push

This commit is contained in:
CeeWeasel
2024-04-14 14:08:56 -04:00
commit 53bf393d14
1111 changed files with 71730 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
alias: 'All away media off'
id: automation_all_away_media_off
initial_state: 'on'
mode: single
max_exceeded: silent
trigger:
- platform: state
entity_id: input_boolean.home_occupied
to: 'off'
for: '00:05:00'
condition:
condition: or
conditions:
- condition: state
entity_id: media_player.kitchen
state: 'playing'
- condition: state
entity_id: media_player.great_room
state: 'playing'
- condition: state
entity_id: media_player.front_room_tv
state: 'playing'
- condition: state
entity_id: media_player.front_room_hub
state: 'playing'
- condition: state
entity_id: media_player.master_bedroom_clock
state: 'playing'
- condition: state
entity_id: media_player.nursery_hub
state: 'playing'
- condition: state
entity_id: media_player.bathroom_mini
state: 'playing'
- condition: state
entity_id: media_player.downstairs_roku
state: 'playing'
action:
service: media_player.turn_off
data:
entity_id: all
@@ -0,0 +1,28 @@
alias: 'Guest mode off nobody home'
id: automation_guest_mode_off_nobody_home
mode: single
max_exceeded: silent
trigger:
- platform: state
entity_id: input_boolean.guest_mode
to: 'off'
condition:
condition: and
conditions:
# We're all away
- condition: state
entity_id: input_boolean.clint_home
state: 'off'
- condition: state
entity_id: input_boolean.kristy_home
state: 'off'
- condition: or
conditions:
# Either the phone or tablet are away, or the family room isn't occupied
- condition: state
entity_id: input_boolean.clint_home
state: 'off'
action:
- service: input_boolean.turn_off
entity_id: input_boolean.home_occupied
+41
View File
@@ -0,0 +1,41 @@
alias: 'Home not occupied'
id: automation_home_not_occupied
mode: single
max_exceeded: silent
trigger:
- platform: state
entity_id:
- input_boolean.clint_home
- input_boolean.emmett_home
- input_boolean.bridget_home
- input_boolean.kristy_home
- input_boolean.marshall_home
- input_boolean.tess_home
- input_boolean.ebin_home
- input_boolean.guest_mode
to: 'off'
condition:
- condition: state
entity_id: input_boolean.home_occupied
state: 'on'
# We're all away
- condition: numeric_state
entity_id: group.person_household
below: 1
value_template: "{{ dict((states|selectattr('entity_id', 'in', state_attr('group.person_household', 'entity_id'))|list)|groupby('state'))['on']|count }}"
action:
- service: input_boolean.turn_off
entity_id: input_boolean.home_occupied
- service: automation.turn_on
data:
entity_id: automation.garage_open_nobody_home
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.patio_door_contact
state: 'off'
sequence:
- service: lock.lock
target:
entity_id: lock.patio_door
+36
View File
@@ -0,0 +1,36 @@
alias: 'Home occupied'
id: automation_home_occupied
mode: single
max_exceeded: silent
trigger:
- platform: state
entity_id:
- input_boolean.clint_home
- input_boolean.emmett_home
- input_boolean.bridget_home
- input_boolean.kristy_home
- input_boolean.marshall_home
- input_boolean.tess_home
- input_boolean.ebin_home
- input_boolean.guest_mode
to: 'on'
- platform: state
entity_id: cover.garage_door
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: input_boolean.home_occupied
state: 'off'
# One person is home
- condition: numeric_state
entity_id: group.person_household
above: 0
value_template: "{{ dict((states|selectattr('entity_id', 'in', state_attr('group.person_household', 'entity_id'))|list)|groupby('state'))['on']|count }}"
action:
- service: input_boolean.turn_on
entity_id: input_boolean.home_occupied
- service: automation.turn_off
data:
entity_id: automation.garage_open_nobody_home
+104
View File
@@ -0,0 +1,104 @@
alias: House Mode Change
id: automation_house_mode_change
mode: queued
# Detect when something changes and/or when Home Assistant Starts
trigger:
- platform: state
entity_id:
- input_boolean.home_occupied
- input_boolean.bedtime
- sensor.people_count
- platform: homeassistant
event: start
action:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.home_occupied
state: 'off'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.house
option: 'Away'
- conditions:
- condition: state
entity_id: input_boolean.home_occupied
state: 'on'
- condition: state
entity_id: sensor.people_count
state: '1'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.house
option: 'Bachelor'
- service: homeassistant.turn_on
entity_id:
- input_boolean.lighting_automations
- input_boolean.brightness_automations
- conditions:
- condition: state
entity_id: input_boolean.home_occupied
state: 'on'
- condition: numeric_state
entity_id: sensor.people_count
above: 1
below: 4
- condition: or
conditions:
- condition: state
entity_id: input_boolean.emmett_home
state: 'on'
- condition: state
entity_id: input_boolean.bridget_home
state: 'on'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.house
option: 'Dad'
- service: homeassistant.turn_on
entity_id:
- input_boolean.lighting_automations
- input_boolean.brightness_automations
- conditions:
- condition: state
entity_id: input_select.house
state: 'Guest'
sequence:
- service: homeassistant.turn_off
entity_id:
- input_boolean.lighting_automations
- conditions:
- condition: state
entity_id: input_select.house
state: 'Manual'
sequence:
- service: homeassistant.turn_off
entity_id:
- input_boolean.lighting_automations
- input_boolean.brightness_automations
default:
- service: input_select.select_option
data:
entity_id: input_select.house
option: 'Auto'
- service: homeassistant.turn_on
entity_id:
- input_boolean.lighting_automations
- input_boolean.brightness_automations
+16
View File
@@ -0,0 +1,16 @@
alias: "Leaving Home"
id: automation_leaving_home
mode: single
max_exceeded: silent
trigger:
- platform: state
entity_id: input_boolean.home_occupied
to: "off"
for: "00:05:00"
action:
- service: homeassistant.turn_off
entity_id:
- group.my_lights
- group.my_fans
- group.my_room_status
@@ -0,0 +1,219 @@
alias: 'Update Automatic Light Profile'
id: automation_update_automatic_light_profile
trigger:
- platform: state
entity_id:
- input_select.time_of_day
- input_select.early_morning_mode
- input_select.morning_mode
- input_select.late_morning_mode
- input_select.early_afternoon_mode
- input_select.late_afternoon_mode
- input_select.early_evening_mode
- input_select.evening_mode
- input_select.late_evening_mode
- input_select.night_mode
- input_select.early_morning_kids_mode
- input_select.morning_kids_mode
- input_select.late_morning_kids_mode
- input_select.early_afternoon_kids_mode
- input_select.late_afternoon_kids_mode
- input_select.early_evening_kids_mode
- input_select.evening_kids_mode
- input_select.late_evening_kids_mode
- input_select.night_kids_mode
action:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.have_custody
state: 'off'
sequence:
- choose:
# Set to Energize during Early Morning (04:00 - 06:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Morning'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.early_morning_mode')}}"
# Set to Energize during Morning (06:00 - 09:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Morning'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.morning_mode')}}"
# Set to Energize during Late Morning (09:00 - 12:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Morning'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.late_morning_mode')}}"
# Set to Concentrate during Early Afternoon (12:00 - 15:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Afternoon'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.early_afternoon_mode')}}"
# Set to Concentrate during Late Afternoon (15:00 - 17:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Afternoon'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.late_afternoon_mode')}}"
# Set to Read during Early Evening (17:00 - 19:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Evening'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.early_evening_mode')}}"
# Set to Relax during Evening (19:00 - 22:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Evening'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.evening_mode')}}"
# Set to Dimmed during Late Evening (22:00 - 00:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Evening'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.late_evening_mode')}}"
# Set to Nightlight during Night (00:00 - 04:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Night'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.night_mode')}}"
- conditions:
- condition: state
entity_id: binary_sensor.have_custody
state: 'on'
sequence:
- choose:
# Set to Energize during Early Morning (04:00 - 06:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Morning'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.early_morning_kids_mode')}}"
# Set to Energize during Morning (06:00 - 09:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Morning'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.morning_kids_mode')}}"
# Set to Energize during Late Morning (09:00 - 12:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Morning'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.late_morning_kids_mode')}}"
# Set to Concentrate during Early Afternoon (12:00 - 15:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Afternoon'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.early_afternoon_kids_mode')}}"
# Set to Concentrate during Late Afternoon (15:00 - 17:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Afternoon'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.late_afternoon_kids_mode')}}"
# Set to Read during Early Evening (17:00 - 19:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Evening'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.early_evening_kids_mode')}}"
# Set to Relax during Evening (19:00 - 22:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Evening'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.evening_kids_mode')}}"
# Set to Dimmed during Late Evening (22:00 - 00:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Evening'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.late_evening_kids_mode')}}"
# Set to Nightlight during Night (00:00 - 04:00)
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Night'
sequence:
- service: input_select.select_option
data:
entity_id: input_select.automatic_light_profile
option: "{{states('input_select.night_kids_mode')}}"
@@ -0,0 +1,268 @@
alias: Update Light Off Delay
id: automation_update_light_off_delay
mode: queued
# Detect when something changes and/or when Home Assistant Starts
trigger:
- platform: state
entity_id: input_select.house
- platform: homeassistant
event: start
action:
- choose:
- alias: "House set to Away"
conditions:
- condition: state
entity_id: input_select.house
state: 'Away'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_seconds
data:
value: 30
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_minutes
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_minutes
data:
value: 5
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_minutes
data:
value: 30
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_hours
data:
value: 0
- alias: "House set to Bachelor - 10 minutes"
conditions:
- condition: state
entity_id: input_select.house
state: 'Bachelor'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_minutes
data:
value: 1
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_minutes
data:
value: 10
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_minutes
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_hours
data:
value: 1
- alias: "House set to Guest - 30 minutes"
conditions:
- condition: state
entity_id: input_select.house
state: 'Manual'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_minutes
data:
value: 10
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_minutes
data:
value: 30
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_minutes
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_hours
data:
value: 1
- alias: "House set to Manual - 60 minutes"
conditions:
- condition: state
entity_id: input_select.house
state: 'Manual'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_minutes
data:
value: 20
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_minutes
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_hours
data:
value: 1
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_minutes
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_hours
data:
value: 2
default:
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_minutes
data:
value: 10
- service: input_number.set_value
target:
entity_id: input_number.short_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_minutes
data:
value: 30
- service: input_number.set_value
target:
entity_id: input_number.normal_light_off_delay_hours
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_seconds
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_minutes
data:
value: 0
- service: input_number.set_value
target:
entity_id: input_number.long_light_off_delay_hours
data:
value: 1