├── .gitignore ├── images ├── auto-screenshot.jpg ├── bath-screenshot.jpg ├── home-screenshot.jpg ├── camera-screenshot.jpg ├── dining-screenshot.jpg ├── media-screenshot.jpg ├── offices-screenshot.jpg ├── outdoor-screenshot.jpg ├── sensors-screenshot.jpg ├── weather-screenshot.jpg ├── basement-screenshot.jpg ├── bedrooms-screenshot.jpg ├── automation-screenshot.jpg └── living-room-screenshot.jpg ├── tools ├── redacted.txt ├── ha-github-scrub.sh ├── ha-mgmt.sh └── ha-mgmt-docker.sh ├── logbook.yaml ├── zones.yaml ├── weblinks.yaml ├── homekit.yaml ├── automation ├── calendar.yaml ├── weather.yaml ├── garage.yaml ├── security.yaml ├── water_sensors.yaml ├── party.yaml ├── locks.yaml ├── vacation.yaml ├── doors.yaml ├── house_guest.yaml ├── roomba.yaml ├── bedtime.yaml ├── notification_audio.yaml ├── notification_text.yaml ├── doorbell.yaml ├── occupancy.yaml └── lights.yaml ├── input_select.yaml ├── scenes.yaml ├── history.yaml ├── scripts.yaml ├── light_group.yaml ├── configuration.yaml ├── input_boolean.yaml ├── sensors.yaml ├── recorder.yaml └── groups.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /images/auto-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/auto-screenshot.jpg -------------------------------------------------------------------------------- /images/bath-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/bath-screenshot.jpg -------------------------------------------------------------------------------- /images/home-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/home-screenshot.jpg -------------------------------------------------------------------------------- /images/camera-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/camera-screenshot.jpg -------------------------------------------------------------------------------- /images/dining-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/dining-screenshot.jpg -------------------------------------------------------------------------------- /images/media-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/media-screenshot.jpg -------------------------------------------------------------------------------- /images/offices-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/offices-screenshot.jpg -------------------------------------------------------------------------------- /images/outdoor-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/outdoor-screenshot.jpg -------------------------------------------------------------------------------- /images/sensors-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/sensors-screenshot.jpg -------------------------------------------------------------------------------- /images/weather-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/weather-screenshot.jpg -------------------------------------------------------------------------------- /images/basement-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/basement-screenshot.jpg -------------------------------------------------------------------------------- /images/bedrooms-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/bedrooms-screenshot.jpg -------------------------------------------------------------------------------- /images/automation-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/automation-screenshot.jpg -------------------------------------------------------------------------------- /images/living-room-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/homeassistant/master/images/living-room-screenshot.jpg -------------------------------------------------------------------------------- /tools/redacted.txt: -------------------------------------------------------------------------------- 1 | example 2 | redacted 3 | file 4 | words 5 | in 6 | this 7 | file 8 | will 9 | be 10 | scrubbed 11 | ENDOFFILE 12 | -------------------------------------------------------------------------------- /logbook.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Logbook 3 | ################################################################# 4 | exclude: 5 | domains: 6 | - updater 7 | entities: 8 | - light.back_door_left 9 | - light.back_door_right 10 | - light.basement_light_1 11 | - light.basement_light_2 12 | - light.basement_light_3 13 | - light.basement_light_4 14 | - light.front_porch_left 15 | - light.front_porch_right 16 | - light.living_room_lamp_1 17 | - light.living_room_lamp_2 18 | - light.USER2s_office_ceiling_1 19 | - light.USER2s_office_ceiling_2 20 | - light.stairs_1 21 | - light.stairs_2 22 | - light.stairs_3 23 | - light.upper_patio_left 24 | - light.upper_patio_right 25 | -------------------------------------------------------------------------------- /zones.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Zones 3 | ################################################################# 4 | 5 | #REDACTED 6 | - name: REDACTED 7 | latitude: REDACTED 8 | longitude: REDACTED 9 | radius: 300 10 | icon: mdi:hospital 11 | #REDACTED 12 | - name: REDACTED 13 | latitude: REDACTED 14 | longitude: REDACTED 15 | radius: 300 16 | icon: mdi:hospital 17 | #REDACTED 18 | - name: REDACTED 19 | latitude: REDACTED 20 | longitude: REDACTED 21 | radius: 300 22 | icon: mdi:hospital 23 | #Lake 24 | - name: Lake 25 | latitude: REDACTED 26 | longitude: REDACTED 27 | radius: 20000 28 | icon: mdi:beach 29 | #REDACTED Office 30 | - name: REDACTED 31 | latitude: REDACTED 32 | longitude: REDACTED 33 | radius: 300 34 | icon: mdi:briefcase 35 | #REDACTED Office 36 | - name: REDACTED 37 | latitude: REDACTED 38 | longitude: REDACTED 39 | radius: 300 40 | icon: mdi:briefcase 41 | -------------------------------------------------------------------------------- /weblinks.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Web Links 3 | ################################################################# 4 | 5 | entities: 6 | - name: REDACTED 7 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 8 | icon: mdi:video 9 | - name: REDACTED 10 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 11 | icon: mdi:video 12 | - name: REDACTED 13 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 14 | icon: mdi:video 15 | - name: REDACTED 16 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 17 | icon: mdi:video 18 | - name: REDACTED 19 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 20 | icon: mdi:video 21 | - name: REDACTED 22 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 23 | icon: mdi:video 24 | - name: REDACTED 25 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 26 | icon: mdi:video 27 | - name: REDACTED 28 | url: http://REDACTED/rtplive/REDACTED/playlist.m3u8 29 | icon: mdi:video 30 | -------------------------------------------------------------------------------- /homekit.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## HomeKit 3 | ################################################################# 4 | 5 | filter: 6 | exclude_domains: 7 | - light 8 | - device_tracker 9 | - input_boolean 10 | - remote 11 | - script 12 | - alarm_control_panel 13 | - cover 14 | - sensor 15 | - automation 16 | - media_player 17 | - binary_sensor 18 | include_entities: 19 | - cover.garage_door 20 | - light.hallway_light 21 | - light.bathroom_vanity 22 | - light.garage_light 23 | - light.living_room_lights 24 | - light.dining_room_lights 25 | - light.bedroom_lights 26 | - light.kitchen_lights 27 | - light.stairs 28 | - light.USER1_office_lights 29 | - light.USER2_office_lights 30 | - light.guest_bedroom_lights 31 | - light.basement_lighting 32 | - light.front_porch 33 | - light.back_door 34 | - light.backyard_deck 35 | - light.backyard_patio 36 | - light.globe 37 | exclude_entities: 38 | - switch.living_room_ceiling_fan 39 | - switch.myq_garage_outlet 40 | -------------------------------------------------------------------------------- /automation/calendar.yaml: -------------------------------------------------------------------------------- 1 | ########################################################## 2 | ## Set USER2 as Working 3 | ########################################################## 4 | 5 | - alias: Calendar - Set USER2 as Working 6 | 7 | trigger: 8 | - platform: numeric_state 9 | entity_id: sensor.USER2_work_offset 10 | below: '25200' 11 | 12 | action: 13 | - service: homeassistant.turn_on 14 | entity_id: input_boolean.USER2_working 15 | 16 | ########################################################## 17 | ## Reset USER2 as Working at 9p 18 | ########################################################## 19 | 20 | - alias: Calendar - Reset USER2 as Working at 9p 21 | 22 | trigger: 23 | - platform: time 24 | at: '21:00' 25 | 26 | action: 27 | - service: homeassistant.turn_off 28 | entity_id: input_boolean.USER2_working 29 | 30 | ########################################################## 31 | ## Reset USER2 as Working at 11p (second pass) 32 | ########################################################## 33 | 34 | - alias: Calendar - Reset USER2 as Working at 11p 35 | 36 | trigger: 37 | - platform: time 38 | at: '23:00' 39 | 40 | action: 41 | - service: homeassistant.turn_off 42 | entity_id: input_boolean.USER2_working 43 | -------------------------------------------------------------------------------- /input_select.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Input Select 3 | ################################################################# 4 | 5 | holiday: 6 | name: Holiday Lighting 7 | options: 8 | - None 9 | - Valentine's Day 10 | - St. Patrick's Day 11 | - Easter 12 | - Memorial Day 13 | - Independence Day 14 | - Labor Day 15 | - Halloween 16 | - Veterans Day 17 | - Thanksgiving 18 | - Christmas 19 | - Cardinals Game 20 | - Blues Game 21 | icon: mdi:gift 22 | 23 | remote: 24 | name: Media Center Remote 25 | options: 26 | - PowerOff 27 | - Watch TV 28 | - Watch Over the Air TV 29 | - Play Xbox One 30 | - Play Nintendo Switch 31 | - Play Wii U 32 | - Play Sonos 33 | - Turn on Receiver 34 | icon: mdi:remote 35 | 36 | bedroom_remote: 37 | name: Bedroom Remote 38 | options: 39 | - PowerOff 40 | - Watch TV 41 | icon: mdi:remote 42 | 43 | office_remote: 44 | name: Office Remote 45 | options: 46 | - PowerOff 47 | - Watch TV 48 | - Play RetroPie 49 | icon: mdi:remote 50 | 51 | sonos: 52 | name: Sonos 53 | options: 54 | - None 55 | - Play Pop Music 56 | - Play Jazz Music 57 | - Play Chill Music 58 | - Play Electronic Music 59 | - Play Classical Music 60 | - Play Adele Music Station 61 | icon: mdi:speaker 62 | -------------------------------------------------------------------------------- /scenes.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Scenes 3 | ################################################################# 4 | 5 | - name: Vacation 6 | entities: 7 | light.office_ceiling: 8 | state: on 9 | brightness_pct: 1 10 | light.kitchen_sink: 11 | state: on 12 | brightness_pct: 1 13 | light.living_room_lamps: 14 | state: on 15 | brightness_pct: 25 16 | color_temp: 447 17 | light.bedroom_closet_ceiling: 18 | state: on 19 | brightness_pct: 1 20 | 21 | - name: Vacation Disable Automation 22 | entities: 23 | input_boolean.disable_lights_morning: 24 | state: on 25 | input_boolean.disable_exterior_off_night: 26 | state: on 27 | input_boolean.disable_rainy_day: 28 | state: on 29 | input_boolean.disable_interior_lights_sunset: 30 | state: on 31 | input_boolean.disable_media_lights: 32 | state: on 33 | input_boolean.disable_occupancy: 34 | state: on 35 | input_boolean.thermostat_away: 36 | state: on 37 | 38 | - name: Vacation Enable Automation 39 | entities: 40 | input_boolean.disable_lights_morning: 41 | state: off 42 | input_boolean.disable_exterior_off_night: 43 | state: off 44 | input_boolean.disable_rainy_day: 45 | state: off 46 | input_boolean.disable_interior_lights_sunset: 47 | state: off 48 | input_boolean.disable_media_lights: 49 | state: off 50 | input_boolean.disable_occupancy: 51 | state: off 52 | input_boolean.thermostat_away: 53 | state: off 54 | -------------------------------------------------------------------------------- /tools/ha-github-scrub.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ########################################################## 4 | ## Variables 5 | ########################################################## 6 | 7 | filename='PATH_TO_FILE_WITH_REDACTED_WORDS_redacted.txt' 8 | directory='PATH_TO_LOCAL_GITHUB_DIRECTORY' 9 | haconfigdir='PATH_TO_LOCAL_HA_CONFIG_DIR' 10 | user1=USERNAME_TO_BE_REPLACED_WITH_USER1 11 | user2=USERNAME_TO_BE_REPLACED_WITH_USER2 12 | user1C=USERNAME_TO_BE_REPLACED_WITH_USER1 13 | user2C=USERNAME_TO_BE_REPLACED_WITH_USER2 14 | user1device=USERDEVICE_TO_BE_REPLACED_WITH_USERDEVICE1 15 | user2device=USERDEVICE_TO_BE_REPLACED_WITH_USERDEVICE2 16 | 17 | ########################################################## 18 | ## Execute 19 | ########################################################## 20 | clear 21 | echo " " 22 | echo "Copying Latest Configs" 23 | echo " " 24 | rsync -au --exclude=".*" --exclude ".*/" $haconfigdir/Config/ $directory/ 25 | echo " " 26 | echo Scrubbing Files 27 | echo " " 28 | #scrub configration.yaml first to purge user accounts 29 | cat $filename | while read redacted; do 30 | sed -i '' "s/"$redacted"/REDACTED/g" $directory/configuration.yaml 31 | done 32 | #scrub sensors.yaml second to purge user accounts 33 | cat $filename | while read redacted; do 34 | sed -i '' "s/"$redacted"/REDACTED/g" $directory/sensors.yaml 35 | done 36 | #scrub out names 37 | find $directory -name \*.yaml -exec sed -i '' "s/"$user1"/USER1/g" {} \; 38 | find $directory -name \*.yaml -exec sed -i '' "s/"$user2"/USER2/g" {} \; 39 | #lame fix for uppercase names 40 | find $directory -name \*.yaml -exec sed -i '' "s/"$user1C"/USER1/g" {} \; 41 | find $directory -name \*.yaml -exec sed -i '' "s/"$user2C"/USER2/g" {} \; 42 | #scrub out devices 43 | find $directory -name \*.yaml -exec sed -i '' "s/"$user1device"/USER1DEVICE/g" {} \; 44 | find $directory -name \*.yaml -exec sed -i '' "s/"$user2device"/USER2DEVICE/g" {} \; 45 | #loop through and scrub any file with .yaml 46 | cat $filename | while read redacted; do 47 | find $directory -name \*.yaml -exec sed -i '' "s/"$redacted"/REDACTED/g" {} \; 48 | done 49 | #lame fix for butchering of Weekends 50 | find $directory -name \*.yaml -exec sed -i '' "s/"WeeREDACTEDds"/Weekends/g" {} \; 51 | echo "GitHub Files Scrubbed" 52 | echo " " 53 | exit 54 | -------------------------------------------------------------------------------- /history.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## History 3 | ################################################################# 4 | 5 | exclude: 6 | domains: 7 | - automation 8 | - updater 9 | - media_player 10 | - input_boolean 11 | - weblink 12 | - camera 13 | - scene 14 | - script 15 | entities: 16 | - light.back_door_left 17 | - light.back_door_right 18 | - light.basement_light_1 19 | - light.basement_light_2 20 | - light.basement_light_3 21 | - light.basement_light_4 22 | - light.front_porch_left 23 | - light.front_porch_right 24 | - light.living_room_lamp_1 25 | - light.living_room_lamp_2 26 | - light.USER2s_office_ceiling_1 27 | - light.USER2s_office_ceiling_2 28 | - light.stairs_1 29 | - light.stairs_2 30 | - light.stairs_3 31 | - light.upper_patio_left 32 | - light.upper_patio_right 33 | - light.bedroom_closet_ceiling_1 34 | - light.bedroom_closet_ceiling_2 35 | - group.winter_mode 36 | - group.summer_mode 37 | - input_select.holiday 38 | - switch.lower_backyard_lighting 39 | - switch.backyard_patio_lighting 40 | - binary_sensor.USER1_front_door_code 41 | - binary_sensor.USER1_back_door_code 42 | - binary_sensor.USER1_basement_door_code 43 | - binary_sensor.USER2_front_door_code 44 | - binary_sensor.USER2_back_door_code 45 | - binary_sensor.USER2_basement_door_code 46 | - device_tracker.USER1sapplewatch 47 | - light.living_room_lights 48 | - light.dining_room_lights 49 | - light.bedroom_lights 50 | - light.kitchen_lights 51 | - light.USER1_office_lights 52 | - light.USER2_office_lights 53 | - light.guest_bedroom_lights 54 | - light.basement_lighting 55 | - group.basement_occupancy 56 | - group.water_sensors 57 | - switch.living_room_ceiling_fan 58 | - sensor.media_center 59 | - sensor.nas_status 60 | - sensor.nas_smart_status_drive_01 61 | - sensor.nas_smart_status_drive_02 62 | - sensor.nas_smart_status_drive_03 63 | - sensor.nas_smart_status_drive_04 64 | - sensor.nas_volume_used_storage 65 | - sensor.nas_volume_used_backup 66 | - sensor.nas_network_link_eth0 67 | - sensor.nas_network_link_eth1 68 | - group.house_guest 69 | - group.USER1_door_codes 70 | - group.USER2_door_codes 71 | - device_tracker.USER1siphone 72 | - device_tracker.USER2siphone 73 | - device_tracker.USER1sipad 74 | - device_tracker.USER2sipad 75 | - device_tracker.USER1smacbookpro 76 | - device_tracker.USER1smacbookair 77 | - device_tracker.USER2smacbookair 78 | - device_tracker.USER1simac 79 | - device_tracker.USER2simac 80 | - device_tracker.REDACTED 81 | - device_tracker.REDACTED 82 | - device_tracker.REDACTED 83 | - device_tracker.REDACTED 84 | - device_tracker.REDACTED 85 | - device_tracker.REDACTED 86 | - device_tracker.REDACTED 87 | - device_tracker.REDACTED 88 | - device_tracker.REDACTED 89 | #Temp until DB purge 90 | -------------------------------------------------------------------------------- /scripts.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Scripts 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Harmony Remote 7 | ########################################################## 8 | 9 | input_select_harmony: 10 | alias: "Start Remote activity from input select" 11 | sequence: 12 | service: remote.turn_on 13 | data_template: 14 | entity_id: remote.media_center 15 | activity: > 16 | {% if is_state("input_select.remote", "PowerOff") %} 17 | -1 18 | {% elif is_state("input_select.remote", "Watch TV") %} 19 | 22106204 20 | {% elif is_state("input_select.remote", "Watch Over the Air TV") %} 21 | 22109519 22 | {% elif is_state("input_select.remote", "Play Xbox One") %} 23 | 22107236 24 | {% elif is_state("input_select.remote", "Play Nintendo Switch") %} 25 | 23666878 26 | {% elif is_state("input_select.remote", "Play Wii U") %} 27 | 22107302 28 | {% elif is_state("input_select.remote", "Play Sonos") %} 29 | 22815026 30 | {% elif is_state("input_select.remote", "Turn on Receiver") %} 31 | 22107111 32 | {% endif %} 33 | 34 | input_select_bedroom_harmony: 35 | alias: "Start Bedroom Remote activity from input select" 36 | sequence: 37 | service: remote.turn_on 38 | data_template: 39 | entity_id: remote.bedroom_tv 40 | activity: > 41 | {% if is_state("input_select.bedroom_remote", "PowerOff") %} 42 | -1 43 | {% elif is_state("input_select.bedroom_remote", "Watch TV") %} 44 | 31071991 45 | {% endif %} 46 | 47 | input_select_office_harmony: 48 | alias: "Start Office Remote activity from input select" 49 | sequence: 50 | service: remote.turn_on 51 | data_template: 52 | entity_id: remote.office_tv 53 | activity: > 54 | {% if is_state("input_select.office_remote", "PowerOff") %} 55 | -1 56 | {% elif is_state("input_select.office_remote", "Watch TV") %} 57 | 33663475 58 | {% endif %} 59 | 60 | ########################################################## 61 | ## Sonos Text to Speech 62 | ########################################################## 63 | 64 | say: 65 | alias: Sonos TTS 66 | sequence: 67 | - service: media_player.sonos_snapshot 68 | data_template: 69 | with_group: yes 70 | - delay: '00:00:03' 71 | - service: media_player.sonos_unjoin 72 | data_template: 73 | entity_id: "{{ where }}" 74 | - delay: '00:00:01' 75 | - service: media_player.sonos_join 76 | data_template: 77 | master: "{{ master }}" 78 | entity_id: "{{ where }}" 79 | - delay: '00:00:01' 80 | - service: media_player.volume_set 81 | data_template: 82 | entity_id: "{{ where }}" 83 | volume_level: "{{ volume }}" 84 | - delay: '00:00:02' 85 | - service: tts.amazon_polly_say 86 | data_template: 87 | entity_id: "{{ master }}" 88 | message: "{{ what }}" 89 | - delay: '00:00:25' 90 | - service: media_player.sonos_restore 91 | data_template: 92 | with_group: yes 93 | -------------------------------------------------------------------------------- /automation/weather.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Weather Based Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Turn On First Floor Lights when Raining 7 | ########################################################## 8 | 9 | - alias: Weather - Rain First Floor Lights On 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: sensor.dark_sky_precip 14 | to: 'rain' 15 | 16 | condition: 17 | - condition: state 18 | entity_id: group.household 19 | state: 'home' 20 | - condition: time 21 | after: '09:00' 22 | - condition: state 23 | entity_id: sun.sun 24 | state: 'above_horizon' 25 | - condition: state 26 | entity_id: binary_sensor.main_floor_occupancy 27 | state: 'on' 28 | - condition: state 29 | entity_id: input_boolean.disable_rainy_day 30 | state: 'off' 31 | - condition: state 32 | entity_id: group.household 33 | state: 'home' 34 | - condition: state 35 | entity_id: light.living_room_lights 36 | state: 'off' 37 | - condition: state 38 | entity_id: light.dining_room_lights 39 | state: 'off' 40 | - condition: state 41 | entity_id: light.kitchen_lights 42 | state: 'off' 43 | 44 | action: 45 | - service: light.turn_on 46 | entity_id: 47 | - light.living_room_lights 48 | - light.hallway_light 49 | data: 50 | color_temp: 447 51 | brightness_pct: 50 52 | transition: 300 53 | - service: light.turn_on 54 | entity_id: 55 | - light.kitchen_cabinets 56 | - light.dining_room_table 57 | - light.kitchen_sink 58 | data: 59 | brightness_pct: 1 60 | - service: light.turn_on 61 | entity_id: 62 | - light.globe 63 | data: 64 | color_name: blue 65 | brightness_pct: 15 66 | transition: 60 67 | 68 | ########################################################## 69 | ## Turn On USER2 Office when Raining 70 | ########################################################## 71 | 72 | - alias: Weather - Rain USER2 Office Lights On 73 | 74 | trigger: 75 | - platform: state 76 | entity_id: sensor.dark_sky_precip 77 | to: 'rain' 78 | 79 | condition: 80 | - condition: state 81 | entity_id: binary_sensor.USER2_office_occupancy 82 | state: 'on' 83 | - condition: state 84 | entity_id: sun.sun 85 | state: 'above_horizon' 86 | - condition: state 87 | entity_id: input_boolean.disable_rainy_day 88 | state: 'off' 89 | - condition: state 90 | entity_id: device_tracker.USER2DEVICE 91 | state: 'home' 92 | - condition: state 93 | entity_id: group.household 94 | state: 'home' 95 | - condition: state 96 | entity_id: light.USER2_office_lights 97 | state: 'off' 98 | 99 | action: 100 | - service: light.turn_on 101 | entity_id: 102 | - light.USER2_office_lights 103 | data: 104 | transition: 300 105 | brightness_pct: 50 106 | - service: light.turn_on 107 | entity_id: 108 | - light.stairs 109 | data: 110 | transition: 10 111 | brightness_pct: 1 112 | -------------------------------------------------------------------------------- /automation/garage.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Garage Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Close Garage Door after 30 Mins 7 | ########################################################## 8 | 9 | - alias: Garage - Close After 30 Mins 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: cover.garage_door 14 | from: 'closed' 15 | to: 'open' 16 | for: 17 | hours: 0 18 | minutes: 30 19 | seconds: 0 20 | 21 | condition: 22 | - condition: state 23 | entity_id: input_boolean.disable_auto_garage 24 | state: 'off' 25 | 26 | action: 27 | - service: cover.close_cover 28 | entity_id: cover.garage_door 29 | 30 | ########################################################## 31 | ## Power Cycle MyQ if not Closed in 40 Mins 32 | ########################################################## 33 | 34 | - alias: Garage - Power Cycle MyQ if not Closed in 40 Mins 35 | 36 | trigger: 37 | - platform: state 38 | entity_id: cover.garage_door 39 | to: 'open' 40 | for: 41 | hours: 0 42 | minutes: 40 43 | seconds: 0 44 | 45 | condition: 46 | - condition: state 47 | entity_id: input_boolean.disable_auto_garage 48 | state: 'off' 49 | 50 | action: 51 | - service: switch.turn_off 52 | entity_id: 53 | - switch.myq_garage_outlet 54 | - delay: '00:00:30' 55 | - service: switch.turn_on 56 | entity_id: 57 | - switch.myq_garage_outlet 58 | - delay: '00:02:00' 59 | - service: cover.close_cover 60 | entity_id: cover.garage_door 61 | - delay: '00:00:30' 62 | - service: notify.ios_USER1s_iphone 63 | data: 64 | message: Garage Door Did not Close, Power Cycling MyQ 65 | data: 66 | push: 67 | category: camera 68 | entity_id: camera.garage_interior 69 | 70 | ########################################################## 71 | ## Garage Door Open on Demand (Echo Integration) 72 | ########################################################## 73 | 74 | - alias: Garage - Open on Demand 75 | 76 | trigger: 77 | - platform: state 78 | entity_id: input_boolean.garage_door 79 | to: 'on' 80 | 81 | condition: 82 | - condition: state 83 | entity_id: cover.garage_door 84 | state: 'closed' 85 | 86 | action: 87 | - service: cover.open_cover 88 | entity_id: cover.garage_door 89 | 90 | ########################################################## 91 | ## Garage Door Close on Demand (Echo Integration) 92 | ########################################################## 93 | 94 | - alias: Garage - Close on Demand 95 | 96 | trigger: 97 | - platform: state 98 | entity_id: input_boolean.garage_door 99 | to: 'off' 100 | 101 | condition: 102 | - condition: state 103 | entity_id: cover.garage_door 104 | state: 'open' 105 | 106 | action: 107 | - service: cover.close_cover 108 | entity_id: cover.garage_door 109 | 110 | ########################################################## 111 | ## Reset Dummy Garage Door Switch 112 | ########################################################## 113 | 114 | - alias: Garage - Reset Dummy Switch when Closed 115 | 116 | trigger: 117 | - platform: state 118 | entity_id: cover.garage_door 119 | from: 'open' 120 | to: 'closed' 121 | 122 | action: 123 | - service: homeassistant.turn_off 124 | entity_id: input_boolean.garage_door 125 | 126 | - alias: Turn on Garage Door when Open 127 | 128 | trigger: 129 | - platform: state 130 | entity_id: cover.garage_door 131 | from: 'closed' 132 | to: 'open' 133 | 134 | action: 135 | - service: homeassistant.turn_on 136 | entity_id: input_boolean.garage_door 137 | -------------------------------------------------------------------------------- /automation/security.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Security Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Door Alarm 7 | ########################################################## 8 | 9 | - alias: Security - Door Alarm 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: group.doors 14 | from: 'off' 15 | to: 'on' 16 | 17 | condition: 18 | - condition: state 19 | entity_id: group.household 20 | state: 'not_home' 21 | - condition: state 22 | entity_id: input_boolean.enable_security 23 | state: 'on' 24 | 25 | action: 26 | - service: homeassistant.turn_on 27 | entity_id: input_boolean.alarm_tripped 28 | - service: light.turn_on 29 | entity_id: 30 | - light.hue_lights 31 | data: 32 | brightness_pct: 100 33 | color_name: "red" 34 | - service: light.turn_on 35 | entity_id: 36 | - light.hue_lights_exterior 37 | - light.wink_lights 38 | - light.wink_exterior 39 | data: 40 | brightness_pct: 100 41 | - service: light.turn_on 42 | entity_id: 43 | - light.hue_lights 44 | data: 45 | flash: long 46 | - service: wink.enable_siren 47 | data: 48 | entity_id: wink.siren 49 | enabled: 'true' 50 | 51 | ########################################################## 52 | ## Panic Mode 53 | ########################################################## 54 | 55 | - alias: Security - Panic Mode 56 | 57 | trigger: 58 | - platform: state 59 | entity_id: input_boolean.panic_mode 60 | to: 'on' 61 | 62 | action: 63 | - service: homeassistant.turn_on 64 | entity_id: input_boolean.alarm_tripped 65 | - service: light.turn_on 66 | entity_id: 67 | - light.hue_lights 68 | data: 69 | brightness_pct: 100 70 | color_name: "red" 71 | - service: light.turn_on 72 | entity_id: 73 | - light.hue_lights_exterior 74 | - light.wink_lights 75 | - light.wink_exterior 76 | data: 77 | brightness_pct: 100 78 | - service: light.turn_on 79 | entity_id: 80 | - light.hue_lights 81 | data: 82 | flash: long 83 | - service: wink.enable_siren 84 | data: 85 | entity_id: wink.siren 86 | enabled: 'true' 87 | 88 | ########################################################## 89 | ## Shut Off Alarm Manually 90 | ########################################################## 91 | 92 | - alias: Security - Shut Off Alarm Manually 93 | 94 | trigger: 95 | - platform: state 96 | entity_id: input_boolean.alarm_tripped 97 | to: 'off' 98 | 99 | action: 100 | - service: wink.enable_siren 101 | data: 102 | entity_id: wink.siren 103 | enabled: 'false' 104 | 105 | ########################################################## 106 | ## Disable Alarm when Home 107 | ########################################################## 108 | 109 | - alias: Security - Disable Alarm when Home 110 | 111 | trigger: 112 | - platform: state 113 | entity_id: group.household 114 | from: 'not_home' 115 | to: 'home' 116 | 117 | action: 118 | - service: homeassistant.turn_off 119 | entity_id: input_boolean.enable_security 120 | 121 | ########################################################## 122 | ## Enable Alarm when Away 123 | ########################################################## 124 | 125 | - alias: Security - Enable Alarm when Away 126 | 127 | trigger: 128 | - platform: state 129 | entity_id: group.household 130 | from: 'home' 131 | to: 'not_home' 132 | for: 133 | hours: 0 134 | minutes: 10 135 | seconds: 0 136 | 137 | action: 138 | - service: homeassistant.turn_on 139 | entity_id: input_boolean.enable_security 140 | -------------------------------------------------------------------------------- /light_group.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Light Group 3 | ################################################################# 4 | 5 | - platform: group 6 | name: Living Room Lamps 7 | entities: 8 | - light.living_room_lamp_1 9 | - light.living_room_lamp_2 10 | 11 | - platform: group 12 | name: Living Room Lights 13 | entities: 14 | - light.living_room_lamps 15 | - light.media_center_lighting 16 | 17 | - platform: group 18 | name: Bedroom Closet Ceiling 19 | entities: 20 | - light.bedroom_closet_ceiling_1 21 | - light.bedroom_closet_ceiling_2 22 | 23 | - platform: group 24 | name: Bedroom Lights 25 | entities: 26 | - light.USER1s_nightstand 27 | - light.USER2s_nightstand 28 | - light.bedroom_lamp 29 | - light.closet_lamp 30 | - light.bedroom_closet_ceiling 31 | 32 | - platform: group 33 | name: Kitchen Lights 34 | entities: 35 | - light.kitchen_ceiling 36 | - light.kitchen_cabinets 37 | - light.kitchen_sink 38 | 39 | - platform: group 40 | name: Dining Room Lights 41 | entities: 42 | - light.dining_room_table 43 | - light.dining_room_ceiling 44 | 45 | - platform: group 46 | name: Interior 47 | entities: 48 | - light.hallway_light 49 | - light.stairs 50 | 51 | - platform: group 52 | name: USER1 Office Lights 53 | entities: 54 | - light.office_ceiling 55 | - light.office_lamp 56 | 57 | - platform: group 58 | name: USER2 Office Ceiling 59 | entities: 60 | - light.USER2s_office_ceiling_1 61 | - light.USER2s_office_ceiling_2 62 | 63 | - platform: group 64 | name: USER2 Office Lights 65 | entities: 66 | - light.USER2_office_ceiling 67 | 68 | - platform: group 69 | name: Guest Bedroom Lights 70 | entities: 71 | - light.guest_bedroom_lamp 72 | - light.guest_bedroom_nightstand 73 | 74 | - platform: group 75 | name: Stairs 76 | entities: 77 | - light.stairs_1 78 | - light.stairs_2 79 | - light.stairs_3 80 | 81 | - platform: group 82 | name: Basement Lights 83 | entities: 84 | - light.basement_light_1 85 | - light.basement_light_2 86 | - light.basement_light_3 87 | - light.basement_light_4 88 | 89 | - platform: group 90 | name: Basement Lighting 91 | entities: 92 | - light.basement_stairs 93 | - light.basement_lights 94 | 95 | - platform: group 96 | name: Front Porch 97 | entities: 98 | - light.front_porch_left 99 | - light.front_porch_right 100 | 101 | - platform: group 102 | name: Back Door 103 | entities: 104 | - light.back_door_left 105 | - light.back_door_right 106 | 107 | - platform: group 108 | name: Backyard Deck 109 | entities: 110 | - light.upper_patio_left 111 | - light.upper_patio_right 112 | 113 | - platform: group 114 | name: Hue lights 115 | entities: 116 | - light.USER1s_nightstand 117 | - light.basement_light_1 118 | - light.basement_light_2 119 | - light.basement_light_3 120 | - light.basement_light_4 121 | - light.basement_stairs 122 | - light.bedroom_lamp 123 | - light.closet_lamp 124 | - light.hallway_light 125 | - light.living_room_lamp_1 126 | - light.living_room_lamp_2 127 | - light.office_lamp 128 | - light.USER2s_nightstand 129 | - light.USER2s_office_ceiling_1 130 | - light.USER2s_office_ceiling_2 131 | - light.stairs_1 132 | - light.stairs_2 133 | - light.stairs_3 134 | - light.guest_bedroom_lamp 135 | - light.guest_bedroom_nightstand 136 | - light.media_center_lighting 137 | - light.bedroom_closet_ceiling_1 138 | - light.bedroom_closet_ceiling_2 139 | - light.globe 140 | 141 | - platform: group 142 | name: Hue Lights Exterior 143 | entities: 144 | - light.back_door_left 145 | - light.back_door_right 146 | - light.front_porch_left 147 | - light.front_porch_right 148 | - light.upper_patio_left 149 | - light.upper_patio_right 150 | - light.backyard_patio 151 | 152 | - platform: group 153 | name: Wink Lights 154 | entities: 155 | - light.dining_room_ceiling 156 | - light.dining_room_table 157 | - light.kitchen_cabinets 158 | - light.kitchen_ceiling 159 | - light.kitchen_sink 160 | - light.office_ceiling 161 | - light.bathroom_vanity 162 | 163 | - platform: group 164 | name: Wink Lights Exterior 165 | entities: 166 | - light.garage_light 167 | -------------------------------------------------------------------------------- /automation/water_sensors.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Water Sensor Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Send Notification for Water Detected Drain 7 | ########################################################## 8 | 9 | - alias: Water Sensor - Basement Water Sensor Text Notification 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected 14 | from: 'off' 15 | to: 'on' 16 | 17 | condition: 18 | - condition: state 19 | entity_id: input_boolean.disable_water_sensors 20 | state: 'off' 21 | 22 | action: 23 | - service: notify.ios_USER1s_iphone 24 | data: 25 | message: Water Detected in Basement! 26 | 27 | ########################################################## 28 | ## Send Notification for Water Detected Sump Pump 29 | ########################################################## 30 | 31 | - alias: Water Sensor - Sump Pump Water Sensor Send Notification 32 | 33 | trigger: 34 | - platform: state 35 | entity_id: binary_sensor.sump_pump_water_sensor_liquid_detected 36 | from: 'off' 37 | to: 'on' 38 | 39 | condition: 40 | - condition: state 41 | entity_id: input_boolean.disable_water_sensors 42 | state: 'off' 43 | 44 | action: 45 | - service: notify.ios_USER1s_iphone 46 | data: 47 | message: Water Detected in Sump Pump! 48 | 49 | ########################################################## 50 | ## Sound Alarm When Water Detected 51 | ########################################################## 52 | 53 | - alias: Water Sensor - Sound Alarm When Water Detected Siren 54 | 55 | trigger: 56 | - platform: state 57 | entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected 58 | from: 'off' 59 | to: 'on' 60 | 61 | condition: 62 | - condition: state 63 | entity_id: group.household 64 | state: 'home' 65 | - condition: state 66 | entity_id: input_boolean.disable_water_sensors 67 | state: 'off' 68 | 69 | action: 70 | - service: homeassistant.turn_on 71 | entity_id: input_boolean.alarm_tripped 72 | - service: wink.enable_siren 73 | data: 74 | entity_id: wink.siren 75 | enabled: 'true' 76 | 77 | ########################################################## 78 | ## Flash Lights when Water Detected 79 | ########################################################## 80 | 81 | - alias: Water Sensor - Sound Alarm When Water Detected Lights 82 | 83 | trigger: 84 | - platform: state 85 | entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected 86 | from: 'off' 87 | to: 'on' 88 | 89 | condition: 90 | - condition: state 91 | entity_id: group.household 92 | state: 'home' 93 | - condition: state 94 | entity_id: input_boolean.disable_water_sensors 95 | state: 'off' 96 | 97 | action: 98 | - service: light.turn_on 99 | entity_id: 100 | - light.hue_lights 101 | data: 102 | brightness_pct: 100 103 | color_name: "blue" 104 | - service: light.turn_on 105 | entity_id: 106 | - light.hue_lights 107 | data: 108 | flash: long 109 | 110 | ########################################################## 111 | ## Water Sensor Audio Notification 112 | ########################################################## 113 | 114 | - alias: Water Sensor - Basement Water Sensor 115 | 116 | trigger: 117 | - platform: state 118 | entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected 119 | from: 'off' 120 | to: 'on' 121 | 122 | condition: 123 | - condition: state 124 | entity_id: group.household 125 | state: 'home' 126 | - condition: state 127 | entity_id: input_boolean.disable_water_sensors 128 | state: 'off' 129 | 130 | action: 131 | - service: script.turn_on 132 | entity_id: script.say 133 | data: 134 | variables: 135 | master: 'media_player.sonos_living_room' 136 | where: 'media_player.sonos_media_center, media_player.sonos_living_room, media_player.sonos_dining_room, media_player.sonos_kitchen, media_player.sonos_bathroom, media_player.sonos_bedroom, media_player.sonos_USER1s_office, media_player.sonos_USER2s_office, media_player.sonos_basement' 137 | volume: '.9' 138 | what: 'Water Detected in Basement!' 139 | -------------------------------------------------------------------------------- /configuration.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Home Assistant 3 | ################################################################# 4 | 5 | homeassistant: 6 | name: Home 7 | latitude: REDACTED 8 | longitude: REDACTED 9 | elevation: REDACTED 10 | unit_system: imperial 11 | time_zone: America/Chicago 12 | customize: !include customize.yaml 13 | 14 | frontend: 15 | updater: 16 | reporting: no 17 | sun: 18 | conversation: 19 | discovery: 20 | ignore: 21 | - apple_tv 22 | - harmony 23 | - deconz 24 | - roku 25 | config: 26 | 27 | http: 28 | api_password: REDACTED 29 | ssl_certificate: /etc/letsencrypt/live/REDACTED/REDACTED 30 | ssl_key: /etc/letsencrypt/live/REDACTED/REDACTED 31 | base_url: REDACTED 32 | trusted_networks: 33 | - REDACTED.0/24 34 | - REDACTED.0/24 35 | ip_ban_enabled: true 36 | login_attempts_threshold: 3 37 | 38 | ################################################################# 39 | ## Components 40 | ################################################################# 41 | 42 | ecobee: 43 | api_key: REDACTED 44 | 45 | hue: 46 | bridges: 47 | - host: REDACTED.106 48 | allow_hue_groups: false 49 | allow_unreachable: true 50 | 51 | emulated_hue: 52 | host_ip: REDACTED.105 53 | listen_port: 8300 54 | off_maps_to_on_domains: 55 | - script 56 | - scene 57 | expose_by_default: false 58 | 59 | media_player: 60 | - platform: plex 61 | entity_namespace: 'plex' 62 | 63 | apple_tv: 64 | - name: Living Room Apple TV 65 | host: REDACTED.150 66 | login_id: REDACTED 67 | start_off: false 68 | - name: Guest Bedroom Apple TV 69 | host: REDACTED.153 70 | login_id: REDACTED 71 | start_off: false 72 | - name: Bedroom Apple TV 73 | host: REDACTED.152 74 | login_id: REDACTED 75 | start_off: false 76 | - name: USER1's Office Apple TV 77 | host: REDACTED.151 78 | login_id: REDACTED 79 | start_off: false 80 | 81 | remote: 82 | - platform: harmony 83 | name: Media Center 84 | host: REDACTED.109 85 | activity: Watch TV 86 | - platform: harmony 87 | name: Bedroom TV 88 | host: REDACTED.247 89 | activity: Watch TV 90 | - platform: harmony 91 | name: Office TV 92 | host: REDACTED.176 93 | activity: Watch TV 94 | 95 | ios: 96 | 97 | map: 98 | 99 | wemo: 100 | static: 101 | - REDACTED.111 102 | - REDACTED.112 103 | - REDACTED.113 104 | - REDACTED.115 105 | 106 | switch: 107 | - platform: tplink 108 | host: REDACTED.114 109 | name: MyQ Garage Outlet 110 | 111 | ifttt: 112 | key: REDACTED 113 | 114 | device_tracker: 115 | - platform: unifi 116 | username: REDACTED 117 | password: REDACTED 118 | host: REDACTED.3 119 | verify_ssl: false 120 | consider_home: 180 121 | new_device_defaults: 122 | track_new_devices: False 123 | hide_if_away: False 124 | - platform: locative 125 | 126 | cover: 127 | - platform: myq 128 | username: REDACTED 129 | password: REDACTED 130 | type: chamberlain 131 | - platform: wink 132 | entity_namespace: wink 133 | 134 | ring: 135 | username: REDACTED 136 | password: REDACTED 137 | 138 | binary_sensor: 139 | - platform: ring 140 | monitored_conditions: 141 | - ding 142 | - motion 143 | 144 | camera: 145 | - platform: uvc 146 | nvr: REDACTED.99 147 | key: REDACTED 148 | password: REDACTED 149 | - platform: foscam 150 | ip: REDACTED.107 151 | name: Garage Interior 152 | port: REDACTED 153 | username: REDACTED 154 | password: REDACTED 155 | - platform: generic 156 | still_image_url: https://icons.wxug.com/data/weather-maps/radar/united-states/jefferson-city-missouri-region-current-radar-animation.gif 157 | name: MO Weather Radar 158 | 159 | tts: 160 | - platform: amazon_polly 161 | aws_access_key_id: 'REDACTED' 162 | aws_secret_access_key: 'REDACTED' 163 | 164 | google: 165 | client_id: REDACTED 166 | client_secret: REDACTED 167 | track_new_calendar: true 168 | 169 | wink: 170 | 171 | vacuum: 172 | - platform: roomba 173 | host: REDACTED.228 174 | username: REDACTED 175 | password: REDACTED 176 | 177 | weather: 178 | - platform: darksky 179 | api_key: REDACTED 180 | 181 | ################################################################# 182 | ## Includes 183 | ################################################################# 184 | 185 | automation: !include_dir_merge_list automation 186 | recorder: !include recorder.yaml 187 | logbook: !include logbook.yaml 188 | history: !include history.yaml 189 | zone: !include zones.yaml 190 | group: !include groups.yaml 191 | scene: !include scenes.yaml 192 | sensor: !include sensors.yaml 193 | input_boolean: !include input_boolean.yaml 194 | input_select: !include input_select.yaml 195 | script: !include scripts.yaml 196 | weblink: !include weblinks.yaml 197 | light: !include light_group.yaml 198 | homekit: !include homekit.yaml 199 | -------------------------------------------------------------------------------- /input_boolean.yaml: -------------------------------------------------------------------------------- 1 | ############################################################## 2 | ## Input Boolean ## 3 | ############################################################## 4 | 5 | enable_security: 6 | name: Alarm Enabled 7 | icon: mdi:shield-outline 8 | 9 | disable_lock_unlock_doors: 10 | name: Disable Lock Automation 11 | icon: mdi:lock-plus 12 | 13 | disable_lights_morning: 14 | name: Disable Lights On in the Morning 15 | icon: mdi:theme-light-dark 16 | 17 | disable_occupancy: 18 | name: Disable Occupancy Automation 19 | icon: mdi:eye-off 20 | 21 | disable_interior_lights_sunset: 22 | name: Disable Interior Lights On at Sunset 23 | icon: mdi:weather-sunset-down 24 | 25 | disable_rainy_day: 26 | name: Disable Rainy Day Lighting 27 | icon: mdi:water-off 28 | 29 | disable_media_lights: 30 | name: Disable Media Lighting 31 | icon: mdi:filmstrip-off 32 | 33 | disable_exterior_off_night: 34 | name: Disable Exterior Lights Off at Night 35 | icon: mdi:weather-night 36 | 37 | disable_exterior_on_sunset: 38 | name: Disable Exterior Lights On at Sunset 39 | icon: mdi:weather-sunset-down 40 | 41 | disable_home_away: 42 | name: Disable Home / Away Mode 43 | icon: mdi:map-marker-off 44 | 45 | disable_door_open_lights_on: 46 | name: Disable Door Open Lights On 47 | icon: mdi:lightbulb-outline 48 | 49 | disable_voice_greeting: 50 | name: Disable Audio Notifications 51 | icon: mdi:speaker-off 52 | 53 | disable_doorbell: 54 | name: Disable Doorbell Automation 55 | icon: mdi:bell-off 56 | 57 | disable_auto_garage: 58 | name: Disable Garage Automation 59 | icon: mdi:car 60 | 61 | disable_portable_ac: 62 | name: Disable Office AC Automation 63 | icon: mdi:air-conditioner 64 | 65 | livingroom_rainbow: 66 | name: Living Room Random Color 67 | icon: mdi:power 68 | 69 | office_rainbow: 70 | name: Office Random Color 71 | icon: mdi:power 72 | 73 | front_porch_rainbow: 74 | name: Front Porch Random Color 75 | icon: mdi:power 76 | 77 | panic_mode: 78 | name: Panic Mode 79 | initial: off 80 | icon: mdi:shield-outline 81 | 82 | alarm_tripped: 83 | name: Alarm Tripped 84 | icon: mdi:shield-outline 85 | 86 | lock_doors: 87 | name: Lock All Doors 88 | initial: off 89 | icon: mdi:lock 90 | 91 | unlock_doors: 92 | name: Unlock All Doors 93 | initial: off 94 | icon: mdi:lock-open 95 | 96 | thermostat_away: 97 | name: Thermostat Away Mode 98 | icon: mdi:run 99 | 100 | vacation_mode: 101 | name: Vacation Mode 102 | icon: mdi:airplane 103 | 104 | USER2_away: 105 | name: USER2 Away 106 | icon: mdi:walk 107 | 108 | USER1_away: 109 | name: USER1 Away 110 | icon: mdi:walk 111 | 112 | bedtime: 113 | name: Bedtime 114 | initial: off 115 | icon: mdi:hotel 116 | 117 | USER1_away_driving: 118 | name: USER1 Away Driving 119 | icon: mdi:car 120 | 121 | USER2_away_driving: 122 | name: USER2 Away Driving 123 | icon: mdi:car 124 | 125 | garage_door: 126 | name: Garage Door 127 | 128 | USER2_home: 129 | name: Manually set USER2 Home 130 | initial: off 131 | icon: mdi:home-map-marker 132 | 133 | USER1_home: 134 | name: Manually set USER1 Home 135 | initial: off 136 | icon: mdi:home-map-marker 137 | 138 | manual_USER2_away: 139 | name: Manually set USER2 Away 140 | initial: off 141 | icon: mdi:map-marker-minus 142 | 143 | manual_USER1_away: 144 | name: Manually set USER1 Away 145 | initial: off 146 | icon: mdi:map-marker-minus 147 | 148 | interior_holiday: 149 | name: Interior Holiday Lighting 150 | icon: mdi:gift 151 | 152 | USER1_greeting: 153 | name: USER1 Greeting Enabled 154 | 155 | USER2_greeting: 156 | name: USER2 Greeting Enabled 157 | 158 | guest_mode: 159 | name: Guest Mode 160 | icon: mdi:human-male-female 161 | 162 | house_guest_away: 163 | name: House Guest Away 164 | icon: mdi:human-male-female 165 | 166 | USER2_working: 167 | name: USER2 Working 168 | 169 | disable_water_sensors: 170 | name: Disable Water Sensors 171 | icon: mdi:water-off 172 | 173 | watching_plex: 174 | name: Watching Plex 175 | 176 | pop_music: 177 | name: Play Pop Music 178 | icon: mdi:music 179 | 180 | classical_music: 181 | name: Play Classical Music 182 | icon: mdi:music 183 | 184 | jazz_music: 185 | name: Play Jazz Music 186 | icon: mdi:music 187 | 188 | chill_music: 189 | name: Play Chill Music 190 | icon: mdi:music 191 | 192 | electronic_music: 193 | name: Play Electronic Music 194 | icon: mdi:music 195 | 196 | adele_music: 197 | name: Play Adele Music 198 | icon: mdi:music 199 | 200 | group_all_sonos: 201 | name: Play on all Speakers 202 | icon: mdi:speaker 203 | 204 | bedroom_tv: 205 | name: Bedroom TV On 206 | 207 | office_tv: 208 | name: Office TV On 209 | 210 | portable_ac: 211 | name: Office Air Conditioner 212 | icon: mdi:air-conditioner 213 | -------------------------------------------------------------------------------- /automation/party.yaml: -------------------------------------------------------------------------------- 1 | ################################################################## 2 | ## Party Mode Automations 3 | ################################################################## 4 | 5 | ########################################################## 6 | ## Living Room Random Colors On 7 | ########################################################## 8 | 9 | - alias: Party - Set Living Room to Random Color On 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: input_boolean.livingroom_rainbow 14 | to: 'on' 15 | 16 | condition: 17 | - condition: state 18 | entity_id: input_boolean.livingroom_rainbow 19 | state: 'on' 20 | 21 | action: 22 | - service: light.turn_on 23 | entity_id: 24 | - light.living_room_lights 25 | - light.hallway_light 26 | - light.globe 27 | data: 28 | effect: colorloop 29 | transition: 30 30 | brightness_pct: 100 31 | 32 | ########################################################## 33 | ## Living Room Random Colors Off 34 | ########################################################## 35 | 36 | - alias: Party - Set Living Room to Random Color Off 37 | 38 | trigger: 39 | - platform: state 40 | entity_id: input_boolean.livingroom_rainbow 41 | to: 'off' 42 | 43 | condition: 44 | - condition: state 45 | entity_id: group.household 46 | state: 'home' 47 | - condition: state 48 | entity_id: input_boolean.bedtime 49 | state: 'off' 50 | - condition: state 51 | entity_id: light.living_room_lights 52 | state: 'on' 53 | 54 | action: 55 | - service: light.turn_on 56 | entity_id: 57 | - light.living_room_lamps 58 | - light.hallway_light 59 | data: 60 | transition: 60 61 | color_temp: 447 62 | brightness_pct: 100 63 | - service: light.turn_on 64 | entity_id: 65 | - light.hallway_light 66 | data: 67 | transition: 60 68 | color_temp: 447 69 | brightness_pct: 25 70 | - service: light.turn_on 71 | entity_id: light.media_center_lighting 72 | data: 73 | transition: 900 74 | effect: random 75 | brightness_pct: 100 76 | - service: light.turn_on 77 | entity_id: 78 | - light.globe 79 | data: 80 | transition: 60 81 | brightness_pct: 15 82 | 83 | ########################################################## 84 | ## Office Random Colors On 85 | ########################################################## 86 | 87 | - alias: Party - Set Office to Random Color On 88 | 89 | trigger: 90 | - platform: state 91 | entity_id: input_boolean.office_rainbow 92 | to: 'on' 93 | 94 | condition: 95 | - condition: state 96 | entity_id: input_boolean.office_rainbow 97 | state: 'on' 98 | 99 | action: 100 | - service: light.turn_on 101 | entity_id: light.office_lamp 102 | data: 103 | effect: colorloop 104 | transition: 30 105 | brightness_pct: 100 106 | 107 | ########################################################## 108 | ## Office Random Colors Off 109 | ########################################################## 110 | 111 | - alias: Party - Set Office Random Colors Off 112 | 113 | trigger: 114 | - platform: state 115 | entity_id: input_boolean.office_rainbow 116 | to: 'off' 117 | 118 | condition: 119 | - condition: state 120 | entity_id: group.household 121 | state: 'home' 122 | - condition: state 123 | entity_id: input_boolean.bedtime 124 | state: 'off' 125 | - condition: state 126 | entity_id: light.office_lamp 127 | state: 'on' 128 | 129 | action: 130 | - service: light.turn_on 131 | entity_id: 132 | - light.office_lamp 133 | data: 134 | transition: 60 135 | color_temp: 447 136 | brightness_pct: 100 137 | 138 | ########################################################## 139 | ## Front Porch Random Colors On 140 | ########################################################## 141 | 142 | - alias: Party - Set Front Porch to Random Color On 143 | 144 | trigger: 145 | - platform: state 146 | entity_id: input_boolean.front_porch_rainbow 147 | to: 'on' 148 | 149 | condition: 150 | - condition: state 151 | entity_id: input_boolean.front_porch_rainbow 152 | state: 'on' 153 | 154 | action: 155 | - service: light.turn_on 156 | entity_id: light.front_porch 157 | data: 158 | effect: colorloop 159 | transition: 30 160 | brightness_pct: 100 161 | 162 | ########################################################## 163 | ## Front Porch Random Colors Off 164 | ########################################################## 165 | 166 | - alias: Party - Set Front Porch Random Colors Off 167 | 168 | trigger: 169 | - platform: state 170 | entity_id: input_boolean.front_porch_rainbow 171 | to: 'off' 172 | 173 | condition: 174 | - condition: state 175 | entity_id: light.front_porch 176 | state: 'on' 177 | 178 | action: 179 | - service: light.turn_on 180 | entity_id: light.front_porch 181 | data: 182 | transition: 900 183 | brightness_pct: 40 184 | color_temp: 447 185 | -------------------------------------------------------------------------------- /automation/locks.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Door Lock Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Lock Front Door After 30 Mins 7 | ########################################################## 8 | 9 | - alias: Locks - Lock Front Door After 30 Mins 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: lock.front_door 14 | from: 'locked' 15 | to: 'unlocked' 16 | for: 17 | hours: 0 18 | minutes: 30 19 | seconds: 0 20 | 21 | condition: 22 | - condition: state 23 | entity_id: input_boolean.disable_lock_unlock_doors 24 | state: 'off' 25 | - condition: state 26 | entity_id: binary_sensor.front_door_opened 27 | state: 'off' 28 | - condition: state 29 | entity_id: lock.front_door 30 | state: 'unlocked' 31 | 32 | action: 33 | - service: lock.lock 34 | entity_id: lock.front_door 35 | 36 | ########################################################## 37 | ## Lock Back Door After 2 Hours 38 | ########################################################## 39 | 40 | - alias: Locks - Lock Back Door After 2 Hours 41 | 42 | trigger: 43 | - platform: state 44 | entity_id: lock.back_door 45 | from: 'locked' 46 | to: 'unlocked' 47 | for: 48 | hours: 2 49 | minutes: 0 50 | seconds: 0 51 | 52 | condition: 53 | - condition: state 54 | entity_id: input_boolean.disable_lock_unlock_doors 55 | state: 'off' 56 | - condition: state 57 | entity_id: binary_sensor.back_door_opened 58 | state: 'off' 59 | for: 60 | hours: 1 61 | minutes: 0 62 | seconds: 0 63 | - condition: state 64 | entity_id: lock.back_door 65 | state: 'unlocked' 66 | 67 | action: 68 | - service: lock.lock 69 | entity_id: lock.back_door 70 | 71 | ########################################################## 72 | ## Lock Basement Door After 45 Mins 73 | ########################################################## 74 | 75 | - alias: Locks - Lock Basement Door After 45 Mins 76 | 77 | trigger: 78 | - platform: state 79 | entity_id: lock.basement_door 80 | from: 'locked' 81 | to: 'unlocked' 82 | for: 83 | hours: 0 84 | minutes: 45 85 | seconds: 0 86 | 87 | condition: 88 | - condition: state 89 | entity_id: input_boolean.disable_lock_unlock_doors 90 | state: 'off' 91 | - condition: state 92 | entity_id: binary_sensor.basement_door_opened 93 | state: 'off' 94 | - condition: state 95 | entity_id: lock.basement_door 96 | state: 'unlocked' 97 | 98 | action: 99 | - service: lock.lock 100 | entity_id: lock.basement_door 101 | 102 | ########################################################## 103 | ## Lock Doors at 2a 104 | ########################################################## 105 | 106 | - alias: Locks - Lock Doors at 2a 107 | 108 | trigger: 109 | - platform: time 110 | at: '02:00' 111 | 112 | condition: 113 | - condition: state 114 | entity_id: input_boolean.disable_lock_unlock_doors 115 | state: 'off' 116 | - condition: state 117 | entity_id: group.doors 118 | state: 'off' 119 | 120 | action: 121 | - service: lock.lock 122 | entity_id: group.all_locks 123 | 124 | ########################################################## 125 | ## Lock Doors on Demand 126 | ########################################################## 127 | 128 | - alias: Locks - Lock Doors on Demand 129 | 130 | trigger: 131 | - platform: state 132 | entity_id: input_boolean.lock_doors 133 | to: 'on' 134 | 135 | action: 136 | service: lock.lock 137 | entity_id: group.all_locks 138 | 139 | ########################################################## 140 | ## Reset Door Lock Switch 141 | ########################################################## 142 | 143 | - alias: Locks - Reset Lock Doors Switch 144 | 145 | trigger: 146 | - platform: state 147 | entity_id: input_boolean.lock_doors 148 | from: 'off' 149 | to: 'on' 150 | for: 151 | hours: 0 152 | minutes: 0 153 | seconds: 60 154 | 155 | action: 156 | - service: homeassistant.turn_off 157 | entity_id: input_boolean.lock_doors 158 | 159 | ########################################################## 160 | ## Unlock Doors on Demand 161 | ########################################################## 162 | 163 | - alias: Locks - Unlock Doors on Demand 164 | 165 | trigger: 166 | - platform: state 167 | entity_id: input_boolean.unlock_doors 168 | to: 'on' 169 | 170 | action: 171 | service: lock.unlock 172 | entity_id: group.all_locks 173 | 174 | ########################################################## 175 | ## Reset Unlock Door Switch 176 | ########################################################## 177 | 178 | - alias: Locks - Reset Unlock Doors Switch 179 | 180 | trigger: 181 | - platform: state 182 | entity_id: input_boolean.unlock_doors 183 | from: 'off' 184 | to: 'on' 185 | for: 186 | hours: 0 187 | minutes: 0 188 | seconds: 60 189 | 190 | action: 191 | - service: homeassistant.turn_off 192 | entity_id: input_boolean.unlock_doors 193 | -------------------------------------------------------------------------------- /automation/vacation.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Vacation Mode Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Turn on Vacation Mode when Gone 24 Hours 7 | ########################################################## 8 | 9 | - alias: Vacation - Turn on when Gone 24 Hours 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: group.household 14 | to: 'not_home' 15 | for: 16 | hours: 24 17 | minutes: 0 18 | seconds: 0 19 | 20 | condition: 21 | - condition: state 22 | entity_id: input_boolean.disable_home_away 23 | state: 'off' 24 | 25 | action: 26 | - service: homeassistant.turn_on 27 | entity_id: input_boolean.vacation_mode 28 | 29 | ########################################################## 30 | ## Turn off Vacation Mode when Home 31 | ########################################################## 32 | 33 | - alias: Vacation - Turn off when Home 34 | 35 | trigger: 36 | - platform: state 37 | entity_id: group.household 38 | from: 'not_home' 39 | to: 'home' 40 | 41 | condition: 42 | - condition: state 43 | entity_id: input_boolean.disable_home_away 44 | state: 'off' 45 | 46 | action: 47 | - service: homeassistant.turn_off 48 | entity_id: input_boolean.vacation_mode 49 | 50 | ########################################################## 51 | ## Turn on Vacation Mode when on Vacation 52 | ########################################################## 53 | 54 | - alias: Vacation - Turn on when on Vacation 55 | 56 | trigger: 57 | - platform: state 58 | entity_id: device_tracker.USER1DEVICE 59 | from: 'not_home' 60 | to: 'vacation' 61 | 62 | condition: 63 | - condition: state 64 | entity_id: input_boolean.disable_home_away 65 | state: 'off' 66 | 67 | action: 68 | - service: homeassistant.turn_on 69 | entity_id: input_boolean.vacation_mode 70 | 71 | ########################################################## 72 | ## Turn on Vacation Mode when at the Lake 73 | ########################################################## 74 | 75 | - alias: Vacation - Turn on when at the Lake 76 | 77 | trigger: 78 | - platform: state 79 | entity_id: device_tracker.USER1DEVICE 80 | from: 'not_home' 81 | to: 'lake' 82 | 83 | condition: 84 | - condition: state 85 | entity_id: input_boolean.disable_home_away 86 | state: 'off' 87 | 88 | action: 89 | - service: homeassistant.turn_on 90 | entity_id: input_boolean.vacation_mode 91 | 92 | ########################################################## 93 | ## Turn off Vacation Mode when leaving the Lake 94 | ########################################################## 95 | 96 | - alias: Vacation - Turn off when leaving the Lake 97 | 98 | trigger: 99 | - platform: state 100 | entity_id: device_tracker.USER1DEVICE 101 | from: 'lake' 102 | to: 'not_home' 103 | 104 | condition: 105 | - condition: state 106 | entity_id: input_boolean.disable_home_away 107 | state: 'off' 108 | 109 | action: 110 | - service: homeassistant.turn_off 111 | entity_id: input_boolean.vacation_mode 112 | 113 | ########################################################## 114 | ## Vacation Mode Scene 115 | ########################################################## 116 | 117 | - alias: Vacation - Scene 118 | 119 | trigger: 120 | - platform: state 121 | entity_id: sun.sun 122 | from: 'above_horizon' 123 | to: 'below_horizon' 124 | 125 | condition: 126 | - condition: state 127 | entity_id: input_boolean.vacation_mode 128 | state: 'on' 129 | 130 | action: 131 | - service: scene.turn_on 132 | entity_id: scene.vacation 133 | 134 | ########################################################## 135 | ## Vacation Mode Lights off at Midnight 136 | ########################################################## 137 | 138 | - alias: Vacation - Lights Off Midnight 139 | 140 | trigger: 141 | - platform: time 142 | at: '00:12' 143 | 144 | condition: 145 | - condition: state 146 | entity_id: input_boolean.vacation_mode 147 | state: 'on' 148 | 149 | action: 150 | - service: light.turn_off 151 | entity_id: light.kitchen_sink, light.living_room_lamps 152 | 153 | ########################################################## 154 | ## Vacation Mode Lights off at 10p 155 | ########################################################## 156 | 157 | - alias: Vacation - Lights Off 10p 158 | 159 | trigger: 160 | - platform: time 161 | at: '22:07' 162 | 163 | condition: 164 | - condition: state 165 | entity_id: input_boolean.vacation_mode 166 | state: 'on' 167 | 168 | action: 169 | - service: light.turn_off 170 | entity_id: light.office_ceiling, light.bedroom_closet_ceiling 171 | 172 | ########################################################## 173 | ## Vacation Mode Disable Automations 174 | ########################################################## 175 | 176 | - alias: Vacation - Disable Automation 177 | 178 | trigger: 179 | - platform: state 180 | entity_id: input_boolean.vacation_mode 181 | from: 'off' 182 | to: 'on' 183 | 184 | action: 185 | - service: scene.turn_on 186 | entity_id: scene.vacation_disable_automation 187 | 188 | ########################################################## 189 | ## Vacation Mode Enable Automations 190 | ########################################################## 191 | 192 | - alias: Vacation - Enable Automation 193 | 194 | trigger: 195 | - platform: state 196 | entity_id: input_boolean.vacation_mode 197 | from: 'on' 198 | to: 'off' 199 | 200 | action: 201 | - service: scene.turn_on 202 | entity_id: scene.vacation_enable_automation 203 | -------------------------------------------------------------------------------- /tools/ha-mgmt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ################################################################# 4 | ## Home Assistant Managment Tool Old 5 | ################################################################# 6 | 7 | ########################################################## 8 | ## Variables 9 | ########################################################## 10 | 11 | hauser="HA_USER_ACCOUNT" 12 | habin="/usr/local/bin/hass" 13 | haconfigdir="/home/USER/.homeassistant" 14 | hahost="HOSTNAME/IP" 15 | localuser="LOCAL_USER_ACCOUNT" 16 | localhost="LOCAL_HOSTNAME/IP" 17 | localpath="PATH_TO_LOCAL_HA_CONFIGS" 18 | 19 | 20 | ########################################################## 21 | ## Execute 22 | ########################################################## 23 | 24 | answer=1 25 | while [ "$answer" = 1 ] 26 | do 27 | 28 | clear 29 | echo "This Script Will Modify Home Assistant" 30 | echo "Proceed with Caution!" 31 | echo "" 32 | echo "What would you like to do?" 33 | echo " " 34 | echo "1) Deploy Home Assistant Configs" 35 | echo "2) Restart Home Assistant - (sudo Required)" 36 | echo "3) Stop Home Assistant - (sudo Required)" 37 | echo "4) Start Home Assistant - (sudo Required)" 38 | echo "5) Upgrade Home Assistant - (sudo Required)" 39 | echo "6) Check Database Size - (sudo Required)" 40 | echo "7) Validate Home Assistant Config" 41 | echo "8) Backup Home Assistant" 42 | echo "9) Copy Configs to GitHub" 43 | echo "10) Renew SSL Certificate" 44 | echo "x) Exit" 45 | echo " " 46 | read action 47 | 48 | if [ "$action" != "1" -a "$action" != "2" -a "$action" != "3" -a "$action" != "4" -a "$action" != "5" -a "$action" != "6" -a "$action" != "7" -a "$action" != "8" -a "$action" != "9" -a "$action" != "10" -a "$action" != "x" ];then 49 | echo ":-(" 50 | echo "Error!" 51 | echo "Invalid Option Stupid" 52 | exit 53 | fi 54 | 55 | if [ "$action" == "1" ];then 56 | clear 57 | echo "Backing Up Home Assistant..." 58 | echo "Creating Tar File..." 59 | echo " " 60 | ssh -t $hauser@$hahost "mkdir /home/$hauser/temp; cd $haconfigdir; tar -czf /home/$hauser/temp/ha-backup-`date +"%m-%d-%Y-%H-%M"`.tar.gz *" 61 | echo " " 62 | echo "Moving Backup to Local Host" 63 | echo " " 64 | ssh -t $hauser@$hahost "scp /home/$hauser/temp/*.tar.gz $localuser@$localhost:$localpath/Backups" 65 | echo " " 66 | echo "Deploying Home Assistant Configs..." 67 | echo " " 68 | rsync -au --exclude=".*" --exclude ".*/" $localpath/Config/ $hauser@$hahost:/$haconfigdir 69 | echo " " 70 | echo "Validating Home Assistant Configs..." 71 | echo " " 72 | ssh -t $hauser@$hahost "$habin --script check_config" 73 | echo " " 74 | echo "Home Assistant Config Validation Complete" 75 | echo " " 76 | echo "Cleaning Up..." 77 | echo " " 78 | ssh -t $hauser@$hahost "rm -rf /home/$hauser/temp;" 79 | echo " " 80 | echo "Home Assistant Config Deployment Complete" 81 | fi 82 | 83 | if [ "$action" == "2" ];then 84 | clear 85 | echo "Restarting Home Assistant..." 86 | echo " " 87 | ssh -t $hauser@$hahost "sudo systemctl restart home-assistant@ha" 88 | echo " " 89 | echo "Home Assistant Restart Complete" 90 | echo " " 91 | fi 92 | 93 | if [ "$action" == "3" ];then 94 | clear 95 | echo "Stopping Home Assistant..." 96 | echo " " 97 | ssh -t $hauser@$hahost "sudo systemctl stop home-assistant@ha" 98 | echo " " 99 | echo "Home Assistant Stop Complete" 100 | echo " " 101 | fi 102 | 103 | if [ "$action" == "4" ];then 104 | clear 105 | echo "Starting Home Assistant..." 106 | echo " " 107 | ssh -t $hauser@$hahost "sudo systemctl start home-assistant@ha" 108 | echo " " 109 | echo "Home Assistant Start Complete" 110 | echo " " 111 | fi 112 | 113 | if [ "$action" == "5" ];then 114 | clear 115 | echo "Upgrading Home Assistant..." 116 | echo " " 117 | ssh -t $hauser@$hahost "sudo pip3 install --upgrade homeassistant" 118 | echo " " 119 | echo "Upgrade Complete" 120 | echo " " 121 | fi 122 | 123 | if [ "$action" == "6" ];then 124 | clear 125 | echo "Checking Size of Home Assistant Database..." 126 | echo " " 127 | ssh -t $hauser@$hahost "sudo du -sh /var/lib/mysql | cut -c -5" 128 | echo " " 129 | echo "Home Assistant Size Check Complete" 130 | echo " " 131 | fi 132 | 133 | if [ "$action" == "7" ];then 134 | clear 135 | echo "Validating Home Assistant Configs..." 136 | echo " " 137 | ssh -t $hauser@$hahost "$habin --script check_config" 138 | echo " " 139 | echo "Home Assistant Config Validation Complete" 140 | echo " " 141 | fi 142 | 143 | if [ "$action" == "8" ];then 144 | clear 145 | echo "Backing Up Home Assistant..." 146 | echo "Creating Tar File..." 147 | echo " " 148 | ssh -t $hauser@$hahost "mkdir /home/$hauser/temp; cd $haconfigdir; tar -czf /home/$hauser/temp/ha-backup-`date +"%m-%d-%Y-%H-%M"`.tar.gz *" 149 | echo " " 150 | echo "Moving Backup to Local Host" 151 | echo " " 152 | ssh -t $hauser@$hahost "scp /home/$hauser/temp/*.tar.gz $localuser@$localhost:$localpath/Backups" 153 | echo " " 154 | echo "Cleaning Up..." 155 | echo " " 156 | ssh -t $hauser@$hahost "rm -rf /home/$hauser/temp;" 157 | echo " " 158 | echo "Backup Complete" 159 | echo " " 160 | fi 161 | 162 | if [ "$action" == "9" ];then 163 | clear 164 | echo "Copy Files for GitHub Publishing" 165 | echo " " 166 | ./ha-github-scrub.sh 167 | echo " " 168 | echo "Files Copied to GitHub Directory" 169 | echo " " 170 | fi 171 | 172 | if [ "$action" == "10" ];then 173 | clear 174 | echo "Renewing SSL Certificate..." 175 | echo " " 176 | ssh -t $hauser@$hahost "./certbot/certbot-auto renew --quiet --no-self-upgrade --standalone \ 177 | --standalone-supported-challenges http-01" 178 | echo " " 179 | echo "Home Assistant SSL Ceretificate Renewal Complete" 180 | echo " " 181 | fi 182 | 183 | if [ "$action" == "x" ];then 184 | clear 185 | echo " " 186 | echo ":-(" 187 | echo "Exiting" 188 | echo " " 189 | exit 190 | fi 191 | 192 | echo " " 193 | echo "Do You Want to Perform Another Task?" 194 | echo " " 195 | echo "1) Yes" 196 | echo "2) No" 197 | echo " " 198 | read answer 199 | 200 | if [ "$answer" = 1 ] 201 | then "run script again" 202 | fi 203 | 204 | done 205 | 206 | clear 207 | echo " " 208 | echo ":-(" 209 | echo "Exiting" 210 | echo " " 211 | -------------------------------------------------------------------------------- /automation/doors.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Door Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Turn On Front Porch when Front Door Opens 7 | ########################################################## 8 | 9 | - alias: Doors - Turn on Front Porch when Front Opens 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: binary_sensor.front_door_opened 14 | from: 'off' 15 | to: 'on' 16 | 17 | condition: 18 | - condition: state 19 | entity_id: sun.sun 20 | state: 'below_horizon' 21 | - condition: state 22 | entity_id: input_boolean.disable_door_open_lights_on 23 | state: 'off' 24 | 25 | action: 26 | - service: light.turn_on 27 | entity_id: light.front_porch 28 | data: 29 | brightness_pct: 100 30 | 31 | ########################################################## 32 | ## Reset Front Door Brightness when Front Door Closes 33 | ########################################################## 34 | 35 | - alias: Doors - Reset Front Porch Brightness when Front Closes 36 | 37 | trigger: 38 | - platform: state 39 | entity_id: binary_sensor.front_door_opened 40 | from: 'on' 41 | to: 'off' 42 | for: 43 | hours: 0 44 | minutes: 5 45 | seconds: 0 46 | 47 | condition: 48 | - condition: state 49 | entity_id: sun.sun 50 | state: 'below_horizon' 51 | - condition: state 52 | entity_id: input_boolean.disable_door_open_lights_on 53 | state: 'off' 54 | - condition: state 55 | entity_id: group.household 56 | state: 'home' 57 | - condition: state 58 | entity_id: input_select.holiday 59 | state: 'None' 60 | 61 | action: 62 | - service: light.turn_on 63 | entity_id: light.front_porch 64 | data: 65 | brightness_pct: 40 66 | transition: 120 67 | 68 | ########################################################## 69 | ## Turn off Front Porch when Door Closes between 12-5a 70 | ########################################################## 71 | 72 | - alias: Doors - Turn off Front Porch when Front Closes between 12-5a 73 | 74 | trigger: 75 | - platform: state 76 | entity_id: binary_sensor.front_door_opened 77 | from: 'on' 78 | to: 'off' 79 | for: 80 | hours: 0 81 | minutes: 15 82 | seconds: 0 83 | 84 | condition: 85 | - condition: time 86 | after: '00:00' 87 | before: '05:00' 88 | - condition: state 89 | entity_id: input_boolean.disable_door_open_lights_on 90 | state: 'off' 91 | - condition: state 92 | entity_id: group.household 93 | state: 'home' 94 | - condition: state 95 | entity_id: input_select.holiday 96 | state: 'None' 97 | 98 | action: 99 | - service: light.turn_off 100 | entity_id: light.front_porch 101 | data: 102 | transition: 900 103 | 104 | ########################################################## 105 | ## Turn On Living Room when Front Door Opens 106 | ########################################################## 107 | 108 | - alias: Doors - Turn on Living Room when Front Opens 109 | 110 | trigger: 111 | - platform: state 112 | entity_id: binary_sensor.front_door_opened 113 | from: 'off' 114 | to: 'on' 115 | 116 | condition: 117 | - condition: state 118 | entity_id: sun.sun 119 | state: 'below_horizon' 120 | - condition: state 121 | entity_id: input_boolean.disable_door_open_lights_on 122 | state: 'off' 123 | 124 | action: 125 | - service: light.turn_on 126 | entity_id: light.living_room_lights 127 | data: 128 | color_temp: 447 129 | brightness_pct: 100 130 | 131 | ########################################################## 132 | ## Turn On Back Door when Door Opens 133 | ########################################################## 134 | 135 | - alias: Doors - Turn on Back Door when Back Opens 136 | 137 | trigger: 138 | - platform: state 139 | entity_id: binary_sensor.back_door_opened 140 | from: 'off' 141 | to: 'on' 142 | 143 | condition: 144 | - condition: state 145 | entity_id: sun.sun 146 | state: 'below_horizon' 147 | - condition: state 148 | entity_id: input_boolean.disable_door_open_lights_on 149 | state: 'off' 150 | 151 | action: 152 | - service: light.turn_on 153 | entity_id: light.back_door 154 | data: 155 | brightness_pct: 100 156 | 157 | ########################################################## 158 | ## Reset Back Door Brightness when Door Closes 159 | ########################################################## 160 | 161 | - alias: Doors - Reset Back Brightness when Door Closes 162 | 163 | trigger: 164 | - platform: state 165 | entity_id: binary_sensor.back_door_opened 166 | from: 'on' 167 | to: 'off' 168 | for: 169 | hours: 0 170 | minutes: 10 171 | seconds: 0 172 | 173 | condition: 174 | - condition: state 175 | entity_id: sun.sun 176 | state: 'below_horizon' 177 | - condition: state 178 | entity_id: input_boolean.disable_door_open_lights_on 179 | state: 'off' 180 | 181 | action: 182 | - service: light.turn_on 183 | entity_id: light.back_door 184 | data: 185 | brightness_pct: 1 186 | transition: 300 187 | 188 | ########################################################## 189 | ## Turn off Back Door when Door Closes between 12-5a 190 | ########################################################## 191 | 192 | - alias: Doors - Turn off Back when Door Closes between 12-5a 193 | 194 | trigger: 195 | - platform: state 196 | entity_id: binary_sensor.back_door_opened 197 | from: 'on' 198 | to: 'off' 199 | for: 200 | hours: 0 201 | minutes: 17 202 | seconds: 0 203 | 204 | condition: 205 | - condition: time 206 | after: '00:00' 207 | before: '05:00' 208 | - condition: state 209 | entity_id: input_boolean.disable_door_open_lights_on 210 | state: 'off' 211 | - condition: state 212 | entity_id: group.household 213 | state: 'home' 214 | - condition: state 215 | entity_id: group.friends_and_family 216 | state: 'not_home' 217 | 218 | action: 219 | - service: light.turn_off 220 | entity_id: light.back_door 221 | data: 222 | transition: 900 223 | -------------------------------------------------------------------------------- /sensors.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Sensors 3 | ################################################################# 4 | 5 | - platform: moon 6 | - platform: time_date 7 | display_options: 8 | - 'date_time' 9 | - platform: ring 10 | monitored_conditions: 11 | - battery 12 | - last_activity 13 | - last_ding 14 | - last_motion 15 | - volume 16 | - platform: qnap 17 | host: REDACTED.101 18 | port: 443 19 | username: REDACTED 20 | password: REDACTED 21 | ssl: true 22 | verify_ssl: false 23 | monitored_conditions: 24 | - status 25 | - memory_percent_used 26 | - system_temp 27 | - cpu_usage 28 | - cpu_temp 29 | - network_link_status 30 | - network_tx 31 | - network_rx 32 | - drive_temp 33 | - volume_size_free 34 | - volume_size_used 35 | - drive_smart_status 36 | - volume_percentage_used 37 | - platform: nut 38 | name: UPS 39 | host: REDACTED.101 40 | port: REDACTED 41 | alias: REDACTED 42 | username: REDACTED 43 | password: REDACTED 44 | resources: 45 | - ups.status.display 46 | - battery.charge 47 | - battery.runtime 48 | - ups.load 49 | - input.voltage 50 | - platform: darksky 51 | api_key: REDACTED 52 | monitored_conditions: 53 | - summary 54 | - minutely_summary 55 | - hourly_summary 56 | - daily_summary 57 | # - icon 58 | - nearest_storm_distance 59 | - nearest_storm_bearing 60 | - precip_type 61 | - precip_intensity 62 | - precip_probability 63 | - temperature 64 | - apparent_temperature 65 | - dew_point 66 | - wind_speed 67 | - wind_bearing 68 | - cloud_cover 69 | - humidity 70 | - pressure 71 | - visibility 72 | - ozone 73 | - platform: uptime 74 | unit_of_measurement: days 75 | - platform: plex 76 | name: REDACTED 77 | host: REDACTED 78 | port: REDACTED 79 | ssl: true 80 | username: REDACTED 81 | password: REDACTED 82 | server: REDACTED 83 | - platform: pi_hole 84 | host: REDACTED.4 85 | monitored_conditions: 86 | - ads_blocked_today 87 | - ads_percentage_today 88 | - dns_queries_today 89 | - platform: pi_hole 90 | host: REDACTED.5 91 | monitored_conditions: 92 | - ads_blocked_today 93 | - ads_percentage_today 94 | - dns_queries_today 95 | - platform: template 96 | sensors: 97 | ups_battery_runtime_mins: 98 | friendly_name: "UPS Battery Runtime" 99 | unit_of_measurement: 'minutes' 100 | value_template: "{{ states('sensor.ups_battery_runtime')|float / 60 }}" 101 | back_door_sensor_batt: 102 | value_template: '{{ states.binary_sensor.back_door_opened.attributes.battery_level }}' 103 | friendly_name: 'Back Door Sensor' 104 | unit_of_measurement: '%' 105 | device_class: battery 106 | basement_door_sensor_batt: 107 | value_template: '{{ states.binary_sensor.basement_door_opened.attributes.battery_level }}' 108 | friendly_name: 'Basement Door Sensor' 109 | unit_of_measurement: '%' 110 | device_class: battery 111 | front_door_sensor_batt: 112 | value_template: '{{ states.binary_sensor.front_door_opened.attributes.battery_level }}' 113 | friendly_name: 'Front Door Sensor' 114 | unit_of_measurement: '%' 115 | device_class: battery 116 | siren_batt: 117 | value_template: '{{ states.wink.siren.attributes.battery_level }}' 118 | friendly_name: 'Alarm Siren' 119 | unit_of_measurement: '%' 120 | device_class: battery 121 | front_door_lock_batt: 122 | value_template: '{{ states.lock.front_door.attributes.battery_level }}' 123 | friendly_name: 'Front Door Lock' 124 | unit_of_measurement: '%' 125 | device_class: battery 126 | back_door_lock_batt: 127 | value_template: '{{ states.lock.back_door.attributes.battery_level }}' 128 | friendly_name: 'Back Door Lock' 129 | device_class: battery 130 | unit_of_measurement: '%' 131 | basement_door_lock_batt: 132 | value_template: '{{ states.lock.basement_door.attributes.battery_level }}' 133 | friendly_name: 'Basement Door Lock' 134 | unit_of_measurement: '%' 135 | device_class: battery 136 | basement_drain_water_sensor_batt: 137 | value_template: '{{ states.binary_sensor.basement_drain_water_sensor_liquid_detected.attributes.battery_level }}' 138 | friendly_name: 'Basement Drain Water Sensor' 139 | unit_of_measurement: '%' 140 | device_class: battery 141 | sump_pump_water_sensor_batt: 142 | value_template: '{{ states.binary_sensor.sump_pump_water_sensor_liquid_detected.attributes.battery_level }}' 143 | friendly_name: 'Sump Pump Water Sensor' 144 | unit_of_measurement: '%' 145 | device_class: battery 146 | roomba_batt: 147 | value_template: '{{ states.vacuum.roomba.attributes.battery_level }}' 148 | friendly_name: 'Roomba' 149 | unit_of_measurement: '%' 150 | device_class: battery 151 | - platform: template 152 | sensors: 153 | media_center: 154 | value_template: '{{ states.remote.media_center.attributes.current_activity }}' 155 | friendly_name: 'Media Center' 156 | - platform: template 157 | sensors: 158 | USER2_work_offset: 159 | entity_id: sensor.date__time 160 | value_template: '{{ (as_timestamp(states.calendar.work.attributes.start_time) - as_timestamp(now()) ) }}' 161 | - platform: template 162 | sensors: 163 | holidays_calendar: 164 | friendly_name: 'Holiday' 165 | value_template: '{{ states.calendar.holidays_in_united_states.attributes.message }}' 166 | - platform: waze_travel_time 167 | name: USER2 To Home 168 | origin: device_tracker.USER2DEVICE 169 | destination: zone.home 170 | region: 'US' 171 | - platform: waze_travel_time 172 | name: USER1 To Home 173 | origin: device_tracker.USER1DEVICE 174 | destination: zone.home 175 | region: 'US' 176 | - platform: waze_travel_time 177 | name: USER2 To REDACTED 178 | origin: device_tracker.USER2DEVICE 179 | destination: zone.REDACTED 180 | region: 'US' 181 | - platform: waze_travel_time 182 | name: USER2 To REDACTED 183 | origin: device_tracker.USER2DEVICE 184 | destination: zone.REDACTED 185 | region: 'US' 186 | - platform: waze_travel_time 187 | name: USER2 To REDACTED 188 | origin: device_tracker.USER2DEVICE 189 | destination: zone.REDACTED 190 | region: 'US' 191 | -------------------------------------------------------------------------------- /tools/ha-mgmt-docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ################################################################# 4 | ## Home Assistant Managment Tool 5 | ################################################################# 6 | 7 | ########################################################## 8 | ## Variables 9 | ########################################################## 10 | 11 | hauser="DOCKER_USER_ACCOUNT" 12 | habin="/usr/local/bin/hass" 13 | haconfigdir="/HA/CONFIG/DIR" 14 | hahost="HOSTNAME/IP" 15 | localuser="LOCAL_USER_ACCOUNT" 16 | localhost="LOCAL_HOSTNAME/IP" 17 | localpath="PATH_TO_LOCAL_HA_CONFIGS" 18 | docker="/PATH/TO/DOCKER/bin" 19 | 20 | 21 | ########################################################## 22 | ## Execute 23 | ########################################################## 24 | 25 | answer=1 26 | while [ "$answer" = 1 ] 27 | do 28 | 29 | clear 30 | echo "This Script Will Modify Home Assistant" 31 | echo "Proceed with Caution!" 32 | echo "" 33 | echo "What would you like to do?" 34 | echo " " 35 | echo "1) Deploy Home Assistant Configs" 36 | echo "2) Restart Home Assistant" 37 | echo "3) Stop Home Assistant" 38 | echo "4) Start Home Assistant" 39 | echo "5) Upgrade Home Assistant" 40 | echo "6) Check Database Size" 41 | echo "7) Validate Home Assistant Config" 42 | echo "8) Backup Home Assistant" 43 | echo "9) Copy Configs to GitHub" 44 | echo "10) Renew SSL Certificate" 45 | echo "x) Exit" 46 | echo " " 47 | read action 48 | 49 | if [ "$action" != "1" -a "$action" != "2" -a "$action" != "3" -a "$action" != "4" -a "$action" != "5" -a "$action" != "6" -a "$action" != "7" -a "$action" != "8" -a "$action" != "9" -a "$action" != "10" -a "$action" != "x" ];then 50 | echo ":-(" 51 | echo "Error!" 52 | echo "Invalid Option Stupid" 53 | exit 54 | fi 55 | 56 | if [ "$action" == "1" ];then 57 | clear 58 | echo "Backing Up Home Assistant..." 59 | echo "Creating Tar File..." 60 | echo " " 61 | ssh -t $hauser@$hahost "mkdir $haconfigdir/temp; cd $haconfigdir/config; tar -czf $haconfigdir/temp/ha-backup-`date +"%m-%d-%Y-%H-%M"`.tar.gz *" 62 | echo " " 63 | echo "Moving Backup to Local Host" 64 | echo " " 65 | ssh -t $hauser@$hahost "scp $haconfigdir/temp/*.tar.gz $localuser@$localhost:$localpath/Backups" 66 | echo " " 67 | echo "Deploying Home Assistant Configs..." 68 | echo " " 69 | rsync -au --exclude=".*" --exclude ".*/" $localpath/Config/ $hauser@$hahost:/$haconfigdir/config 70 | echo " " 71 | echo "Cleaning Up..." 72 | echo " " 73 | ssh -t $hauser@$hahost "rm -rf $haconfigdir/temp;" 74 | echo " " 75 | echo "Home Assistant Config Deployment Complete" 76 | echo " " 77 | echo "Choose Option 7 to Validate Configs" 78 | echo " " 79 | fi 80 | 81 | if [ "$action" == "2" ];then 82 | clear 83 | echo "Restarting Home Assistant..." 84 | echo " " 85 | ssh -t $hauser@$hahost "$docker/docker restart homeassistant" 86 | echo " " 87 | echo "Home Assistant Restart Complete" 88 | echo " " 89 | fi 90 | 91 | if [ "$action" == "3" ];then 92 | clear 93 | echo "Stopping Home Assistant..." 94 | echo " " 95 | ssh -t $hauser@$hahost "$docker/docker stop homeassistant" 96 | echo " " 97 | echo "Home Assistant Stop Complete" 98 | echo " " 99 | fi 100 | 101 | if [ "$action" == "4" ];then 102 | clear 103 | echo "Starting Home Assistant..." 104 | echo " " 105 | ssh -t $hauser@$hahost "$docker/docker start homeassistant" 106 | echo " " 107 | echo "Home Assistant Start Complete" 108 | echo " " 109 | fi 110 | 111 | if [ "$action" == "5" ];then 112 | clear 113 | echo "Upgrading Home Assistant..." 114 | echo " " 115 | echo " " 116 | echo "Downloading Latest Docker Image" 117 | echo " " 118 | ssh -t $hauser@$hahost "$docker/docker pull homeassistant/home-assistant:latest" 119 | echo " " 120 | echo "Stopping Home Assistant Container" 121 | echo " " 122 | ssh -t $hauser@$hahost "$docker/docker stop homeassistant" 123 | echo " " 124 | echo "Deleting Home Assistant Container" 125 | echo " " 126 | ssh -t $hauser@$hahost "$docker/docker rm homeassistant" 127 | echo " " 128 | echo "Initializing Home Assistant Container" 129 | echo " " 130 | ssh -t $hauser@$hahost "$docker/docker run -d --name homeassistant --net=home-assistant-eth0 --mac-address=[DOCKERMACADDRESS] --dns=[DNSSERVER] -h homeassistant -v /CONTAINER/FOLDER/homeassistant/config:/config -v /CONTAINER/FOLDER/homeassistant/certs:/etc/letsencrypt -v /etc/localtime:/etc/localtime:ro --restart=always homeassistant/home-assistant" 131 | echo " " 132 | echo "Upgrade Complete" 133 | echo " " 134 | fi 135 | 136 | if [ "$action" == "6" ];then 137 | clear 138 | echo "Checkign Size of Home Assistant Databae..." 139 | echo " " 140 | ssh -t $hauser@$hahost "du -sh /share/Container/configs/mysql/data | cut -c -5" 141 | echo " " 142 | echo "Home Assistant Size Check Complete" 143 | echo " " 144 | fi 145 | 146 | if [ "$action" == "7" ];then 147 | clear 148 | echo "Validating Home Assistant Configs..." 149 | echo " " 150 | ssh -t $hauser@$hahost "$docker/docker run -it --rm -v /CONTAINER/FOLDER/homeassistant/config:/config -v /CONTAINER/FOLDER/homeassistant/certs:/etc/letsencrypt -v /etc/localtime:/etc/localtime:ro homeassistant/home-assistant python -m homeassistant --config /config --script check_config" 151 | echo " " 152 | echo "Home Assistant Config Validation Complete" 153 | echo " " 154 | fi 155 | 156 | if [ "$action" == "8" ];then 157 | clear 158 | echo "Backing Up Home Assistant..." 159 | echo "Creating Tar File..." 160 | echo " " 161 | ssh -t $hauser@$hahost "mkdir $haconfigdir/temp; cd $haconfigdir/config; tar -czf $haconfigdir/temp/ha-backup-`date +"%m-%d-%Y-%H-%M"`.tar.gz *" 162 | echo " " 163 | echo "Moving Backup to Local Host" 164 | echo " " 165 | ssh -t $hauser@$hahost "scp $haconfigdir/temp/*.tar.gz $localuser@$localhost:$localpath/Backups" 166 | echo " " 167 | echo "Cleaning Up..." 168 | echo " " 169 | ssh -t $hauser@$hahost "rm -rf $haconfigdir/temp;" 170 | echo " " 171 | echo "Backup Complete" 172 | echo " " 173 | fi 174 | 175 | if [ "$action" == "9" ];then 176 | clear 177 | echo "Copy Files for GitHub Publishing" 178 | echo " " 179 | $localpath/Scripts/ha-github-scrub.sh 180 | echo " " 181 | echo "Files Copied to GitHub Directory" 182 | echo " " 183 | fi 184 | 185 | if [ "$action" == "10" ];then 186 | clear 187 | echo "Renewing SSL Certificate..." 188 | echo " " 189 | ssh -t $hauser@$hahost "$docker/docker run -it --rm -p 80:80 --name certbot --net=certbot-eth0 --mac-address=[DOCKERMACADDRESS] -v "/CONTAINER/FOLDER/homeassistant/certs:/etc/letsencrypt" -v "/CONTAINER/FOLDER/homeassistant/certs/letsencrypt:/var/lib/letsencrypt" certbot/certbot certonly --standalone --preferred-challenges http-01 --email [EMAIL@EMAIL.COM] -d [DOMAIN.COM]" 190 | echo " " 191 | echo "Home Assistant SSL Ceretificate Renewal Complete" 192 | echo " " 193 | fi 194 | 195 | if [ "$action" == "x" ];then 196 | clear 197 | echo " " 198 | echo ":-(" 199 | echo "Exiting" 200 | echo " " 201 | exit 202 | fi 203 | 204 | echo " " 205 | echo "Do You Want to Perform Another Task?" 206 | echo " " 207 | echo "1) Yes" 208 | echo "2) No" 209 | echo " " 210 | read answer 211 | 212 | if [ "$answer" = 1 ] 213 | then "run script again" 214 | fi 215 | 216 | done 217 | 218 | clear 219 | echo " " 220 | echo ":-(" 221 | echo "Exiting" 222 | echo " " 223 | -------------------------------------------------------------------------------- /automation/house_guest.yaml: -------------------------------------------------------------------------------- 1 | ########################################################## 2 | ## House Guest Unlock Doors 3 | ########################################################## 4 | 5 | - alias: Guest - House Guest Unlock Doors 6 | 7 | trigger: 8 | - platform: state 9 | entity_id: group.house_guest 10 | from: 'not_home' 11 | to: 'home' 12 | 13 | condition: 14 | - condition: state 15 | entity_id: input_boolean.disable_home_away 16 | state: 'off' 17 | - condition: state 18 | entity_id: input_boolean.house_guest_away 19 | state: 'on' 20 | 21 | action: 22 | - service: lock.unlock 23 | entity_id: 24 | - lock.back_door 25 | - lock.front_door 26 | 27 | ########################################################## 28 | ## After Guest Home Lock Doors 29 | ######################################################## 30 | 31 | - alias: Guest - After Guest Home Lock Doors 32 | 33 | trigger: 34 | - platform: state 35 | entity_id: input_boolean.house_guest_away 36 | from: 'on' 37 | to: 'off' 38 | 39 | condition: 40 | - condition: state 41 | entity_id: input_boolean.disable_lock_unlock_doors 42 | state: 'off' 43 | - condition: state 44 | entity_id: binary_sensor.front_door_opened 45 | state: 'off' 46 | - condition: state 47 | entity_id: binary_sensor.back_door_opened 48 | state: 'off' 49 | 50 | action: 51 | - service: lock.lock 52 | entity_id: 53 | - lock.back_door 54 | - lock.front_door 55 | 56 | ########################################################## 57 | ## House Guest Home Turn on Lights 58 | ########################################################## 59 | 60 | - alias: Guest - House Guest Turn on Lights 61 | 62 | trigger: 63 | - platform: state 64 | entity_id: group.house_guest 65 | from: 'not_home' 66 | to: 'home' 67 | 68 | condition: 69 | - condition: state 70 | entity_id: sun.sun 71 | state: 'below_horizon' 72 | - condition: state 73 | entity_id: input_boolean.disable_home_away 74 | state: 'off' 75 | - condition: state 76 | entity_id: input_boolean.house_guest_away 77 | state: 'on' 78 | 79 | action: 80 | - service: light.turn_on 81 | entity_id: 82 | - light.kitchen_sink 83 | - light.living_room_lamps 84 | - light.hallway_light 85 | - light.dining_room_table 86 | - light.stairs 87 | - light.guest_bedroom_lights 88 | data: 89 | color_temp: 447 90 | brightness_pct: 50 91 | - service: light.turn_on 92 | entity_id: light.media_center_lighting 93 | data: 94 | transition: 5 95 | effect: random 96 | brightness_pct: 75 97 | - service: light.turn_on 98 | entity_id: light.kitchen_cabinets 99 | data: 100 | brightness_pct: 1 101 | - service: light.turn_on 102 | entity_id: 103 | - light.front_porch 104 | - light.back_door 105 | - light.garage_light 106 | data: 107 | brightness_pct: 100 108 | 109 | ########################################################## 110 | ## House Guest Home Reset Front Porch Brightness 111 | ########################################################## 112 | 113 | - alias: Guest - House Guest Reset Front Porch Brightness 114 | 115 | trigger: 116 | - platform: state 117 | entity_id: input_boolean.house_guest_away 118 | from: 'on' 119 | to: 'off' 120 | 121 | condition: 122 | - condition: state 123 | entity_id: sun.sun 124 | state: 'below_horizon' 125 | - condition: state 126 | entity_id: input_boolean.disable_home_away 127 | state: 'off' 128 | 129 | action: 130 | - service: light.turn_on 131 | entity_id: light.front_porch 132 | data: 133 | brightness_pct: 40 134 | transition: 60 135 | 136 | ########################################################## 137 | ## House Guest Home Reset Back Door Brightness 138 | ########################################################## 139 | 140 | - alias: Guest - House Guest Reset Back Door Brightness 141 | 142 | trigger: 143 | - platform: state 144 | entity_id: input_boolean.house_guest_away 145 | from: 'on' 146 | to: 'off' 147 | 148 | condition: 149 | - condition: state 150 | entity_id: sun.sun 151 | state: 'below_horizon' 152 | - condition: state 153 | entity_id: input_boolean.disable_home_away 154 | state: 'off' 155 | 156 | action: 157 | - service: light.turn_on 158 | entity_id: light.back_door 159 | data: 160 | brightness_pct: 1 161 | transition: 60 162 | 163 | ########################################################## 164 | ## Set House Guest Away after 5 Min 165 | ########################################################## 166 | 167 | - alias: Guest - Set House Guest Away after 5 Mins 168 | 169 | trigger: 170 | - platform: state 171 | entity_id: group.house_guest 172 | from: 'home' 173 | to: 'not_home' 174 | for: 175 | hours: 0 176 | minutes: 5 177 | seconds: 0 178 | 179 | action: 180 | - service: homeassistant.turn_on 181 | entity_id: input_boolean.house_guest_away 182 | 183 | ########################################################## 184 | ## Set House Guest after 10 Mins 185 | ########################################################## 186 | 187 | - alias: Guest - Set House Guest Home after 10 Mins 188 | 189 | trigger: 190 | - platform: state 191 | entity_id: group.house_guest 192 | from: 'not_home' 193 | to: 'home' 194 | for: 195 | hours: 0 196 | minutes: 10 197 | seconds: 0 198 | 199 | action: 200 | - service: homeassistant.turn_off 201 | entity_id: input_boolean.house_guest_away 202 | 203 | ################################################################# 204 | ## House Guest Has Arrived Notification 205 | ################################################################# 206 | 207 | - alias: Guest - House Guest Has Arrived Notification 208 | 209 | trigger: 210 | - platform: state 211 | entity_id: group.house_guest 212 | from: 'not_home' 213 | to: 'home' 214 | 215 | action: 216 | - service: notify.ios_USER1s_iphone 217 | data: 218 | message: House Guest has Arrived 219 | data: 220 | push: 221 | category: camera 222 | entity_id: camera.garage_camera 223 | 224 | ################################################################# 225 | ## House Guest Has Departed Notification 226 | ################################################################# 227 | 228 | - alias: Guest - House Guest Has Departed Notification 229 | 230 | trigger: 231 | - platform: state 232 | entity_id: group.house_guest 233 | from: 'home' 234 | to: 'not_home' 235 | 236 | action: 237 | - service: notify.ios_USER1s_iphone 238 | data: 239 | message: House Guest Has Departed 240 | data: 241 | push: 242 | category: camera 243 | entity_id: camera.garage_camera 244 | 245 | ########################################################## 246 | ## Enable Guest Mode Before Midnight 247 | ########################################################## 248 | 249 | - alias: Guest - Enable Guest Mode Before Midnight 250 | 251 | trigger: 252 | - platform: time 253 | at: '23:00' 254 | 255 | condition: 256 | - condition: state 257 | entity_id: group.household 258 | state: 'home' 259 | - condition: state 260 | entity_id: group.overnight_guests 261 | state: 'home' 262 | 263 | action: 264 | - service: homeassistant.turn_on 265 | entity_id: input_boolean.guest_mode 266 | 267 | ########################################################## 268 | ## Enable Guest Mode after Midnight 269 | ########################################################## 270 | 271 | - alias: Guest - Enable Guest Mode after Midnight 272 | 273 | trigger: 274 | - platform: state 275 | entity_id: group.overnight_guests 276 | from: 'not_home' 277 | to: 'home' 278 | 279 | condition: 280 | - condition: time 281 | after: '00:00' 282 | before: '06:00' 283 | - condition: state 284 | entity_id: group.household 285 | state: 'home' 286 | 287 | action: 288 | - service: homeassistant.turn_on 289 | entity_id: input_boolean.guest_mode 290 | 291 | ########################################################## 292 | ## Turn off Guest Mode During the Day 293 | ########################################################## 294 | 295 | - alias: Guest - Turn off Guest Mode During the Day 296 | 297 | trigger: 298 | - platform: time 299 | at: '10:00' 300 | 301 | action: 302 | - service: homeassistant.turn_off 303 | entity_id: input_boolean.guest_mode 304 | -------------------------------------------------------------------------------- /recorder.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Recorder 3 | ################################################################# 4 | 5 | purge_interval: 2 6 | purge_keep_days: 14 7 | db_url: mysql://REDACTED@REDACTED.101/REDACTED 8 | 9 | exclude: 10 | domains: 11 | - updater 12 | - weblink 13 | - camera 14 | - media_player 15 | - scene 16 | - script 17 | - calendar 18 | - sun 19 | entities: 20 | - binary_sensor.basement 21 | - binary_sensor.bathroom 22 | - binary_sensor.bedroom 23 | - binary_sensor.guest_bedroom 24 | - binary_sensor.kitchen 25 | - binary_sensor.laundry_room 26 | - binary_sensor.living_room 27 | - binary_sensor.office 28 | - binary_sensor.USER2_office 29 | - cover.wink_garage_door 30 | - cover.garage_door_2 31 | - cover.myq 32 | - group.USER1_office 33 | - group.alarm 34 | - group.all_automations 35 | - group.all_covers 36 | - group.all_devices 37 | - group.all_lights 38 | - group.all_remotes 39 | - group.all_scripts 40 | - group.all_switches 41 | - group.all_locks 42 | - group.all_vacuum_cleaners 43 | - group.automation 44 | - group.automation_on_demand 45 | - group.automation_override 46 | - group.basement 47 | - group.basements 48 | - group.bathroom 49 | - group.bathrooms 50 | - group.battery_levels 51 | - group.bedroom 52 | - group.bedrooms 53 | - group.cameras 54 | - group.default_view 55 | - group.device_location 56 | - group.dining 57 | - group.dining_room 58 | - group.door_locks 59 | - group.exterior_lights 60 | - group.garage 61 | - group.garage_outlets 62 | - group.guest_bedroom 63 | - group.hue_lights 64 | - group.hue_lights_exterior 65 | - group.wink_lights 66 | - group.wink_lights_exterior 67 | - light.hue_lights 68 | - light.hue_lights_exterior 69 | - group.indoor_temperature 70 | - group.interior 71 | - group.interior_lights 72 | - group.kitchen 73 | - group.lights 74 | - group.living 75 | - group.living_room 76 | - group.location_controls 77 | - group.media 78 | - group.media_player 79 | - group.offices 80 | - group.outdoors 81 | - group.overnight_guests 82 | - group.party_modes 83 | - group.remote 84 | - group.USER2_office 85 | - group.sensors 86 | - group.sonos 87 | - group.music 88 | - group.system 89 | - group.thermostat 90 | - group.traffic 91 | - group.auto 92 | - group.traffic_camera_feeds 93 | - group.travel_times 94 | - group.weather 95 | - group.humidity 96 | - group.weather_summary 97 | - group.weatherdashboard 98 | - light.wink_lights 99 | - light.wink_lights_exterior 100 | - group.calendar 101 | - group.holiday_modes 102 | - group.plex 103 | - group.nas 104 | - group.all_input_boolean 105 | - group.calendars 106 | - group.scenes 107 | - group.troubleshooting 108 | - group.occupancy 109 | - group.dns 110 | - group.climate_control 111 | - group.locks 112 | - group.door_codes 113 | - light.bathroom 114 | - light.dining_room 115 | - light.interior 116 | - light.kitchen 117 | - light.upstairs 118 | - sensor.USER1_to_home 119 | - sensor.basement_temperature_2 120 | - sensor.bathroom_temperature_2 121 | - sensor.bedroom_temperature_2 122 | - sensor.cpu 123 | - sensor.cpu_use 124 | - sensor.dark_sky_apparent_temperature 125 | - sensor.dark_sky_cloud_coverage 126 | - sensor.dark_sky_daily_summary 127 | - sensor.dark_sky_dew_point 128 | - sensor.dark_sky_hourly_summary 129 | - sensor.dark_sky_humidity 130 | - sensor.dark_sky_minutely_summary 131 | - sensor.dark_sky_nearest_storm_bearing 132 | - sensor.dark_sky_nearest_storm_distance 133 | - sensor.dark_sky_ozone 134 | - sensor.dark_sky_precip 135 | - sensor.dark_sky_precip_intensity 136 | - sensor.dark_sky_precip_probability 137 | - sensor.dark_sky_pressure 138 | - sensor.dark_sky_summary 139 | - sensor.dark_sky_temperature 140 | - sensor.dark_sky_visibility 141 | - sensor.dark_sky_wind_bearing 142 | - sensor.dark_sky_wind_speed 143 | - sensor.REDACTED 144 | - sensor.guest_bedroom_temperature_2 145 | - sensor.kitchen_temperature_2 146 | - sensor.laundry_room_temperature_2 147 | - sensor.living_room_temperature_2 148 | - sensor.office_temperature_2 149 | - sensor.ram_free 150 | - sensor.ram_use 151 | - sensor.USER2_office_temperature_2 152 | - sensor.USER2_to_home 153 | - sensor.USER2_to_REDACTED 154 | - sensor.USER2_to_REDACTED 155 | - sensor.USER2_to_REDACTED 156 | - sensor.since_last_boot 157 | - sensor.since_last_boot 158 | - switch.bottom_light_load 159 | - remote.media_center 160 | - group.friends_and_family 161 | - binary_sensor.philips_hue 162 | - binary_sensor.wink_hub 163 | - binary_sensor.wink_relay 164 | - sensor.USER1s_iphone_battery_level 165 | - sensor.USER2s_iphone_battery_level 166 | - sensor.USER1s_iphone_battery_state 167 | - sensor.USER2s_iphone_battery_state 168 | - binary_sensor.wink_relays_bottom_button 169 | - binary_sensor.wink_relays_top_button 170 | - binary_sensor.gang 171 | - sensor.wink_relay_sensor_proximity 172 | - sensor.wink_relay_sensor_temperature 173 | - binary_sensor.wink_relay_sensor_presence 174 | - sensor.holidays_calendar 175 | - sensor.date__time 176 | - sensor.USER2_work_offset 177 | - sensor.nas_used_space_storage 178 | - sensor.nas_used_space_backup 179 | - sensor.nas_free_space_storage 180 | - sensor.nas_free_space_backup 181 | - sensor.nas_network_up_eth0 182 | - sensor.nas_network_up_eth1 183 | - sensor.nas_network_down_eth0 184 | - sensor.nas_network_down_eth1 185 | - sensor.nas_network_down_eth2 186 | - sensor.nas_network_down_eth3 187 | - sensor.nas_network_link_eth0 188 | - sensor.nas_network_link_eth1 189 | - sensor.nas_network_link_eth2 190 | - sensor.nas_network_link_eth3 191 | - sensor.nas_network_up_eth2 192 | - sensor.nas_network_up_eth3 193 | - sensor.nas_cpu_usage 194 | - sensor.nas_memory_usage 195 | - sensor.nas_system_temperature 196 | - sensor.nas_cpu_temperature 197 | - sensor.nas_temperature_drive_01 198 | - sensor.nas_temperature_drive_02 199 | - sensor.nas_temperature_drive_03 200 | - sensor.nas_temperature_drive_04 201 | - sensor.pihole_ads_blocked_today 202 | - sensor.pihole_ads_blocked_today_2 203 | - sensor.pihole_ads_percentage_blocked_today 204 | - sensor.pihole_ads_percentage_blocked_today_2 205 | - sensor.pihole_dns_queries_cached 206 | - sensor.pihole_dns_queries_cached_2 207 | - sensor.pihole_dns_queries_forREDACTEDed 208 | - sensor.pihole_dns_queries_forREDACTEDed_2 209 | - sensor.pihole_dns_queries_today 210 | - sensor.pihole_dns_queries_today_2 211 | - sensor.pihole_dns_unique_clients 212 | - sensor.pihole_dns_unique_clients_2 213 | - sensor.pihole_dns_unique_domains 214 | - sensor.pihole_dns_unique_domains_2 215 | - sensor.pihole_domains_blocked 216 | - sensor.pihole_domains_blocked_2 217 | - binary_sensor.front_door_button_pressed 218 | - binary_sensor.front_door_motion 219 | - sensor.ring_downstairs_volume 220 | - sensor.ring_front_door_last_activity 221 | - sensor.ring_front_door_volume 222 | - sensor.ring_front_door_last_ding 223 | - sensor.ring_front_door_last_motion 224 | - persistent_notification.1 225 | - input_boolean.USER1_home 226 | - input_boolean.lock_doors 227 | - input_boolean.manual_USER1_away 228 | - input_boolean.manual_USER2_away 229 | - input_boolean.USER2_home 230 | - input_boolean.unlock_doors 231 | - input_boolean.pop_music 232 | - input_boolean.jazz_music 233 | - input_boolean.chill_music 234 | - input_boolean.electronic_music 235 | - input_boolean.classical_music 236 | - input_boolean.adele_music 237 | - input_boolean.group_all_sonos 238 | - input_boolean.bedroom_tv 239 | - input_select.sonos 240 | - remote.guest_bedroom_apple_tv 241 | - remote.living_room_apple_tv 242 | - remote.living_room 243 | - remote.bedroom_apple_tv 244 | - remote.USER1s_office_apple_tv 245 | - remote.office_apple_tv 246 | - remote.bedroom 247 | - remote.bedroom_tv 248 | - sensor.uptime 249 | - weather.main_floor 250 | - sensor.moon 251 | - device_tracker.USER1s_iphone 252 | - device_tracker.USER2s_iphone 253 | - device_tracker.REDACTEDiphone 254 | - device_tracker.REDACTED 255 | - device_tracker.REDACTED 256 | - device_tracker.REDACTED 257 | - device_tracker.REDACTED 258 | - device_tracker.REDACTEDiphone 259 | - device_tracker.REDACTED 260 | - device_tracker.REDACTED 261 | - weather.dark_sky 262 | - sensor.ups_battery_runtime 263 | -------------------------------------------------------------------------------- /automation/roomba.yaml: -------------------------------------------------------------------------------- 1 | ########################################################## 2 | ## Run Roomba when Away 3 | ########################################################## 4 | 5 | - alias: Roomba - Run Roomba when Away 6 | 7 | trigger: 8 | - platform: state 9 | entity_id: group.household 10 | from: 'home' 11 | to: 'not_home' 12 | for: 13 | hours: 0 14 | minutes: 15 15 | seconds: 0 16 | 17 | condition: 18 | - condition: state 19 | entity_id: input_boolean.disable_home_away 20 | state: 'off' 21 | - condition: time 22 | after: '10:01' 23 | before: '23:59' 24 | - condition: state 25 | entity_id: vacuum.roomba 26 | state: 'off' 27 | - condition: numeric_state 28 | entity_id: sensor.roomba_batt 29 | above: 99 30 | 31 | action: 32 | - service: vacuum.turn_on 33 | entity_id: 34 | - vacuum.roomba 35 | 36 | ########################################################## 37 | ## Shut Off Roomba when Home 38 | ########################################################## 39 | 40 | - alias: Roomba - Shut Off Roomba when Home 41 | 42 | trigger: 43 | - platform: state 44 | entity_id: group.household 45 | from: 'not_home' 46 | to: 'home' 47 | 48 | condition: 49 | - condition: state 50 | entity_id: input_boolean.disable_home_away 51 | state: 'off' 52 | - condition: state 53 | entity_id: vacuum.roomba 54 | state: 'on' 55 | 56 | action: 57 | - service: vacuum.return_to_base 58 | entity_id: 59 | - vacuum.roomba 60 | 61 | ########################################################## 62 | ## Run Roomba Weekdays 63 | ########################################################## 64 | 65 | - alias: Roomba - Run Roomba Weekdays 66 | 67 | trigger: 68 | - platform: time 69 | at: '10:00' 70 | 71 | condition: 72 | - condition: time 73 | weekday: 74 | - mon 75 | - tue 76 | - wed 77 | - thu 78 | - fri 79 | - condition: state 80 | entity_id: vacuum.roomba 81 | state: 'off' 82 | - condition: or 83 | conditions: 84 | - condition: state 85 | entity_id: device_tracker.USER2DEVICE 86 | state: 'not_home' 87 | - condition: state 88 | entity_id: device_tracker.USER2DEVICE 89 | state: 'work' 90 | 91 | action: 92 | - service: vacuum.turn_on 93 | entity_id: 94 | - vacuum.roomba 95 | 96 | ########################################################## 97 | ## Run Roomba Weekends 98 | ########################################################## 99 | 100 | - alias: Roomba - Run Roomba Weekends 101 | 102 | trigger: 103 | - platform: time 104 | at: '13:00' 105 | 106 | condition: 107 | - condition: time 108 | weekday: 109 | - sat 110 | - sun 111 | - condition: state 112 | entity_id: vacuum.roomba 113 | state: 'off' 114 | - condition: numeric_state 115 | entity_id: sensor.roomba_batt 116 | above: 99 117 | - condition: or 118 | conditions: 119 | - condition: state 120 | entity_id: device_tracker.USER2DEVICE 121 | state: 'not_home' 122 | - condition: state 123 | entity_id: device_tracker.USER2DEVICE 124 | state: 'work' 125 | 126 | action: 127 | - service: vacuum.turn_on 128 | entity_id: 129 | - vacuum.roomba 130 | 131 | ########################################################## 132 | ## Turn on low lights at night for Roomba 133 | ########################################################## 134 | 135 | - alias: Roomba - Turn on low lights at night for Roomba 136 | 137 | trigger: 138 | - platform: state 139 | entity_id: vacuum.roomba 140 | from: 'off' 141 | to: 'on' 142 | 143 | condition: 144 | - condition: state 145 | entity_id: group.household 146 | state: 'not_home' 147 | - condition: state 148 | entity_id: sun.sun 149 | state: 'below_horizon' 150 | 151 | action: 152 | - service: light.turn_on 153 | entity_id: 154 | - light.bedroom_lights 155 | - light.stairs 156 | - light.hallway_light 157 | - light.basement_stairs 158 | data: 159 | brightness_pct: 50 160 | color_temp: 447 161 | - service: light.turn_on 162 | entity_id: 163 | - light.living_room_lights 164 | data: 165 | brightness_pct: 50 166 | color_temp: 447 167 | - service: light.turn_on 168 | entity_id: 169 | - light.dining_room_table 170 | - light.bathroom_vanity 171 | - light.kitchen_sink 172 | - light.kitchen_cabinets 173 | data: 174 | brightness_pct: 25 175 | - service: homeassistant.turn_on 176 | entity_id: 177 | - input_boolean.disable_occupancy 178 | 179 | ########################################################## 180 | ## Turn off lights at night when Roomba finished 181 | ########################################################## 182 | 183 | - alias: Roomba - Turn off lights at night when Roomba finished 184 | 185 | trigger: 186 | - platform: state 187 | entity_id: vacuum.roomba 188 | from: 'on' 189 | to: 'off' 190 | 191 | condition: 192 | - condition: state 193 | entity_id: group.household 194 | state: 'not_home' 195 | - condition: state 196 | entity_id: sun.sun 197 | state: 'below_horizon' 198 | 199 | action: 200 | - service: light.turn_off 201 | entity_id: 202 | - group.interior_lights 203 | 204 | ########################################################## 205 | ## Enable Occupancy Automations when Roomba finished 206 | ########################################################## 207 | 208 | - alias: Roomba - Enable Occupancy Automations when Roomba finished 209 | 210 | trigger: 211 | - platform: state 212 | entity_id: vacuum.roomba 213 | from: 'on' 214 | to: 'off' 215 | 216 | action: 217 | - service: homeassistant.turn_off 218 | entity_id: 219 | - input_boolean.disable_occupancy 220 | 221 | 222 | ########################################################## 223 | ## Run Roomba when USER2 Leaves 224 | ########################################################## 225 | 226 | - alias: Roomba - Run Roomba when USER2 Leaves 227 | 228 | trigger: 229 | - platform: state 230 | entity_id: device_tracker.USER2DEVICE 231 | from: 'home' 232 | to: 'not_home' 233 | for: 234 | hours: 0 235 | minutes: 5 236 | seconds: 0 237 | 238 | condition: 239 | - condition: state 240 | entity_id: input_boolean.disable_home_away 241 | state: 'off' 242 | - condition: time 243 | after: '10:01' 244 | before: '17:00' 245 | - condition: state 246 | entity_id: vacuum.roomba 247 | state: 'off' 248 | - condition: numeric_state 249 | entity_id: sensor.roomba_batt 250 | above: 99 251 | - condition: state 252 | entity_id: input_boolean.USER1_away 253 | state: 'off' 254 | - condition: time 255 | weekday: 256 | - mon 257 | - tue 258 | - wed 259 | - thu 260 | - fri 261 | 262 | action: 263 | - service: vacuum.turn_on 264 | entity_id: 265 | - vacuum.roomba 266 | 267 | ########################################################## 268 | ## Turn off Roomba when USER2 Home 269 | ########################################################## 270 | 271 | - alias: Roomba - Turn off Roomba when USER2 Home 272 | 273 | trigger: 274 | - platform: state 275 | entity_id: device_tracker.USER2DEVICE 276 | from: 'not_home' 277 | to: 'home' 278 | for: 279 | hours: 0 280 | minutes: 0 281 | seconds: 45 282 | 283 | condition: 284 | - condition: state 285 | entity_id: input_boolean.disable_home_away 286 | state: 'off' 287 | - condition: time 288 | after: '10:01' 289 | before: '18:30' 290 | - condition: state 291 | entity_id: vacuum.roomba 292 | state: 'on' 293 | - condition: state 294 | entity_id: input_boolean.USER1_away 295 | state: 'off' 296 | - condition: state 297 | entity_id: input_boolean.USER2_away 298 | state: 'on' 299 | - condition: time 300 | weekday: 301 | - mon 302 | - tue 303 | - wed 304 | - thu 305 | - fri 306 | 307 | action: 308 | - service: vacuum.return_to_base 309 | entity_id: 310 | - vacuum.roomba 311 | 312 | ########################################################## 313 | ## Roomba is Stuck Notification 314 | ########################################################## 315 | 316 | - alias: Roomba - Stuck Notification 317 | 318 | trigger: 319 | - platform: template 320 | value_template: "{%if is_state_attr('vacuum.roomba', 'status', 'Stuck') %}true{%endif%}" 321 | 322 | action: 323 | - service: notify.ios_USER1s_iphone 324 | data: 325 | message: Roomba is Stuck, Please Help 326 | 327 | ########################################################## 328 | ## Roomba is Full Notification 329 | ########################################################## 330 | 331 | - alias: Roomba - Full Notification 332 | 333 | trigger: 334 | - platform: template 335 | value_template: "{%if is_state_attr('vacuum.roomba', 'bin_full', true) %}true{%endif%}" 336 | 337 | action: 338 | - service: notify.ios_USER1s_iphone 339 | data: 340 | message: Roomba is Full, Empty It 341 | -------------------------------------------------------------------------------- /automation/bedtime.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Bedtime Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Bedtime 7 | ########################################################## 8 | 9 | - alias: Bedtime 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: input_boolean.bedtime 14 | to: 'on' 15 | for: 16 | hours: 0 17 | minutes: 5 18 | seconds: 0 19 | 20 | condition: 21 | - condition: state 22 | entity_id: input_boolean.guest_mode 23 | state: 'off' 24 | 25 | action: 26 | - service: lock.lock 27 | entity_id: group.all_locks 28 | - service: light.turn_off 29 | entity_id: 30 | - group.interior_lights 31 | - light.globe 32 | - light.backyard_deck 33 | - service: switch.turn_off 34 | entity_id: 35 | - switch.air_purifier 36 | - switch.office_fan 37 | - switch.lower_backyard_lighting 38 | - switch.backyard_patio_lighting 39 | - switch.fireplace 40 | - service: cover.close_cover 41 | entity_id: cover.garage_door 42 | - service: homeassistant.turn_off 43 | entity_id: 44 | - input_boolean.interior_holiday 45 | - input_boolean.office_rainbow 46 | - input_boolean.livingroom_rainbow 47 | - input_boolean.front_porch_rainbow 48 | - input_boolean.pop_music 49 | - input_boolean.jazz_music 50 | - input_boolean.chill_music 51 | - input_boolean.electronic_music 52 | - input_boolean.classical_music 53 | - input_boolean.adele_music 54 | - input_boolean.group_all_sonos 55 | - service: input_select.select_option 56 | data: 57 | entity_id: input_select.remote 58 | option: "PowerOff" 59 | - service: input_select.select_option 60 | data: 61 | entity_id: input_select.sonos 62 | option: "None" 63 | - service: media_player.media_stop 64 | entity_id: 65 | - media_player.sonos_media_center 66 | - media_player.sonos_living_room 67 | - media_player.sonos_dining_room 68 | - media_player.sonos_kitchen 69 | - media_player.sonos_bathroom 70 | - media_player.sonos_bedroom 71 | - media_player.sonos_USER1s_office 72 | - media_player.sonos_USER2s_office 73 | - media_player.sonos_basement 74 | - media_player.sonos_backyard_patio 75 | - service: climate.set_operation_mode 76 | data: 77 | entity_id: climate.window_unit 78 | operation_mode: 'off' 79 | 80 | ########################################################## 81 | ## Bedtime Guest Mode 82 | ########################################################## 83 | 84 | - alias: Bedtime - Guest Mode 85 | 86 | trigger: 87 | - platform: state 88 | entity_id: input_boolean.bedtime 89 | to: 'on' 90 | for: 91 | hours: 0 92 | minutes: 5 93 | seconds: 0 94 | 95 | condition: 96 | - condition: state 97 | entity_id: input_boolean.guest_mode 98 | state: 'on' 99 | 100 | action: 101 | - service: lock.lock 102 | entity_id: group.all_locks 103 | - service: light.turn_off 104 | entity_id: 105 | - group.interior_lights 106 | - light.globe 107 | - light.backyard_deck 108 | - service: switch.turn_off 109 | entity_id: 110 | - switch.air_purifier 111 | - switch.lower_backyard_lighting 112 | - switch.backyard_patio_lighting 113 | - switch.fireplace 114 | - switch.office_fan 115 | - service: cover.close_cover 116 | entity_id: cover.garage_door 117 | - service: homeassistant.turn_off 118 | entity_id: 119 | - input_boolean.interior_holiday 120 | - input_boolean.office_rainbow 121 | - input_boolean.livingroom_rainbow 122 | - input_boolean.front_porch_rainbow 123 | - input_boolean.pop_music 124 | - input_boolean.jazz_music 125 | - input_boolean.chill_music 126 | - input_boolean.electronic_music 127 | - input_boolean.classical_music 128 | - input_boolean.adele_music 129 | - input_boolean.group_all_sonos 130 | - service: input_select.select_option 131 | data: 132 | entity_id: input_select.remote 133 | option: "PowerOff" 134 | - service: input_select.select_option 135 | data: 136 | entity_id: input_select.office_remote 137 | option: "PowerOff" 138 | - service: input_select.select_option 139 | data: 140 | entity_id: input_select.sonos 141 | option: "None" 142 | - service: media_player.media_stop 143 | entity_id: 144 | - media_player.sonos_media_center 145 | - media_player.sonos_living_room 146 | - media_player.sonos_dining_room 147 | - media_player.sonos_kitchen 148 | - media_player.sonos_bathroom 149 | - media_player.sonos_bedroom 150 | - media_player.sonos_USER1s_office 151 | - media_player.sonos_USER2s_office 152 | - media_player.sonos_basement 153 | - media_player.sonos_backyard_patio 154 | - service: climate.set_hold_mode 155 | data: 156 | entity_id: climate.main_floor 157 | hold_mode: "smart3" 158 | 159 | ########################################################## 160 | ## Bedtime Before 11:30p 161 | ########################################################## 162 | 163 | - alias: Bedtime - Before 11:30p 164 | 165 | trigger: 166 | - platform: state 167 | entity_id: input_boolean.bedtime 168 | to: 'on' 169 | for: 170 | hours: 0 171 | minutes: 4 172 | seconds: 0 173 | 174 | condition: 175 | - condition: state 176 | entity_id: input_boolean.guest_mode 177 | state: 'off' 178 | - condition: state 179 | entity_id: input_boolean.thermostat_away 180 | state: 'off' 181 | - condition: time 182 | after: '17:00' 183 | before: '23:30' 184 | 185 | action: 186 | - service: climate.set_hold_mode 187 | data: 188 | entity_id: climate.main_floor 189 | hold_mode: "sleep" 190 | 191 | ########################################################## 192 | ## Bedtime after Midnight 193 | ########################################################## 194 | 195 | - alias: Bedtime - After Midnight 196 | 197 | trigger: 198 | - platform: state 199 | entity_id: input_boolean.bedtime 200 | to: 'on' 201 | for: 202 | hours: 0 203 | minutes: 4 204 | seconds: 0 205 | 206 | condition: 207 | - condition: time 208 | after: '00:00' 209 | before: '06:00' 210 | - condition: state 211 | entity_id: input_select.holiday 212 | state: 'None' 213 | 214 | action: 215 | - service: light.turn_off 216 | entity_id: 217 | - light.front_porch 218 | - light.back_door 219 | - light.garage_light 220 | - light.backyard_deck 221 | - service: switch.turn_off 222 | entity_id: 223 | - switch.lower_backyard_lighting 224 | - switch.backyard_patio_lighting 225 | 226 | ########################################################## 227 | ## Bedtime after Midnight Holiday 228 | ########################################################## 229 | 230 | - alias: Bedtime - After Midnight Holiday 231 | 232 | trigger: 233 | - platform: state 234 | entity_id: input_boolean.bedtime 235 | to: 'on' 236 | for: 237 | hours: 0 238 | minutes: 4 239 | seconds: 0 240 | 241 | condition: 242 | - condition: time 243 | after: '00:00' 244 | before: '06:00' 245 | - condition: or 246 | conditions: 247 | - condition: state 248 | entity_id: input_select.holiday 249 | state: 'Halloween' 250 | - condition: state 251 | entity_id: input_select.holiday 252 | state: "St. Patrick's Day" 253 | - condition: state 254 | entity_id: input_select.holiday 255 | state: 'Easter' 256 | - condition: state 257 | entity_id: input_select.holiday 258 | state: "Valentine's Day" 259 | - condition: state 260 | entity_id: input_select.holiday 261 | state: 'Thanksgiving' 262 | - condition: state 263 | entity_id: input_select.holiday 264 | state: 'Labor Day' 265 | - condition: state 266 | entity_id: input_select.holiday 267 | state: 'Memorial Day' 268 | - condition: state 269 | entity_id: input_select.holiday 270 | state: 'Independence Day' 271 | - condition: state 272 | entity_id: input_select.holiday 273 | state: 'Veterans Day' 274 | - condition: state 275 | entity_id: input_select.holiday 276 | state: 'Christmas' 277 | 278 | action: 279 | - service: light.turn_off 280 | entity_id: 281 | - light.back_door 282 | - light.garage_light 283 | - service: switch.turn_off 284 | entity_id: 285 | - switch.lower_backyard_lighting 286 | - switch.backyard_patio_lighting 287 | 288 | ########################################################## 289 | ## Portable AC Bedtime 290 | ########################################################## 291 | 292 | - alias: Bedtime - Portable AC Bedtime 293 | 294 | trigger: 295 | - platform: state 296 | entity_id: input_boolean.bedtime 297 | to: 'on' 298 | for: 299 | hours: 0 300 | minutes: 4 301 | seconds: 0 302 | 303 | condition: 304 | - condition: state 305 | entity_id: input_boolean.guest_mode 306 | state: 'off' 307 | - condition: state 308 | entity_id: input_boolean.disable_portable_ac 309 | state: 'off' 310 | - condition: state 311 | entity_id: group.overnight_guests 312 | state: 'not_home' 313 | - condition: state 314 | entity_id: input_boolean.portable_ac 315 | state: 'on' 316 | 317 | action: 318 | - service: homeassistant.turn_off 319 | entity_id: input_boolean.portable_ac 320 | 321 | ########################################################## 322 | ## Reset Bedtime Switch 323 | ########################################################## 324 | 325 | - alias: Bedtime - Reset Switch 326 | 327 | trigger: 328 | - platform: state 329 | entity_id: input_boolean.bedtime 330 | from: 'off' 331 | to: 'on' 332 | for: 333 | hours: 0 334 | minutes: 6 335 | seconds: 0 336 | 337 | action: 338 | - service: homeassistant.turn_off 339 | entity_id: input_boolean.bedtime 340 | -------------------------------------------------------------------------------- /automation/notification_audio.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Audio Notification Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Alarm Audio Notification 7 | ########################################################## 8 | 9 | - alias: Notification Audio - Alarm Audio 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: input_boolean.alarm_tripped 14 | from: 'off' 15 | to: 'on' 16 | 17 | condition: 18 | - condition: state 19 | entity_id: group.household 20 | state: 'not_home' 21 | - condition: state 22 | entity_id: input_boolean.enable_security 23 | state: 'on' 24 | 25 | action: 26 | - service: script.turn_on 27 | entity_id: script.say 28 | data: 29 | variables: 30 | master: 'media_player.sonos_living_room' 31 | where: 'media_player.sonos_media_center, media_player.sonos_living_room, media_player.sonos_dining_room, media_player.sonos_kitchen, media_player.sonos_bathroom, media_player.sonos_bedroom, media_player.sonos_USER1s_office, media_player.sonos_USER2s_office, media_player.sonos_basement' 32 | volume: '1' 33 | what: 'You are not Authorized to be Here. Law Enforcement Has Been Notified!' 34 | 35 | ########################################################## 36 | ## Welcome Home USER1 Audio Greeting 37 | ########################################################## 38 | 39 | - alias: Notification Audio - Welcome Home USER1 40 | 41 | trigger: 42 | - platform: state 43 | entity_id: group.doors 44 | from: 'off' 45 | to: 'on' 46 | 47 | condition: 48 | - condition: state 49 | entity_id: device_tracker.USER1DEVICE 50 | state: 'home' 51 | - condition: state 52 | entity_id: input_boolean.USER1_greeting 53 | state: 'on' 54 | - condition: state 55 | entity_id: input_boolean.disable_voice_greeting 56 | state: 'off' 57 | - condition: time 58 | after: '09:00' 59 | before: '22:00' 60 | 61 | action: 62 | - delay: '00:00:04' 63 | - service: script.turn_on 64 | entity_id: script.say 65 | data: 66 | variables: 67 | master: 'media_player.sonos_living_room' 68 | where: 'media_player.sonos_living_room, media_player.sonos_dining_room, media_player.sonos_kitchen' 69 | volume: '0.5' 70 | what: 'Welcome home, USER1.' 71 | - delay: '00:02:00' 72 | - service: homeassistant.turn_off 73 | entity_id: input_boolean.USER1_greeting 74 | 75 | ########################################################## 76 | ## Notify USER2s Office that USER1 is Home 77 | ########################################################## 78 | 79 | - alias: Notification Audio - Notify USER2s Office that USER1 is Home 80 | 81 | trigger: 82 | - platform: state 83 | entity_id: group.doors 84 | from: 'off' 85 | to: 'on' 86 | 87 | condition: 88 | - condition: state 89 | entity_id: device_tracker.USER1DEVICE 90 | state: 'home' 91 | - condition: state 92 | entity_id: device_tracker.USER2DEVICE 93 | state: 'home' 94 | - condition: state 95 | entity_id: input_boolean.USER1_greeting 96 | state: 'on' 97 | - condition: state 98 | entity_id: input_boolean.USER2_greeting 99 | state: 'off' 100 | - condition: state 101 | entity_id: binary_sensor.USER2_office_occupancy 102 | state: 'on' 103 | - condition: state 104 | entity_id: input_boolean.disable_voice_greeting 105 | state: 'off' 106 | - condition: time 107 | after: '09:00' 108 | before: '22:00' 109 | 110 | action: 111 | - delay: '00:00:60' 112 | - service: script.turn_on 113 | entity_id: script.say 114 | data: 115 | variables: 116 | master: 'media_player.sonos_USER2s_office' 117 | where: 'media_player.sonos_USER2s_office' 118 | volume: '0.5' 119 | what: 'USER1, is Home.' 120 | 121 | ########################################################## 122 | ## Welcome Home USER2 Audio Greeting 123 | ########################################################## 124 | 125 | - alias: Notification Audio - Welcome Home USER2 126 | 127 | trigger: 128 | - platform: state 129 | entity_id: group.doors 130 | from: 'off' 131 | to: 'on' 132 | 133 | condition: 134 | - condition: state 135 | entity_id: device_tracker.USER2DEVICE 136 | state: 'home' 137 | - condition: state 138 | entity_id: input_boolean.USER2_greeting 139 | state: 'on' 140 | - condition: state 141 | entity_id: input_boolean.disable_voice_greeting 142 | state: 'off' 143 | - condition: time 144 | after: '09:00' 145 | before: '22:00' 146 | 147 | action: 148 | - delay: '00:00:04' 149 | - service: script.turn_on 150 | entity_id: script.say 151 | data: 152 | variables: 153 | master: 'media_player.sonos_living_room' 154 | where: 'media_player.sonos_living_room, media_player.sonos_dining_room, media_player.sonos_kitchen' 155 | volume: '0.5' 156 | what: 'Welcome home, USER2.' 157 | - delay: '00:02:00' 158 | - service: homeassistant.turn_off 159 | entity_id: input_boolean.USER2_greeting 160 | 161 | ########################################################## 162 | ## Notify USER1s Office that USER2 is Home 163 | ########################################################## 164 | 165 | - alias: Notification Audio - Notify USER1s Office that USER2 is Home 166 | 167 | trigger: 168 | - platform: state 169 | entity_id: group.doors 170 | from: 'off' 171 | to: 'on' 172 | 173 | condition: 174 | - condition: state 175 | entity_id: device_tracker.USER1DEVICE 176 | state: 'home' 177 | - condition: state 178 | entity_id: device_tracker.USER2DEVICE 179 | state: 'home' 180 | - condition: state 181 | entity_id: input_boolean.USER1_greeting 182 | state: 'off' 183 | - condition: state 184 | entity_id: input_boolean.USER2_greeting 185 | state: 'on' 186 | - condition: state 187 | entity_id: binary_sensor.office_occupancy 188 | state: 'on' 189 | - condition: state 190 | entity_id: input_boolean.disable_voice_greeting 191 | state: 'off' 192 | - condition: time 193 | after: '09:00' 194 | before: '22:00' 195 | 196 | action: 197 | - delay: '00:00:60' 198 | - service: script.turn_on 199 | entity_id: script.say 200 | data: 201 | variables: 202 | master: 'media_player.sonos_USER1s_office' 203 | where: 'media_player.sonos_USER1s_office' 204 | volume: '0.5' 205 | what: 'USER2, is Home' 206 | 207 | ########################################################## 208 | ## Welcome Home USER1 and USER2 Audio Greeting 209 | ########################################################## 210 | 211 | - alias: Notification Audio - Welcome Home USER1 and USER2 Audio Greeting 212 | 213 | trigger: 214 | - platform: state 215 | entity_id: group.doors 216 | from: 'off' 217 | to: 'on' 218 | 219 | condition: 220 | - condition: state 221 | entity_id: device_tracker.USER1DEVICE 222 | state: 'home' 223 | - condition: state 224 | entity_id: device_tracker.USER2DEVICE 225 | state: 'home' 226 | - condition: state 227 | entity_id: input_boolean.USER1_greeting 228 | state: 'on' 229 | - condition: state 230 | entity_id: input_boolean.USER2_greeting 231 | state: 'on' 232 | - condition: state 233 | entity_id: input_boolean.disable_voice_greeting 234 | state: 'off' 235 | - condition: time 236 | after: '09:00' 237 | before: '22:00' 238 | 239 | action: 240 | - delay: '00:00:03' 241 | - service: script.turn_on 242 | entity_id: script.say 243 | data: 244 | variables: 245 | master: 'media_player.sonos_living_room' 246 | where: 'media_player.sonos_living_room, media_player.sonos_dining_room, media_player.sonos_kitchen' 247 | volume: '0.5' 248 | what: 'Welcome Home, USER1 and USER2' 249 | - delay: '00:02:00' 250 | - service: homeassistant.turn_off 251 | entity_id: input_boolean.USER1_greeting, input_boolean.USER2_greeting 252 | 253 | ################################################################# 254 | ## USER2 Left Work Audio Notification 255 | ################################################################# 256 | 257 | - alias: Notification Audio - USER2 Left Work 258 | 259 | trigger: 260 | - platform: state 261 | entity_id: device_tracker.USER2DEVICE 262 | from: 'work' 263 | to: 'not_home' 264 | 265 | condition: 266 | - condition: state 267 | entity_id: device_tracker.USER1DEVICE 268 | state: 'home' 269 | - condition: state 270 | entity_id: device_tracker.USER2DEVICE 271 | state: 'not_home' 272 | - condition: state 273 | entity_id: input_boolean.USER2_away 274 | state: 'on' 275 | - condition: state 276 | entity_id: input_boolean.disable_voice_greeting 277 | state: 'off' 278 | - condition: time 279 | after: '09:00' 280 | before: '22:00' 281 | 282 | action: 283 | - service: media_player.sonos_snapshot 284 | data: 285 | with_group: yes 286 | - delay: '00:00:03' 287 | - service: media_player.sonos_unjoin 288 | entity_id: 289 | - media_player.sonos_living_room 290 | - media_player.sonos_dining_room 291 | - media_player.sonos_kitchen 292 | - media_player.sonos_bathroom 293 | - media_player.sonos_USER1s_office 294 | - delay: '00:00:01' 295 | - service: media_player.sonos_join 296 | data: 297 | master: media_player.sonos_USER1s_office 298 | entity_id: 299 | - media_player.sonos_living_room 300 | - media_player.sonos_dining_room 301 | - media_player.sonos_kitchen 302 | - media_player.sonos_bathroom 303 | - media_player.sonos_bedroom 304 | - media_player.sonos_USER1s_office 305 | - delay: '00:00:01' 306 | - service: media_player.volume_set 307 | entity_id: 308 | - media_player.sonos_living_room 309 | - media_player.sonos_dining_room 310 | - media_player.sonos_kitchen 311 | - media_player.sonos_bathroom 312 | - media_player.sonos_bedroom 313 | - media_player.sonos_USER1s_office 314 | data: 315 | volume_level: '0.6' 316 | - delay: '00:00:02' 317 | - service: tts.amazon_polly_say 318 | data_template: 319 | entity_id: media_player.sonos_USER1s_office 320 | message: "USER2 has left work, and will arrive Home in about, {{states('sensor.USER2_to_home')}} minutes" 321 | - delay: '00:00:25' 322 | - service: media_player.sonos_restore 323 | data: 324 | with_group: yes 325 | -------------------------------------------------------------------------------- /automation/notification_text.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Text Notification Automations 3 | ################################################################# 4 | 5 | ################################################################# 6 | ## Alarm Notifications 7 | ################################################################# 8 | 9 | - alias: Notification Text - Security 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: input_boolean.alarm_tripped 14 | from: 'off' 15 | to: 'on' 16 | 17 | action: 18 | - service: persistent_notification.create 19 | data: 20 | message: "Alarm Has Been Tripped!" 21 | title: "Alarm" 22 | notification_id: "1" 23 | 24 | 25 | - alias: Notification Text - Alarm 26 | 27 | trigger: 28 | - platform: state 29 | entity_id: input_boolean.alarm_tripped 30 | from: 'off' 31 | to: 'on' 32 | 33 | action: 34 | - service: notify.ios_USER1s_iphone 35 | data: 36 | message: Alarm Has Been Tripped! 37 | data: 38 | push: 39 | category: camera 40 | entity_id: camera.garage 41 | - service: notify.ios_USER2s_iphone 42 | data: 43 | message: Alarm Has Been Tripped! 44 | data: 45 | push: 46 | category: camera 47 | entity_id: camera.garage 48 | 49 | ################################################################# 50 | ## Alarm Enabled Notification 51 | ################################################################# 52 | 53 | - alias: Notification Text - Alarm Enabled Notification 54 | 55 | trigger: 56 | - platform: state 57 | entity_id: input_boolean.enable_security 58 | from: 'off' 59 | to: 'on' 60 | 61 | action: 62 | - service: notify.ios_USER1s_iphone 63 | data: 64 | message: Alarm is ON 65 | - service: notify.ios_USER2s_iphone 66 | data: 67 | message: Alarm is ON 68 | 69 | ################################################################# 70 | ## Alarm Disabled Notification 71 | ################################################################# 72 | 73 | - alias: Notification Text - Alarm Disabled Notification 74 | 75 | trigger: 76 | - platform: state 77 | entity_id: input_boolean.enable_security 78 | from: 'on' 79 | to: 'off' 80 | 81 | action: 82 | - service: notify.ios_USER1s_iphone 83 | data: 84 | message: Alarm is OFF 85 | - service: notify.ios_USER2s_iphone 86 | data: 87 | message: Alarm is OFF 88 | 89 | ################################################################# 90 | ## USER1 Home Notification 91 | ################################################################# 92 | 93 | - alias: Notification Text - USER1 Home 94 | 95 | trigger: 96 | - platform: state 97 | entity_id: device_tracker.USER1DEVICE 98 | from: 'not_home' 99 | to: 'home' 100 | 101 | condition: 102 | - condition: state 103 | entity_id: input_boolean.USER1_away 104 | state: 'on' 105 | 106 | action: 107 | - service: notify.ios_USER1s_iphone 108 | data: 109 | message: USER1 Home 110 | data: 111 | push: 112 | category: camera 113 | entity_id: camera.garage 114 | - service: notify.ios_USER2s_iphone 115 | data: 116 | message: USER1 Home 117 | data: 118 | push: 119 | category: camera 120 | entity_id: camera.garage 121 | 122 | 123 | ################################################################# 124 | ## USER1 Away Notification 125 | ################################################################# 126 | 127 | - alias: Notification Text - USER1 Away 128 | 129 | trigger: 130 | - platform: state 131 | entity_id: device_tracker.USER1DEVICE 132 | from: 'home' 133 | to: 'not_home' 134 | 135 | action: 136 | - service: notify.ios_USER1s_iphone 137 | data: 138 | message: USER1 Away 139 | 140 | ################################################################# 141 | ## USER2 Home Notification 142 | ################################################################# 143 | 144 | - alias: Notification Text - USER2 Home 145 | 146 | trigger: 147 | - platform: state 148 | entity_id: device_tracker.USER2DEVICE 149 | from: 'not_home' 150 | to: 'home' 151 | 152 | condition: 153 | - condition: state 154 | entity_id: input_boolean.USER2_away 155 | state: 'on' 156 | 157 | action: 158 | - service: notify.ios_USER1s_iphone 159 | data: 160 | message: USER2 Home 161 | data: 162 | push: 163 | category: camera 164 | entity_id: camera.garage 165 | 166 | 167 | ################################################################# 168 | ## USER2 Away Notification 169 | ################################################################# 170 | 171 | - alias: Notification Text - USER2 Away 172 | 173 | trigger: 174 | - platform: state 175 | entity_id: device_tracker.USER2DEVICE 176 | from: 'home' 177 | to: 'not_home' 178 | 179 | action: 180 | - service: notify.ios_USER1s_iphone 181 | data: 182 | message: USER2 Away 183 | 184 | ################################################################# 185 | ## USER2 Left Work Notification 186 | ################################################################# 187 | 188 | - alias: Notification Text - USER2 Left Work 189 | 190 | trigger: 191 | - platform: state 192 | entity_id: device_tracker.USER2DEVICE 193 | from: 'work' 194 | to: 'not_home' 195 | 196 | action: 197 | - service: notify.ios_USER1s_iphone 198 | data: 199 | message: USER2 has left Work 200 | 201 | ################################################################# 202 | ## Motion Alarm Notification 203 | ################################################################# 204 | 205 | - alias: Notification Text - Motion Based Alarm 206 | 207 | trigger: 208 | - platform: state 209 | entity_id: group.occupancy 210 | from: 'off' 211 | to: 'on' 212 | 213 | condition: 214 | - condition: state 215 | entity_id: group.household 216 | state: 'not_home' 217 | 218 | action: 219 | - service: notify.ios_USER1s_iphone 220 | data: 221 | message: Motion Detected Alarm! 222 | data: 223 | push: 224 | category: camera 225 | entity_id: camera.garage 226 | - service: notify.ios_USER2s_iphone 227 | data: 228 | message: Motion Detected Alarm! 229 | data: 230 | push: 231 | category: camera 232 | entity_id: camera.garage 233 | 234 | 235 | ################################################################# 236 | ## Door Alarm Notification 237 | ################################################################# 238 | 239 | - alias: Notification Text - Door Open Alarm 240 | 241 | trigger: 242 | - platform: state 243 | entity_id: group.doors 244 | from: 'off' 245 | to: 'on' 246 | 247 | condition: 248 | - condition: state 249 | entity_id: group.household 250 | state: 'not_home' 251 | 252 | action: 253 | - service: notify.ios_USER1s_iphone 254 | data: 255 | message: Door Opened Alarm! 256 | data: 257 | push: 258 | category: camera 259 | entity_id: camera.garage 260 | - service: notify.ios_USER2s_iphone 261 | data: 262 | message: Door Opened Alarm! 263 | data: 264 | push: 265 | category: camera 266 | entity_id: camera.garage 267 | 268 | ################################################################# 269 | ## Fireplace Alarm Notification 270 | ################################################################# 271 | 272 | - alias: Notification Text - Fireplace On when Nobody Home 273 | 274 | trigger: 275 | - platform: state 276 | entity_id: switch.fireplace 277 | from: 'off' 278 | to: 'on' 279 | 280 | condition: 281 | - condition: state 282 | entity_id: group.household 283 | state: 'not_home' 284 | 285 | action: 286 | - service: notify.ios_USER1s_iphone 287 | data: 288 | message: Fireplace Turned On! 289 | 290 | ################################################################# 291 | ## Garage Door Still Open Notification 292 | ################################################################# 293 | 294 | - alias: Notification Text - Garage Door Still Open 295 | 296 | trigger: 297 | - platform: state 298 | entity_id: cover.garage_door 299 | from: 'closed' 300 | to: 'open' 301 | for: 302 | hours: 0 303 | minutes: 35 304 | seconds: 0 305 | 306 | action: 307 | - service: notify.ios_USER1s_iphone 308 | data: 309 | message: Garage Door is Still Open! 310 | data: 311 | push: 312 | category: camera 313 | entity_id: camera.garage_interior 314 | - service: notify.ios_USER2s_iphone 315 | data: 316 | message: Garage Door is Still Open! 317 | data: 318 | push: 319 | category: camera 320 | entity_id: camera.garage_interior 321 | 322 | ################################################################# 323 | ## Weather Lookup Failing 324 | ################################################################# 325 | 326 | - alias: Notification Text - Weather Lookup Failing 327 | 328 | trigger: 329 | - platform: state 330 | entity_id: sensor.dark_sky_humidity 331 | to: 'unknown' 332 | 333 | action: 334 | - service: notify.ios_USER1s_iphone 335 | data: 336 | message: Weather Lookup Problem! 337 | 338 | ################################################################# 339 | ## NAS Warning 340 | ################################################################# 341 | 342 | - alias: Notification Text - NAS Warning 343 | 344 | trigger: 345 | - platform: state 346 | entity_id: sensor.nas_status 347 | to: 'warning' 348 | 349 | action: 350 | - service: notify.ios_USER1s_iphone 351 | data: 352 | message: NAS RAID Failing 353 | 354 | ########################################################## 355 | ## UPS Power Loss Aleart 356 | ########################################################## 357 | 358 | - alias: Notification Text - UPS Power Loss Aleart 359 | 360 | trigger: 361 | - platform: numeric_state 362 | entity_id: sensor.ups_input_voltage 363 | below: 80 364 | 365 | action: 366 | - service: notify.ios_USER1s_iphone 367 | data: 368 | message: Power Outage Detected 369 | 370 | ################################################################# 371 | ## Home Assistant Started Notification 372 | ################################################################# 373 | 374 | - alias: Notification Text - Home Assistant Start 375 | 376 | trigger: 377 | - platform: homeassistant 378 | event: start 379 | 380 | action: 381 | - service: notify.ios_USER1s_iphone 382 | data: 383 | message: Home Assistant Started 384 | -------------------------------------------------------------------------------- /automation/doorbell.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Doorbell Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Turn On Front Porch when Door Bell Rings 7 | ########################################################## 8 | 9 | - alias: Doorbell - Turn On Front Porch when Rung 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: binary_sensor.ring_front_door_ding 14 | from: 'off' 15 | to: 'on' 16 | 17 | condition: 18 | - condition: state 19 | entity_id: sun.sun 20 | state: 'below_horizon' 21 | - condition: state 22 | entity_id: input_boolean.disable_doorbell 23 | state: 'off' 24 | 25 | action: 26 | - service: light.turn_on 27 | entity_id: light.front_porch 28 | data: 29 | brightness_pct: 100 30 | 31 | ########################################################## 32 | ## Reset Front Porch Brightness After Doorbell Rings 33 | ########################################################## 34 | 35 | - alias: Doorbell - Reset Front Porch Brightness After Ring 36 | 37 | trigger: 38 | - platform: state 39 | entity_id: binary_sensor.ring_front_door_ding 40 | from: 'on' 41 | to: 'off' 42 | for: 43 | hours: 0 44 | minutes: 30 45 | seconds: 0 46 | 47 | condition: 48 | - condition: state 49 | entity_id: sun.sun 50 | state: 'below_horizon' 51 | - condition: state 52 | entity_id: input_boolean.disable_doorbell 53 | state: 'off' 54 | 55 | action: 56 | - service: light.turn_on 57 | entity_id: light.front_porch 58 | data: 59 | brightness_pct: 40 60 | transition: 300 61 | 62 | ########################################################## 63 | ## Turn On Front Porch when Motion Detected 64 | ########################################################## 65 | 66 | - alias: Doorbell - Turn On Front Porch when Motion Detected 67 | 68 | trigger: 69 | - platform: state 70 | entity_id: binary_sensor.ring_front_door_motion 71 | from: 'off' 72 | to: 'on' 73 | 74 | condition: 75 | - condition: state 76 | entity_id: sun.sun 77 | state: 'below_horizon' 78 | - condition: state 79 | entity_id: input_boolean.disable_doorbell 80 | state: 'off' 81 | 82 | action: 83 | - service: light.turn_on 84 | entity_id: light.front_porch 85 | data: 86 | brightness_pct: 100 87 | 88 | ########################################################## 89 | ## Reset Front Porch Brightness After Motion Detected 90 | ########################################################## 91 | 92 | - alias: Doorbell - Reset Front Porch Brightness After Motion Detected 93 | 94 | trigger: 95 | - platform: state 96 | entity_id: binary_sensor.ring_front_door_motion 97 | from: 'on' 98 | to: 'off' 99 | for: 100 | hours: 0 101 | minutes: 30 102 | seconds: 0 103 | 104 | condition: 105 | - condition: state 106 | entity_id: sun.sun 107 | state: 'below_horizon' 108 | - condition: state 109 | entity_id: input_boolean.disable_doorbell 110 | state: 'off' 111 | - condition: state 112 | entity_id: light.front_porch 113 | state: 'on' 114 | for: 115 | hours: 0 116 | minutes: 30 117 | seconds: 0 118 | 119 | action: 120 | - service: light.turn_on 121 | entity_id: light.front_porch 122 | data: 123 | brightness_pct: 40 124 | transition: 300 125 | 126 | ########################################################## 127 | ## Turn On Lights when Door Bell Rings and Away 128 | ########################################################## 129 | 130 | - alias: Doorbell - Turn On Lights when Ring and Away 131 | 132 | trigger: 133 | - platform: state 134 | entity_id: binary_sensor.ring_front_door_ding 135 | from: 'off' 136 | to: 'on' 137 | 138 | condition: 139 | - condition: state 140 | entity_id: sun.sun 141 | state: 'below_horizon' 142 | - condition: state 143 | entity_id: input_boolean.disable_doorbell 144 | state: 'off' 145 | - condition: state 146 | entity_id: group.household 147 | state: 'not_home' 148 | 149 | action: 150 | - service: light.turn_on 151 | entity_id: 152 | - light.living_room_lights 153 | - light.office_lamp 154 | - light.closet_lamp 155 | - light.kitchen_sink 156 | - light.back_door 157 | - light.garage_light 158 | data: 159 | brightness_pct: 100 160 | color_temp: 447 161 | 162 | ########################################################## 163 | ## Turn Off Lights After Door Bell Rings and Away 164 | ########################################################## 165 | 166 | - alias: Doorbell - Turn Off Lights After Ring and Away 167 | 168 | trigger: 169 | - platform: state 170 | entity_id: binary_sensor.ring_front_door_ding 171 | from: 'on' 172 | to: 'off' 173 | for: 174 | hours: 1 175 | minutes: 0 176 | seconds: 0 177 | 178 | condition: 179 | - condition: state 180 | entity_id: sun.sun 181 | state: 'below_horizon' 182 | - condition: state 183 | entity_id: input_boolean.disable_doorbell 184 | state: 'off' 185 | - condition: state 186 | entity_id: group.household 187 | state: 'not_home' 188 | 189 | action: 190 | - service: light.turn_off 191 | entity_id: 192 | - light.living_room_lights 193 | - light.office_lamp 194 | - light.closet_lamp 195 | data: 196 | transition: 900 197 | - service: light.turn_off 198 | entity_id: light.kitchen_sink 199 | - service: light.turn_on 200 | entity_id: 201 | - light.back_door 202 | - light.garage_light 203 | data: 204 | brightness_pct: 1 205 | 206 | ########################################################## 207 | ## Turn On Lights when Motion Detected and Away 208 | ########################################################## 209 | 210 | - alias: Doorbell - Turn On Lights when Motion Detected and Away 211 | 212 | trigger: 213 | - platform: state 214 | entity_id: binary_sensor.ring_front_door_motion 215 | from: 'off' 216 | to: 'on' 217 | 218 | condition: 219 | - condition: state 220 | entity_id: sun.sun 221 | state: 'below_horizon' 222 | - condition: state 223 | entity_id: input_boolean.disable_doorbell 224 | state: 'off' 225 | - condition: state 226 | entity_id: group.household 227 | state: 'not_home' 228 | 229 | action: 230 | - service: light.turn_on 231 | entity_id: 232 | - light.living_room_lights 233 | - light.office_lamp 234 | - light.closet_lamp 235 | - light.kitchen_sink 236 | - light.back_door 237 | - light.garage_light 238 | data: 239 | brightness_pct: 100 240 | color_temp: 447 241 | 242 | ########################################################## 243 | ## Turn Off Lights After Motion Detected and Away 244 | ########################################################## 245 | 246 | - alias: Doorbell - Turn Off Lights After Motion Detected and Away 247 | 248 | trigger: 249 | - platform: state 250 | entity_id: binary_sensor.ring_front_door_motion 251 | from: 'on' 252 | to: 'off' 253 | for: 254 | hours: 1 255 | minutes: 0 256 | seconds: 0 257 | 258 | condition: 259 | - condition: state 260 | entity_id: sun.sun 261 | state: 'below_horizon' 262 | - condition: state 263 | entity_id: input_boolean.disable_doorbell 264 | state: 'off' 265 | - condition: state 266 | entity_id: group.household 267 | state: 'not_home' 268 | 269 | action: 270 | - service: light.turn_off 271 | entity_id: 272 | - light.living_room_lights 273 | - light.office_lamp 274 | - light.closet_lamp 275 | data: 276 | transition: 900 277 | - service: light.turn_off 278 | entity_id: light.kitchen_sink 279 | - service: light.turn_on 280 | entity_id: 281 | - light.back_door 282 | - light.garage_light 283 | data: 284 | brightness_pct: 1 285 | 286 | ########################################################## 287 | ## Front Door Bell Bathroom Audio Notification 288 | ########################################################## 289 | 290 | - alias: Doorbell - Front Door Bell Bathroom Notification 291 | 292 | trigger: 293 | - platform: state 294 | entity_id: binary_sensor.ring_front_door_ding 295 | from: 'off' 296 | to: 'on' 297 | 298 | condition: 299 | - condition: state 300 | entity_id: group.household 301 | state: 'home' 302 | - condition: state 303 | entity_id: input_boolean.disable_voice_greeting 304 | state: 'off' 305 | - condition: state 306 | entity_id: input_boolean.disable_doorbell 307 | state: 'off' 308 | - condition: state 309 | entity_id: binary_sensor.bathroom_occupancy 310 | state: 'on' 311 | 312 | action: 313 | - service: script.turn_on 314 | entity_id: script.say 315 | data: 316 | variables: 317 | master: 'media_player.sonos_bathroom' 318 | where: 'media_player.sonos_bathroom' 319 | volume: '.6' 320 | what: 'Someone is at the Front Door' 321 | 322 | ########################################################## 323 | ## Front Door Bell Basement Audio Notification 324 | ########################################################## 325 | 326 | - alias: Doorbell - Front Doorbell Basement Notification 327 | 328 | trigger: 329 | - platform: state 330 | entity_id: binary_sensor.ring_front_door_ding 331 | from: 'off' 332 | to: 'on' 333 | 334 | condition: 335 | - condition: state 336 | entity_id: group.household 337 | state: 'home' 338 | - condition: state 339 | entity_id: input_boolean.disable_voice_greeting 340 | state: 'off' 341 | - condition: state 342 | entity_id: input_boolean.disable_doorbell 343 | state: 'off' 344 | - condition: state 345 | entity_id: group.basement_occupancy 346 | state: 'on' 347 | 348 | action: 349 | - service: script.turn_on 350 | entity_id: script.say 351 | data: 352 | variables: 353 | master: 'media_player.sonos_basement' 354 | where: 'media_player.sonos_basement' 355 | volume: '.6' 356 | what: 'Someone is at the Front Door' 357 | 358 | ########################################################## 359 | ## Front Door Bell Kitchen Audio Notification 360 | ########################################################## 361 | 362 | - alias: Doorbell - Front Doorbell Kitchen Notification 363 | 364 | trigger: 365 | - platform: state 366 | entity_id: binary_sensor.ring_front_door_ding 367 | from: 'off' 368 | to: 'on' 369 | 370 | condition: 371 | - condition: state 372 | entity_id: group.household 373 | state: 'home' 374 | - condition: state 375 | entity_id: input_boolean.disable_voice_greeting 376 | state: 'off' 377 | - condition: state 378 | entity_id: input_boolean.disable_doorbell 379 | state: 'off' 380 | - condition: state 381 | entity_id: binary_sensor.kitchen_occupancy 382 | state: 'on' 383 | 384 | action: 385 | - service: script.turn_on 386 | entity_id: script.say 387 | data: 388 | variables: 389 | master: 'media_player.sonos_kitchen' 390 | where: 'media_player.sonos_kitchen' 391 | volume: '.6' 392 | what: 'Someone is at the Front Door' 393 | 394 | ########################################################## 395 | ## Front Door Bell Office Audio Notification 396 | ########################################################## 397 | 398 | - alias: Doorbell - Front Doorbell Office Notification 399 | 400 | trigger: 401 | - platform: state 402 | entity_id: binary_sensor.ring_front_door_ding 403 | from: 'off' 404 | to: 'on' 405 | 406 | condition: 407 | condition: and 408 | conditions: 409 | - condition: state 410 | entity_id: group.household 411 | state: 'home' 412 | - condition: state 413 | entity_id: input_boolean.disable_voice_greeting 414 | state: 'off' 415 | - condition: state 416 | entity_id: input_boolean.disable_doorbell 417 | state: 'off' 418 | - condition: or 419 | conditions: 420 | - condition: state 421 | entity_id: binary_sensor.office_occupancy 422 | state: 'on' 423 | - condition: state 424 | entity_id: binary_sensor.USER2_office_occupancy 425 | state: 'on' 426 | 427 | action: 428 | - service: script.turn_on 429 | entity_id: script.say 430 | data: 431 | variables: 432 | master: 'media_player.sonos_USER1s_office' 433 | where: 'media_player.sonos_USER1s_office, media_player.sonos_USER2s_office' 434 | volume: '.6' 435 | what: 'Someone is at the Front Door' 436 | 437 | ########################################################## 438 | ## Pause TV when Door Bell Rings 439 | ########################################################## 440 | 441 | - alias: Doorbell - Pause TV when Door Bell Rings 442 | 443 | trigger: 444 | - platform: state 445 | entity_id: binary_sensor.ring_front_door_ding 446 | from: 'off' 447 | to: 'on' 448 | 449 | condition: 450 | - condition: state 451 | entity_id: group.household 452 | state: 'home' 453 | - condition: state 454 | entity_id: input_boolean.disable_doorbell 455 | state: 'off' 456 | - condition: state 457 | entity_id: input_select.remote 458 | state: 'Watch TV' 459 | - condition: state 460 | entity_id: media_player.living_room_apple_tv 461 | state: 'playing' 462 | 463 | action: 464 | - service: remote.send_command 465 | entity_id: remote.media_center 466 | data: 467 | command: 'Pause' 468 | device: 38917629 469 | -------------------------------------------------------------------------------- /automation/occupancy.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Occupancy Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Turn on Office Fans when Occupied 7 | ########################################################## 8 | 9 | - alias: Occupancy - Turn on Office Fans when Occupied 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: binary_sensor.office_occupancy 14 | from: 'off' 15 | to: 'on' 16 | 17 | condition: 18 | - condition: state 19 | entity_id: input_boolean.disable_occupancy 20 | state: 'off' 21 | - condition: state 22 | entity_id: device_tracker.USER1DEVICE 23 | state: 'home' 24 | 25 | action: 26 | - service: switch.turn_on 27 | entity_id: 28 | - switch.air_purifier 29 | - switch.office_fan 30 | 31 | ########################################################## 32 | ## Turn off Office Fans when Unoccupied 33 | ########################################################## 34 | 35 | - alias: Occupancy - Turn off Office Fans when Unoccupied 36 | 37 | trigger: 38 | - platform: state 39 | entity_id: binary_sensor.office_occupancy 40 | from: 'on' 41 | to: 'off' 42 | for: 43 | hours: 0 44 | minutes: 30 45 | seconds: 0 46 | 47 | condition: 48 | - condition: state 49 | entity_id: input_boolean.disable_occupancy 50 | state: 'off' 51 | 52 | action: 53 | - service: switch.turn_off 54 | entity_id: 55 | - switch.air_purifier 56 | - switch.office_fan 57 | 58 | ########################################################## 59 | ## Turn off Office when Unoccupied 60 | ########################################################## 61 | 62 | - alias: Occupancy - Turn off Office Light when Unoccupied 63 | 64 | trigger: 65 | - platform: state 66 | entity_id: binary_sensor.office_occupancy 67 | from: 'on' 68 | to: 'off' 69 | for: 70 | hours: 0 71 | minutes: 30 72 | seconds: 0 73 | 74 | condition: 75 | - condition: state 76 | entity_id: input_boolean.disable_occupancy 77 | state: 'off' 78 | 79 | 80 | action: 81 | - service: light.turn_off 82 | entity_id: light.USER1_office_lights 83 | 84 | ########################################################## 85 | ## Turn on USER1's Office when Occupied after Dark 86 | ########################################################## 87 | 88 | - alias: Occupancy - Turn on USER1's Office when Occupied after Dark 89 | 90 | trigger: 91 | - platform: state 92 | entity_id: binary_sensor.office_occupancy 93 | from: 'off' 94 | to: 'on' 95 | 96 | condition: 97 | - condition: state 98 | entity_id: device_tracker.USER1DEVICE 99 | state: 'home' 100 | - condition: state 101 | entity_id: light.USER1_office_lights 102 | state: 'off' 103 | - condition: state 104 | entity_id: sun.sun 105 | state: 'below_horizon' 106 | 107 | action: 108 | - service: light.turn_on 109 | entity_id: light.office_lamp 110 | data: 111 | transition: 300 112 | brightness_pct: 100 113 | effect: colorloop 114 | - service: light.turn_on 115 | entity_id: light.stairs 116 | data: 117 | transition: 3 118 | brightness_pct: 25 119 | 120 | ########################################################## 121 | ## Turn on USER2 Office when Occupied 122 | ########################################################## 123 | 124 | - alias: Occupancy - Turn on USER2 Office Light when Occupied 125 | 126 | trigger: 127 | - platform: state 128 | entity_id: binary_sensor.USER2_office_occupancy 129 | from: 'off' 130 | to: 'on' 131 | 132 | condition: 133 | - condition: state 134 | entity_id: device_tracker.USER2DEVICE 135 | state: 'home' 136 | - condition: state 137 | entity_id: light.USER2_office_lights 138 | state: 'off' 139 | 140 | action: 141 | - service: light.turn_on 142 | entity_id: light.USER2_office_lights 143 | data: 144 | transition: 300 145 | brightness_pct: 50 146 | - service: light.turn_on 147 | entity_id: light.stairs 148 | data: 149 | transition: 3 150 | brightness_pct: 1 151 | 152 | ########################################################## 153 | ## Turn off USER2 Office when Unoccupied 154 | ########################################################## 155 | 156 | - alias: Occupancy - Turn off USER2 Office Light when Unoccupied 157 | 158 | trigger: 159 | - platform: state 160 | entity_id: binary_sensor.USER2_office_occupancy 161 | from: 'on' 162 | to: 'off' 163 | for: 164 | hours: 0 165 | minutes: 30 166 | seconds: 0 167 | 168 | condition: 169 | - condition: state 170 | entity_id: input_boolean.disable_occupancy 171 | state: 'off' 172 | 173 | action: 174 | - service: light.turn_off 175 | entity_id: light.USER2_office_lights 176 | 177 | ########################################################## 178 | ## Turn off Bedroom when Unoccupied 179 | ########################################################## 180 | 181 | - alias: Occupancy - Turn off Bedroom Lights when Unoccupied 182 | 183 | trigger: 184 | - platform: state 185 | entity_id: binary_sensor.bedroom_occupancy 186 | from: 'on' 187 | to: 'off' 188 | for: 189 | hours: 0 190 | minutes: 30 191 | seconds: 0 192 | 193 | condition: 194 | - condition: state 195 | entity_id: input_boolean.disable_occupancy 196 | state: 'off' 197 | 198 | action: 199 | - service: light.turn_off 200 | entity_id: light.bedroom_lights 201 | 202 | ########################################################## 203 | ## Turn off Guest Bedroom when Unoccupied 204 | ########################################################## 205 | 206 | - alias: Occupancy - Turn off Guest Bedroom Lights when Unoccupied 207 | 208 | trigger: 209 | - platform: state 210 | entity_id: binary_sensor.guest_bedroom_occupancy 211 | from: 'on' 212 | to: 'off' 213 | for: 214 | hours: 1 215 | minutes: 0 216 | seconds: 0 217 | 218 | condition: 219 | - condition: state 220 | entity_id: input_boolean.disable_occupancy 221 | state: 'off' 222 | 223 | action: 224 | - service: light.turn_off 225 | entity_id: light.guest_bedroom_lights 226 | 227 | ########################################################## 228 | ## Turn off Kitchen when Unoccupied 229 | ########################################################## 230 | 231 | - alias: Occupancy - Turn off Kitchen Lights when Unoccupied 232 | 233 | trigger: 234 | - platform: state 235 | entity_id: binary_sensor.kitchen_occupancy 236 | from: 'on' 237 | to: 'off' 238 | for: 239 | hours: 1 240 | minutes: 0 241 | seconds: 0 242 | 243 | condition: 244 | - condition: state 245 | entity_id: input_boolean.disable_occupancy 246 | state: 'off' 247 | 248 | action: 249 | - service: light.turn_off 250 | entity_id: light.kitchen_lights 251 | 252 | ########################################################## 253 | ## Turn off Dining Room / Hallway when Unoccupied 254 | ########################################################## 255 | 256 | - alias: Occupancy - Turn off Dining Room Lights when Unoccupied 257 | 258 | trigger: 259 | - platform: state 260 | entity_id: binary_sensor.main_floor_occupancy 261 | from: 'on' 262 | to: 'off' 263 | for: 264 | hours: 1 265 | minutes: 30 266 | seconds: 0 267 | 268 | condition: 269 | - condition: state 270 | entity_id: input_boolean.disable_occupancy 271 | state: 'off' 272 | 273 | action: 274 | - service: light.turn_off 275 | entity_id: light.hallway_light, light.dining_room_lights 276 | 277 | ########################################################## 278 | ## Turn off Living Room when Unoccupied 279 | ########################################################## 280 | 281 | - alias: Occupancy - Turn off Living Room when Unoccupied 282 | 283 | trigger: 284 | - platform: state 285 | entity_id: binary_sensor.living_room_occupancy 286 | from: 'on' 287 | to: 'off' 288 | for: 289 | hours: 1 290 | minutes: 30 291 | seconds: 0 292 | 293 | condition: 294 | - condition: state 295 | entity_id: binary_sensor.main_floor_occupancy 296 | state: 'off' 297 | - condition: state 298 | entity_id: input_boolean.disable_occupancy 299 | state: 'off' 300 | 301 | action: 302 | - service: light.turn_off 303 | entity_id: light.living_room_lights 304 | 305 | ########################################################## 306 | ## Turn off Stairs when Unoccupied 307 | ########################################################## 308 | 309 | - alias: Occupancy - Turn off Stairs when USER1 Office Unoccupied 310 | 311 | trigger: 312 | - platform: state 313 | entity_id: binary_sensor.office_occupancy 314 | from: 'on' 315 | to: 'off' 316 | for: 317 | hours: 0 318 | minutes: 30 319 | seconds: 0 320 | 321 | condition: 322 | - condition: state 323 | entity_id: binary_sensor.USER2_office_occupancy 324 | state: 'off' 325 | - condition: state 326 | entity_id: input_boolean.disable_occupancy 327 | state: 'off' 328 | 329 | action: 330 | - service: light.turn_off 331 | entity_id: light.stairs 332 | 333 | - alias: Occupancy - Turn off Stairs when USER2 Office Unoccupied 334 | 335 | trigger: 336 | - platform: state 337 | entity_id: binary_sensor.USER2_office_occupancy 338 | from: 'on' 339 | to: 'off' 340 | for: 341 | hours: 0 342 | minutes: 30 343 | seconds: 0 344 | 345 | condition: 346 | - condition: state 347 | entity_id: binary_sensor.office_occupancy 348 | state: 'off' 349 | - condition: state 350 | entity_id: input_boolean.disable_occupancy 351 | state: 'off' 352 | 353 | action: 354 | - service: light.turn_off 355 | entity_id: light.stairs 356 | 357 | ########################################################## 358 | ## Turn off Basement when Unoccupied 359 | ########################################################## 360 | 361 | - alias: Occupancy - Turn off Basement when Unoccupied 362 | 363 | trigger: 364 | - platform: state 365 | entity_id: group.basement_occupancy 366 | from: 'on' 367 | to: 'off' 368 | for: 369 | hours: 1 370 | minutes: 30 371 | seconds: 0 372 | 373 | condition: 374 | - condition: state 375 | entity_id: input_boolean.disable_occupancy 376 | state: 'off' 377 | 378 | action: 379 | - service: light.turn_off 380 | entity_id: light.basement_lighting 381 | 382 | ########################################################## 383 | ## Turn on Living Room / Dining Room at Sunset when Occupied 384 | ########################################################## 385 | 386 | - alias: Occupancy - Turn on Living Room / Dining Room at Sunset when Occupied 387 | 388 | trigger: 389 | - platform: sun 390 | event: 'sunset' 391 | offset: '-00:30:00' 392 | 393 | condition: 394 | condition: and 395 | conditions: 396 | - condition: state 397 | entity_id: group.household 398 | state: 'home' 399 | - condition: state 400 | entity_id: input_boolean.disable_interior_lights_sunset 401 | state: 'off' 402 | - condition: state 403 | entity_id: light.living_room_lights 404 | state: 'off' 405 | - condition: state 406 | entity_id: light.dining_room_lights 407 | state: 'off' 408 | - condition: or 409 | conditions: 410 | - condition: state 411 | entity_id: binary_sensor.main_floor_occupancy 412 | state: 'on' 413 | - condition: state 414 | entity_id: binary_sensor.living_room_occupancy 415 | state: 'on' 416 | 417 | action: 418 | - service: light.turn_on 419 | entity_id: 420 | - light.living_room_lamps 421 | - light.hallway_light 422 | data: 423 | transition: 900 424 | color_temp: 447 425 | brightness_pct: 100 426 | - service: light.turn_on 427 | entity_id: light.media_center_lighting 428 | data: 429 | transition: 900 430 | effect: random 431 | brightness_pct: 100 432 | - service: light.turn_on 433 | entity_id: light.dining_room_table 434 | data: 435 | brightness_pct: 50 436 | - service: light.turn_on 437 | entity_id: light.bathroom_vanity 438 | data: 439 | brightness_pct: 40 440 | - service: light.turn_on 441 | entity_id: 442 | - light.globe 443 | data: 444 | color_temp: 366 445 | transition: 60 446 | brightness_pct: 15 447 | 448 | ########################################################## 449 | ## Turn on Kitchen at Sunset when Occupied 450 | ########################################################## 451 | 452 | - alias: Occupancy - Turn on Kitchen at Sunset when Occupied 453 | 454 | trigger: 455 | - platform: sun 456 | event: 'sunset' 457 | offset: '-00:30:00' 458 | 459 | condition: 460 | - condition: state 461 | entity_id: binary_sensor.kitchen_occupancy 462 | state: 'on' 463 | - condition: state 464 | entity_id: group.household 465 | state: 'home' 466 | - condition: state 467 | entity_id: input_boolean.disable_interior_lights_sunset 468 | state: 'off' 469 | - condition: state 470 | entity_id: light.kitchen_lights_lights 471 | state: 'off' 472 | 473 | action: 474 | - service: light.turn_on 475 | entity_id: light.kitchen_ceiling 476 | data: 477 | brightness_pct: 100 478 | - service: light.turn_on 479 | entity_id: 480 | - light.kitchen_cabinets 481 | - light.kitchen_sink 482 | data: 483 | brightness_pct: 1 484 | 485 | 486 | ########################################################## 487 | ## Turn on Office at Sunset when Occupied 488 | ########################################################## 489 | 490 | - alias: Occupancy - Turn on Office Lights at Sunset when Occupied 491 | 492 | trigger: 493 | - platform: sun 494 | event: 'sunset' 495 | offset: '-00:10:00' 496 | 497 | condition: 498 | - condition: state 499 | entity_id: binary_sensor.office_occupancy 500 | state: 'on' 501 | - condition: state 502 | entity_id: input_boolean.disable_interior_lights_sunset 503 | state: 'off' 504 | - condition: state 505 | entity_id: device_tracker.USER1DEVICE 506 | state: 'home' 507 | - condition: state 508 | entity_id: light.USER1_office_lights 509 | state: 'off' 510 | 511 | action: 512 | - service: light.turn_on 513 | entity_id: 514 | - light.office_lamp 515 | data: 516 | transition: 60 517 | brightness_pct: 100 518 | color_temp: 447 519 | - service: light.turn_on 520 | entity_id: 521 | - light.stairs 522 | data: 523 | transition: 60 524 | brightness_pct: 50 525 | 526 | ########################################################## 527 | ## Turn on USER2's Office at Sunset when Occupied 528 | ########################################################## 529 | 530 | - alias: Occupancy - Turn on USER2 Office Lights at Sunset when Occupied 531 | 532 | trigger: 533 | - platform: sun 534 | event: 'sunset' 535 | offset: '-00:30:00' 536 | 537 | condition: 538 | - condition: state 539 | entity_id: binary_sensor.USER2_office_occupancy 540 | state: 'on' 541 | - condition: state 542 | entity_id: input_boolean.disable_interior_lights_sunset 543 | state: 'off' 544 | - condition: state 545 | entity_id: device_tracker.USER2DEVICE 546 | state: 'home' 547 | - condition: state 548 | entity_id: light.USER2_office_lights 549 | state: 'off' 550 | 551 | action: 552 | - service: light.turn_on 553 | entity_id: 554 | - light.USER2_office_lights 555 | data: 556 | transition: 300 557 | brightness_pct: 100 558 | - service: light.turn_on 559 | entity_id: 560 | - light.stairs 561 | data: 562 | transition: 300 563 | brightness_pct: 50 564 | -------------------------------------------------------------------------------- /automation/lights.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Lighting Automations 3 | ################################################################# 4 | 5 | ########################################################## 6 | ## Reset Garage Light Brightness when Garage Closed 7 | ########################################################## 8 | 9 | - alias: Lights - Reset Garage Light Brightness when Garage Closed 10 | 11 | trigger: 12 | - platform: state 13 | entity_id: cover.garage_door 14 | from: 'open' 15 | to: 'closed' 16 | for: 17 | hours: 0 18 | minutes: 5 19 | seconds: 0 20 | 21 | condition: 22 | - condition: state 23 | entity_id: input_boolean.disable_door_open_lights_on 24 | state: 'off' 25 | - condition: state 26 | entity_id: sun.sun 27 | state: 'below_horizon' 28 | 29 | action: 30 | - service: light.turn_on 31 | entity_id: light.garage_light 32 | data: 33 | brightness_pct: 1 34 | 35 | ########################################################## 36 | ## Turn on Garage Light when Garage Open 37 | ########################################################## 38 | 39 | - alias: Lights - Turn on Garage Light when Garage Open 40 | 41 | trigger: 42 | - platform: state 43 | entity_id: cover.garage_door 44 | from: 'closed' 45 | to: 'open' 46 | 47 | condition: 48 | - condition: state 49 | entity_id: input_boolean.disable_door_open_lights_on 50 | state: 'off' 51 | - condition: state 52 | entity_id: sun.sun 53 | state: 'below_horizon' 54 | 55 | action: 56 | - service: light.turn_on 57 | entity_id: light.garage_light 58 | data: 59 | brightness_pct: 100 60 | 61 | ########################################################## 62 | ## Turn Off Garage Light After 1 Hour 63 | ########################################################## 64 | 65 | - alias: Lights - Turn Off Garage Light After 1 Hour 66 | 67 | trigger: 68 | - platform: state 69 | entity_id: light.garage_light 70 | from: 'off' 71 | to: 'on' 72 | for: 73 | hours: 1 74 | minutes: 0 75 | seconds: 0 76 | 77 | condition: 78 | - condition: time 79 | after: '00:00' 80 | before: '04:00' 81 | 82 | action: 83 | - service: light.turn_off 84 | entity_id: light.garage_light 85 | 86 | ########################################################## 87 | ## Turn On Garage Light at Sunset 88 | ########################################################## 89 | 90 | - alias: Lights - Turn On Garage Light at Sunset 91 | 92 | trigger: 93 | - platform: sun 94 | event: 'sunset' 95 | offset: '-00:15:00' 96 | 97 | condition: 98 | - condition: state 99 | entity_id: input_boolean.disable_exterior_on_sunset 100 | state: 'off' 101 | 102 | action: 103 | - service: light.turn_on 104 | entity_id: light.garage_light 105 | data: 106 | brightness_pct: 1 107 | 108 | ########################################################## 109 | ## Turn Off Garage Light at Midnight 110 | ########################################################## 111 | 112 | - alias: Lights - Turn Off Garage Light at Midnight 113 | 114 | trigger: 115 | - platform: time 116 | at: '23:59' 117 | 118 | condition: 119 | - condition: state 120 | entity_id: sun.sun 121 | state: 'below_horizon' 122 | - condition: state 123 | entity_id: input_boolean.disable_exterior_off_night 124 | state: 'off' 125 | - condition: state 126 | entity_id: group.friends_and_family 127 | state: 'not_home' 128 | 129 | action: 130 | - service: light.turn_off 131 | entity_id: light.garage_light 132 | 133 | ########################################################## 134 | ## Turn On Front Porch at Sunset 135 | ########################################################## 136 | 137 | - alias: Lights - Turn on Front Porch at Sunset 138 | 139 | trigger: 140 | - platform: sun 141 | event: 'sunset' 142 | offset: '-00:15:00' 143 | 144 | condition: 145 | - condition: state 146 | entity_id: input_boolean.disable_exterior_on_sunset 147 | state: 'off' 148 | - condition: state 149 | entity_id: input_select.holiday 150 | state: 'None' 151 | 152 | action: 153 | - service: light.turn_on 154 | entity_id: light.front_porch 155 | data: 156 | transition: 900 157 | brightness_pct: 40 158 | color_temp: 447 159 | 160 | ########################################################## 161 | ## Turn Off Front Porch at Midnight 162 | ########################################################## 163 | 164 | - alias: Lights - Turn Off Front Porch at Midnight 165 | 166 | trigger: 167 | - platform: time 168 | at: '23:59' 169 | 170 | condition: 171 | - condition: state 172 | entity_id: sun.sun 173 | state: 'below_horizon' 174 | - condition: state 175 | entity_id: input_boolean.disable_exterior_off_night 176 | state: 'off' 177 | - condition: state 178 | entity_id: input_select.holiday 179 | state: 'None' 180 | 181 | action: 182 | - service: light.turn_off 183 | entity_id: light.front_porch 184 | data: 185 | transition: 300 186 | 187 | ########################################################## 188 | ## Turn off Front Porch After Midnight 189 | ########################################################## 190 | 191 | - alias: Lights - Turn off Front Porch After Midnight 192 | 193 | trigger: 194 | - platform: state 195 | entity_id: light.front_porch 196 | from: 'off' 197 | to: 'on' 198 | for: 199 | hours: 1 200 | minutes: 0 201 | seconds: 0 202 | 203 | condition: 204 | - condition: time 205 | after: '00:00' 206 | before: '05:00' 207 | - condition: state 208 | entity_id: input_boolean.disable_exterior_off_night 209 | state: 'off' 210 | - condition: state 211 | entity_id: group.household 212 | state: 'home' 213 | 214 | action: 215 | - service: light.turn_off 216 | entity_id: light.front_porch 217 | data: 218 | transition: 300 219 | 220 | ########################################################## 221 | ## Turn On Front Yard Outdoor Lighting at Sunset 222 | ########################################################## 223 | 224 | - alias: Lights - Turn On Front Yard Outdoor Lighting at Sunset 225 | 226 | trigger: 227 | - platform: sun 228 | event: 'sunset' 229 | offset: '-00:15:00' 230 | 231 | action: 232 | - service: switch.turn_on 233 | entity_id: switch.front_yard_lighting 234 | 235 | ########################################################## 236 | ## Turn Off Front Yard Outdoor Lighting at 2a 237 | ########################################################## 238 | 239 | - alias: Lights - Turn Off Front Yard Outdoor Lighting at 2a 240 | 241 | trigger: 242 | - platform: time 243 | at: '02:00' 244 | 245 | action: 246 | - service: switch.turn_off 247 | entity_id: switch.front_yard_lighting 248 | 249 | ########################################################## 250 | ## Turn On Back Door at Sunset 251 | ########################################################## 252 | 253 | - alias: Lights - Turn On Back Door at Sunset 254 | 255 | trigger: 256 | - platform: sun 257 | event: 'sunset' 258 | offset: '-00:15:00' 259 | 260 | condition: 261 | - condition: state 262 | entity_id: input_boolean.disable_exterior_on_sunset 263 | state: 'off' 264 | 265 | action: 266 | - service: light.turn_on 267 | entity_id: light.back_door 268 | data: 269 | brightness_pct: 1 270 | transition: 60 271 | 272 | ########################################################## 273 | ## Turn On Backyard Deck Lights at Sunset 274 | ########################################################## 275 | 276 | - alias: Lights - Turn On Backyard Deck Lights at Sunset 277 | 278 | trigger: 279 | - platform: sun 280 | event: 'sunset' 281 | offset: '-00:15:00' 282 | 283 | condition: 284 | - condition: state 285 | entity_id: input_boolean.disable_exterior_on_sunset 286 | state: 'off' 287 | - condition: state 288 | entity_id: group.friends_and_family 289 | state: 'home' 290 | 291 | action: 292 | - service: light.turn_on 293 | entity_id: light.backyard_deck 294 | data: 295 | brightness_pct: 1 296 | transition: 60 297 | 298 | ########################################################## 299 | ## Turn Off Backyard Deck Lights at Midnight 300 | ########################################################## 301 | 302 | - alias: Lights - Turn Off Backyard Deck Lights at Midnight 303 | 304 | trigger: 305 | - platform: time 306 | at: '23:59' 307 | 308 | condition: 309 | - condition: state 310 | entity_id: sun.sun 311 | state: 'below_horizon' 312 | - condition: state 313 | entity_id: input_boolean.disable_exterior_off_night 314 | state: 'off' 315 | - condition: state 316 | entity_id: group.friends_and_family 317 | state: 'not_home' 318 | 319 | action: 320 | - service: light.turn_off 321 | entity_id: light.backyard_deck 322 | 323 | ########################################################## 324 | ## Turn Off Back Door at Midnight 325 | ########################################################## 326 | 327 | - alias: Lights - Back Door Off at Midnight 328 | 329 | trigger: 330 | - platform: time 331 | at: '23:59' 332 | 333 | condition: 334 | - condition: state 335 | entity_id: sun.sun 336 | state: 'below_horizon' 337 | - condition: state 338 | entity_id: input_boolean.disable_exterior_off_night 339 | state: 'off' 340 | - condition: state 341 | entity_id: group.friends_and_family 342 | state: 'not_home' 343 | 344 | action: 345 | - service: light.turn_off 346 | entity_id: light.back_door 347 | data: 348 | transition: 300 349 | 350 | ########################################################## 351 | ## Turn off Back Door After Midnight 352 | ########################################################## 353 | 354 | - alias: Lights - Turn off Back Door After Midnight 355 | 356 | trigger: 357 | - platform: state 358 | entity_id: light.back_door 359 | from: 'off' 360 | to: 'on' 361 | for: 362 | hours: 1 363 | minutes: 0 364 | seconds: 0 365 | 366 | condition: 367 | - condition: time 368 | after: '00:00' 369 | before: '04:59' 370 | - condition: state 371 | entity_id: input_boolean.disable_exterior_off_night 372 | state: 'off' 373 | - condition: state 374 | entity_id: group.household 375 | state: 'home' 376 | - condition: state 377 | entity_id: group.friends_and_family 378 | state: 'not_home' 379 | 380 | action: 381 | - service: light.turn_off 382 | entity_id: light.back_door 383 | 384 | ########################################################## 385 | ## Turn on Lights at 5a if USER2 Home and Working 386 | ########################################################## 387 | 388 | - alias: Lights - Turn on Interior Lights at 5a if USER2 Home and Working 389 | 390 | trigger: 391 | - platform: time 392 | at: '05:00' 393 | 394 | condition: 395 | - condition: state 396 | entity_id: device_tracker.USER2DEVICE 397 | state: 'home' 398 | - condition: state 399 | entity_id: sun.sun 400 | state: 'below_horizon' 401 | - condition: state 402 | entity_id: input_boolean.disable_lights_morning 403 | state: 'off' 404 | - condition: state 405 | entity_id: input_boolean.USER2_working 406 | state: 'on' 407 | 408 | action: 409 | - service: light.turn_on 410 | entity_id: 411 | - light.living_room_lights 412 | data: 413 | brightness_pct: 25 414 | color_temp: 447 415 | - service: light.turn_on 416 | entity_id: 417 | - light.dining_room_table 418 | - light.kitchen_cabinets 419 | - light.kitchen_sink 420 | data: 421 | brightness_pct: 1 422 | - service: light.turn_on 423 | entity_id: 424 | - light.bathroom_vanity 425 | data: 426 | brightness_pct: 20 427 | - service: light.turn_on 428 | entity_id: light.hallway_light 429 | data: 430 | brightness_pct: 1 431 | color_name: red 432 | - service: light.turn_on 433 | entity_id: light.back_door 434 | data: 435 | brightness_pct: 1 436 | transition: 60 437 | - service: light.turn_on 438 | entity_id: 439 | - light.globe 440 | data: 441 | color_temp: 366 442 | brightness_pct: 15 443 | 444 | ########################################################## 445 | ## Turn off Lights at Sunrise 446 | ########################################################## 447 | 448 | - alias: Lights - Turn off Lights at Sunrise 449 | 450 | trigger: 451 | - platform: sun 452 | event: 'sunrise' 453 | offset: '+00:45:00' 454 | 455 | action: 456 | - service: light.turn_off 457 | entity_id: 458 | - group.interior_lights 459 | - group.exterior_lights 460 | - light.globe 461 | - service: switch.turn_off 462 | entity_id: switch.lower_backyard_lighting 463 | - service: switch.turn_off 464 | entity_id: switch.backyard_patio_lighting 465 | - service: switch.turn_off 466 | entity_id: switch.front_yard_lighting 467 | 468 | ########################################################## 469 | ## Turn On Outdoor Lighting at Sunset 470 | ########################################################## 471 | 472 | - alias: Lights - Turn on Outdoor Lighting at Sunset 473 | 474 | trigger: 475 | - platform: sun 476 | event: 'sunset' 477 | offset: '-00:15:00' 478 | 479 | condition: 480 | - condition: state 481 | entity_id: input_boolean.disable_exterior_on_sunset 482 | state: 'off' 483 | - condition: state 484 | entity_id: input_boolean.vacation_mode 485 | state: 'off' 486 | - condition: state 487 | entity_id: group.household 488 | state: 'home' 489 | 490 | action: 491 | - service: switch.turn_on 492 | entity_id: switch.backyard_patio_lighting 493 | - service: switch.turn_on 494 | entity_id: switch.lower_backyard_lighting 495 | - service: light.turn_on 496 | entity_id: light.backyard_patio 497 | data: 498 | brightness_pct: 1 499 | 500 | ########################################################## 501 | ## Turn Off Outdoor Lighting At 10:00p 502 | ########################################################## 503 | 504 | - alias: Lights - Turn off Outdoor Lighting at 10p 505 | 506 | trigger: 507 | - platform: time 508 | at: '22:00' 509 | 510 | condition: 511 | - condition: state 512 | entity_id: input_boolean.disable_exterior_off_night 513 | state: 'off' 514 | - condition: state 515 | entity_id: group.friends_and_family 516 | state: 'not_home' 517 | 518 | action: 519 | - service: switch.turn_off 520 | entity_id: switch.lower_backyard_lighting 521 | - service: switch.turn_off 522 | entity_id: switch.backyard_patio_lighting 523 | - service: light.turn_off 524 | entity_id: light.backyard_patio 525 | 526 | ########################################################## 527 | ## Media Center Lighting Random Color Every Hour 528 | ########################################################## 529 | 530 | - alias: Lights - Media Center Lighting Random Color Every Hour 531 | 532 | trigger: 533 | - platform: time 534 | minutes: 0 535 | seconds: 0 536 | 537 | condition: 538 | - condition: state 539 | entity_id: light.media_center_lighting 540 | state: 'on' 541 | - condition: state 542 | entity_id: input_boolean.livingroom_rainbow 543 | state: 'off' 544 | - condition: state 545 | entity_id: input_boolean.interior_holiday 546 | state: 'off' 547 | - condition: state 548 | entity_id: group.household 549 | state: 'home' 550 | 551 | action: 552 | - service: light.turn_on 553 | entity_id: 554 | - light.media_center_lighting 555 | data: 556 | effect: random 557 | transition: 300 558 | 559 | ########################################################## 560 | ## Set Globe Color Temp 561 | ########################################################## 562 | 563 | - alias: Lights - Set Globe Color Temp 564 | 565 | trigger: 566 | - platform: state 567 | entity_id: light.globe 568 | from: 'off' 569 | to: 'on' 570 | for: 571 | hours: 0 572 | minutes: 0 573 | seconds: 90 574 | 575 | condition: 576 | - condition: state 577 | entity_id: input_boolean.livingroom_rainbow 578 | state: 'off' 579 | - condition: state 580 | entity_id: input_boolean.interior_holiday 581 | state: 'off' 582 | - condition: state 583 | entity_id: input_boolean.alarm_tripped 584 | state: 'off' 585 | - condition: state 586 | entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected 587 | state: 'off' 588 | - condition: state 589 | entity_id: sensor.dark_sky_precip 590 | state: 'unknown' 591 | 592 | action: 593 | - service: light.turn_on 594 | entity_id: 595 | - light.globe 596 | data: 597 | color_temp: 366 598 | -------------------------------------------------------------------------------- /groups.yaml: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | ## Groups 3 | ################################################################# 4 | 5 | default_view: 6 | view: yes 7 | icon: mdi:home 8 | entities: 9 | - persistent_notification.1 10 | - group.automation_on_demand 11 | - group.household 12 | - group.interior_lights 13 | - group.exterior_lights 14 | - group.locks 15 | - group.climate_control 16 | - group.garage 17 | - camera.front_porch 18 | - camera.garage 19 | - camera.garage_interior 20 | 21 | living: 22 | name: Living 23 | view: yes 24 | icon: mdi:sofa 25 | entities: 26 | - group.living_room 27 | - group.remote 28 | - media_player.sonos_media_center 29 | - media_player.living_room_apple_tv 30 | - media_player.sonos_living_room 31 | 32 | dining: 33 | name: Dining 34 | view: yes 35 | icon: mdi:silverware-variant 36 | entities: 37 | - group.kitchen 38 | - group.dining_room 39 | - media_player.sonos_dining_room 40 | - media_player.sonos_kitchen 41 | 42 | bedrooms: 43 | name: Bedrooms 44 | view: yes 45 | icon: mdi:hotel 46 | entities: 47 | - group.bedroom 48 | - group.guest_bedroom 49 | - media_player.bedroom_apple_tv 50 | - media_player.sonos_bedroom 51 | - media_player.guest_bedroom_apple_tv 52 | 53 | bathrooms: 54 | name: Bathrooms 55 | view: yes 56 | icon: mdi:water-pump 57 | entities: 58 | - group.bathroom 59 | - media_player.sonos_bathroom 60 | 61 | offices: 62 | name: Offices 63 | view: yes 64 | icon: mdi:desktop-mac 65 | entities: 66 | - group.USER1_office 67 | - group.USER2_office 68 | - media_player.USER1s_office_apple_tv 69 | - media_player.plex_for_vizio_vizio_mtk 70 | - media_player.sonos_USER1s_office 71 | - media_player.sonos_USER2s_office 72 | 73 | basements: 74 | name: Basement 75 | view: yes 76 | icon: mdi:stairs 77 | entities: 78 | - group.basement 79 | - group.water_sensors 80 | - media_player.sonos_basement 81 | - media_player.roku_basement_tv 82 | 83 | outdoors: 84 | name: Outdoors 85 | view: yes 86 | icon: mdi:tree 87 | entities: 88 | - group.exterior_lights 89 | - group.door_bell 90 | - group.garage 91 | - camera.front_porch 92 | - camera.garage 93 | - camera.garage_interior 94 | - camera.ring_front_door 95 | - media_player.sonos_backyard_patio 96 | 97 | weatherdashboard: 98 | name: Weather 99 | view: yes 100 | icon: mdi:weather-partlycloudy 101 | entities: 102 | - group.thermostat 103 | - group.indoor_temperature 104 | - group.humidity 105 | - group.weather 106 | - weather.dark_sky 107 | - group.weather_summary 108 | - camera.mo_weather_radar 109 | 110 | media: 111 | name: Media 112 | view: yes 113 | icon: mdi:play-circle-outline 114 | entities: 115 | - group.remote 116 | - group.music 117 | - group.media_player 118 | - group.sonos 119 | 120 | cameras: 121 | name: Cameras 122 | view: yes 123 | icon: mdi:camera 124 | entities: 125 | - camera.front_porch 126 | - camera.garage 127 | - camera.garage_interior 128 | - camera.ring_front_door 129 | 130 | automation: 131 | name: Automation 132 | view: yes 133 | icon: mdi:robot 134 | entities: 135 | - group.automation_on_demand 136 | - group.party_modes 137 | - group.holiday_modes 138 | - group.alarm 139 | - group.door_locks 140 | - group.location_controls 141 | - group.automation_override 142 | 143 | sensors: 144 | name: Sensors 145 | view: yes 146 | icon: mdi:gauge 147 | entities: 148 | - group.household 149 | - group.device_location 150 | - group.friends_and_family 151 | - group.occupancy 152 | - group.doors 153 | - group.door_bell 154 | - group.water_sensors 155 | - group.battery_levels 156 | - group.dns 157 | - group.nas 158 | - group.ups 159 | - group.system 160 | 161 | auto: 162 | name: Auto 163 | view: yes 164 | icon: mdi:car 165 | entities: 166 | - group.garage 167 | - group.garage_outlets 168 | - camera.garage 169 | - camera.garage_interior 170 | - group.travel_times 171 | - group.traffic_camera_feeds 172 | - camera.REDACTED 173 | 174 | troubleshooting: 175 | name: Troubleshooting 176 | view: yes 177 | icon: mdi:none 178 | entities: 179 | - group.overnight_guests 180 | - group.plex 181 | - group.all_devices 182 | - group.all_input_boolean 183 | - group.all_lights 184 | - group.all_switches 185 | - group.all_locks 186 | - group.all_covers 187 | - group.all_remotes 188 | - group.all_automations 189 | - group.calendars 190 | - group.all_scripts 191 | - group.scenes 192 | 193 | Traffic Camera Feeds: 194 | - weblink.REDACTED 195 | - weblink.REDACTED 196 | - weblink.REDACTED 197 | - weblink.REDACTED 198 | - weblink.REDACTED 199 | - weblink.REDACTED 200 | - weblink.REDACTED 201 | - weblink.REDACTED 202 | 203 | Automation Override: 204 | control: hidden 205 | entities: 206 | - input_boolean.disable_voice_greeting 207 | - input_boolean.disable_doorbell 208 | - input_boolean.disable_door_open_lights_on 209 | - input_boolean.disable_exterior_on_sunset 210 | - input_boolean.disable_exterior_off_night 211 | - input_boolean.disable_auto_garage 212 | - input_boolean.disable_home_away 213 | - input_boolean.disable_interior_lights_sunset 214 | - input_boolean.disable_lights_morning 215 | - input_boolean.disable_lock_unlock_doors 216 | - input_boolean.disable_media_lights 217 | - input_boolean.disable_occupancy 218 | - input_boolean.disable_rainy_day 219 | - input_boolean.disable_water_sensors 220 | - input_boolean.disable_portable_ac 221 | 222 | Location Controls: 223 | control: hidden 224 | entities: 225 | - input_boolean.USER1_away 226 | - input_boolean.USER1_away_driving 227 | - input_boolean.USER2_away 228 | - input_boolean.USER2_away_driving 229 | - input_boolean.USER1_home 230 | - input_boolean.USER2_home 231 | - input_boolean.manual_USER1_away 232 | - input_boolean.manual_USER2_away 233 | - input_boolean.house_guest_away 234 | - input_boolean.vacation_mode 235 | - input_boolean.guest_mode 236 | 237 | Automation On Demand: 238 | control: hidden 239 | entities: 240 | - input_boolean.bedtime 241 | - vacuum.roomba 242 | - input_select.remote 243 | - input_select.bedroom_remote 244 | - input_select.office_remote 245 | - input_select.sonos 246 | 247 | Household: 248 | - device_tracker.USER1DEVICE 249 | - device_tracker.USER2DEVICE 250 | # - group.house_guest 251 | 252 | House Guest: 253 | # - device_tracker.REDACTED 254 | # - device_tracker.REDACTED 255 | # - device_tracker.REDACTED 256 | # - device_tracker.REDACTED 257 | # - device_tracker.REDACTED 258 | # - device_tracker.REDACTED 259 | # - device_tracker.REDACTED 260 | # - device_tracker.REDACTED 261 | 262 | Device Location: 263 | - device_tracker.USER1siphone 264 | - device_tracker.USER2siphone 265 | - device_tracker.USER1sipad 266 | - device_tracker.USER2sipad 267 | - device_tracker.USER1smacbookpro 268 | - device_tracker.USER1smacbookair 269 | - device_tracker.USER2smacbookair 270 | - device_tracker.USER1simac 271 | - device_tracker.USER2simac 272 | 273 | Friends and Family: 274 | - device_tracker.REDACTED 275 | - device_tracker.REDACTED 276 | - device_tracker.REDACTED 277 | - device_tracker.REDACTED 278 | - device_tracker.REDACTED 279 | - device_tracker.REDACTED 280 | - device_tracker.REDACTED 281 | - device_tracker.REDACTED 282 | - device_tracker.REDACTED 283 | - device_tracker.REDACTED 284 | - device_tracker.REDACTED 285 | - device_tracker.REDACTED 286 | - device_tracker.REDACTED 287 | - device_tracker.REDACTEDiphone 288 | - device_tracker.REDACTED 289 | - device_tracker.REDACTED 290 | - device_tracker.REDACTED 291 | 292 | Overnight Guests: 293 | - device_tracker.REDACTED 294 | - device_tracker.REDACTED 295 | - device_tracker.REDACTED 296 | - device_tracker.REDACTED 297 | - device_tracker.REDACTED 298 | - device_tracker.REDACTED 299 | - device_tracker.REDACTED 300 | - device_tracker.REDACTED 301 | - device_tracker.REDACTEDphone 302 | 303 | Party Modes: 304 | control: hidden 305 | entities: 306 | - input_boolean.livingroom_rainbow 307 | - input_boolean.office_rainbow 308 | - input_boolean.front_porch_rainbow 309 | 310 | Holiday Modes: 311 | control: hidden 312 | entities: 313 | - sensor.holidays_calendar 314 | - input_select.holiday 315 | - input_boolean.interior_holiday 316 | 317 | Living Room: 318 | control: hidden 319 | entities: 320 | - light.living_room_lamps 321 | - light.media_center_lighting 322 | - light.globe 323 | - switch.fireplace 324 | - switch.living_room_ceiling_fan 325 | - lock.front_door 326 | - binary_sensor.front_door_opened 327 | - binary_sensor.living_room_occupancy 328 | - sensor.living_room_temperature 329 | 330 | Bedroom: 331 | control: hidden 332 | entities: 333 | - light.USER1s_nightstand 334 | - light.USER2s_nightstand 335 | - light.bedroom_lamp 336 | - light.closet_lamp 337 | - light.bedroom_closet_ceiling 338 | - binary_sensor.bedroom_occupancy 339 | - sensor.bedroom_temperature 340 | 341 | Kitchen: 342 | control: hidden 343 | entities: 344 | - light.kitchen_ceiling 345 | - light.kitchen_cabinets 346 | - light.kitchen_sink 347 | - lock.back_door 348 | - binary_sensor.back_door_opened 349 | - binary_sensor.kitchen_occupancy 350 | - sensor.kitchen_temperature 351 | 352 | Bathroom: 353 | control: hidden 354 | entities: 355 | - light.bathroom_vanity 356 | - binary_sensor.bathroom_occupancy 357 | - sensor.bathroom_temperature 358 | 359 | USER1 Office: 360 | control: hidden 361 | entities: 362 | - light.office_ceiling 363 | - light.office_lamp 364 | - switch.air_purifier 365 | - input_boolean.portable_ac 366 | # - switch.office_fan 367 | - binary_sensor.office_occupancy 368 | - sensor.office_temperature 369 | 370 | USER2 Office: 371 | control: hidden 372 | entities: 373 | - light.USER2_office_ceiling 374 | - binary_sensor.USER2_office_occupancy 375 | - sensor.USER2_office_temperature 376 | 377 | Door Bell: 378 | - binary_sensor.ring_front_door_ding 379 | - binary_sensor.ring_front_door_motion 380 | 381 | Basement: 382 | control: hidden 383 | entities: 384 | - light.basement_stairs 385 | - light.basement_lights 386 | - lock.basement_door 387 | - binary_sensor.basement_door_opened 388 | - binary_sensor.basement_occupancy 389 | - binary_sensor.laundry_room_occupancy 390 | - sensor.basement_temperature 391 | - sensor.laundry_room_temperature 392 | 393 | Dining Room: 394 | control: hidden 395 | entities: 396 | - light.dining_room_table 397 | - light.dining_room_ceiling 398 | - binary_sensor.main_floor_occupancy 399 | - sensor.main_floor_temperature 400 | 401 | Guest Bedroom: 402 | control: hidden 403 | entities: 404 | - light.guest_bedroom_lamp 405 | - light.guest_bedroom_nightstand 406 | - binary_sensor.guest_bedroom_occupancy 407 | - sensor.guest_bedroom_temperature 408 | 409 | Garage: 410 | control: hidden 411 | entities: 412 | - light.garage_light 413 | - cover.garage_door 414 | 415 | Backyard Lighting: 416 | - switch.backyard_patio_lighting 417 | - switch.lower_backyard_lighting 418 | 419 | Interior: 420 | control: hidden 421 | entities: 422 | - light.hallway_light 423 | - light.stairs 424 | 425 | Interior Lights: 426 | - light.living_room_lights 427 | - light.dining_room_lights 428 | - light.bedroom_lights 429 | - light.kitchen_lights 430 | - light.stairs 431 | - light.USER1_office_lights 432 | - light.USER2_office_lights 433 | - light.guest_bedroom_lights 434 | - light.basement_lighting 435 | - light.bathroom_vanity 436 | - light.hallway_light 437 | 438 | Exterior Lights: 439 | - light.front_porch 440 | - light.back_door 441 | - light.backyard_deck 442 | - light.backyard_patio 443 | - light.garage_light 444 | - switch.front_yard_lighting 445 | - group.backyard_lighting 446 | 447 | Alarm: 448 | control: hidden 449 | entities: 450 | - input_boolean.enable_security 451 | - automation.security__motion_alarm 452 | - automation.security__door_alarm 453 | - input_boolean.panic_mode 454 | - input_boolean.alarm_tripped 455 | - wink.siren 456 | 457 | Thermostat: 458 | control: hidden 459 | entities: 460 | - climate.main_floor 461 | - climate.window_unit 462 | - input_boolean.portable_ac 463 | - sensor.dark_sky_temperature 464 | - input_boolean.thermostat_away 465 | - group.summer_mode 466 | - group.winter_mode 467 | 468 | Climate Control: 469 | control: hidden 470 | entities: 471 | - climate.main_floor 472 | - climate.window_unit 473 | - input_boolean.portable_ac 474 | 475 | Summer Mode: 476 | - automation.climate__turn_on_summer 477 | - automation.climate__turn_off_summer 478 | 479 | Winter Mode: 480 | - automation.climate__turn_on_winter 481 | - automation.climate__turn_off_winter 482 | 483 | Media Player: 484 | - sensor.REDACTED 485 | - media_player.living_room_apple_tv 486 | - media_player.bedroom_apple_tv 487 | - media_player.USER1s_office_apple_tv 488 | - media_player.guest_bedroom_apple_tv 489 | - media_player.roku_hd__REDACTED 490 | 491 | Sonos: 492 | - media_player.sonos_media_center 493 | - media_player.sonos_living_room 494 | - media_player.sonos_dining_room 495 | - media_player.sonos_kitchen 496 | - media_player.sonos_bathroom 497 | - media_player.sonos_bedroom 498 | - media_player.sonos_USER1s_office 499 | - media_player.sonos_USER2s_office 500 | - media_player.sonos_basement 501 | - media_player.sonos_backyard_patio 502 | 503 | Plex: 504 | - media_player.plex_living_room 505 | - media_player.plex_bedroom 506 | - media_player.plex_office 507 | - media_player.plex_guest_bedroom 508 | - media_player.plex_plex_for_vizio_vizio_mtk 509 | - media_player.plex_USER1s_iphone 510 | - media_player.plex_USER1s_ipad 511 | 512 | Remote: 513 | control: hidden 514 | entities: 515 | - input_select.remote 516 | - input_select.bedroom_remote 517 | - input_select.office_remote 518 | - input_select.sonos 519 | - input_boolean.group_all_sonos 520 | 521 | Water Sensors: 522 | control: hidden 523 | entities: 524 | - binary_sensor.basement_drain_water_sensor_liquid_detected 525 | - binary_sensor.sump_pump_water_sensor_liquid_detected 526 | 527 | Door Locks: 528 | control: hidden 529 | entities: 530 | - input_boolean.lock_doors 531 | - input_boolean.unlock_doors 532 | - lock.front_door 533 | - lock.back_door 534 | - lock.basement_door 535 | 536 | Locks: 537 | control: hidden 538 | entities: 539 | - lock.front_door 540 | - lock.back_door 541 | - lock.basement_door 542 | 543 | USER1 Door Codes: 544 | - binary_sensor.USER1_front_door_code 545 | - binary_sensor.USER1_back_door_code 546 | - binary_sensor.USER1_basement_door_code 547 | 548 | USER2 Door Codes: 549 | - binary_sensor.USER2_front_door_code 550 | - binary_sensor.USER2_back_door_code 551 | - binary_sensor.USER2_basement_door_code 552 | 553 | Door Codes: 554 | - binary_sensor.USER1_front_door_code 555 | - binary_sensor.USER1_back_door_code 556 | - binary_sensor.USER1_basement_door_code 557 | - binary_sensor.USER2_front_door_code 558 | - binary_sensor.USER2_back_door_code 559 | - binary_sensor.USER2_basement_door_code 560 | 561 | Occupancy: 562 | - binary_sensor.living_room_occupancy 563 | - binary_sensor.main_floor_occupancy 564 | - binary_sensor.kitchen_occupancy 565 | - binary_sensor.bedroom_occupancy 566 | - binary_sensor.bathroom_occupancy 567 | - binary_sensor.office_occupancy 568 | - binary_sensor.USER2_office_occupancy 569 | - binary_sensor.guest_bedroom_occupancy 570 | - binary_sensor.basement_occupancy 571 | - binary_sensor.laundry_room_occupancy 572 | 573 | Basement Occupancy: 574 | - binary_sensor.basement_occupancy 575 | - binary_sensor.laundry_room_occupancy 576 | 577 | Indoor Temperature: 578 | - sensor.living_room_temperature 579 | - sensor.main_floor_temperature 580 | - sensor.kitchen_temperature 581 | - sensor.bedroom_temperature 582 | - sensor.bathroom_temperature 583 | - sensor.office_temperature 584 | - sensor.USER2_office_temperature 585 | - sensor.guest_bedroom_temperature 586 | - sensor.basement_temperature 587 | - sensor.laundry_room_temperature 588 | 589 | Humidity: 590 | - sensor.main_floor_humidity 591 | - sensor.wink_relay_sensor_humidity 592 | - sensor.dark_sky_humidity 593 | 594 | Weather: 595 | - sun.sun 596 | - sensor.moon 597 | - sensor.dark_sky_temperature 598 | - sensor.dark_sky_apparent_temperature 599 | - sensor.dark_sky_humidity 600 | - sensor.dark_sky_cloud_coverage 601 | - sensor.dark_sky_precip 602 | - sensor.dark_sky_precip_probability 603 | - sensor.dark_sky_precip_intensity 604 | - sensor.dark_sky_nearest_storm_distance 605 | # - sensor.weather_nearest_storm_bearing 606 | - sensor.dark_sky_wind_speed 607 | - sensor.dark_sky_wind_bearing 608 | - sensor.dark_sky_visibility 609 | - sensor.dark_sky_ozone 610 | - sensor.dark_sky_pressure 611 | - sensor.dark_sky_dew_point 612 | 613 | Weather Summary: 614 | - sensor.dark_sky_summary 615 | - sensor.dark_sky_minutely_summary 616 | - sensor.dark_sky_hourly_summary 617 | - sensor.dark_sky_daily_summary 618 | 619 | Doors: 620 | - binary_sensor.front_door_opened 621 | - binary_sensor.back_door_opened 622 | - binary_sensor.basement_door_opened 623 | 624 | Travel Times: 625 | - sensor.USER1_to_home 626 | - sensor.USER2_to_home 627 | - sensor.USER2_to_REDACTED 628 | - sensor.USER2_to_REDACTED 629 | - sensor.USER2_to_REDACTED 630 | 631 | System: 632 | - sensor.uptime 633 | - binary_sensor.wink_hub 634 | - binary_sensor.wink_relay 635 | - updater.updater 636 | 637 | NAS: 638 | - sensor.nas_status 639 | - sensor.nas_cpu_usage 640 | - sensor.nas_memory_usage 641 | - sensor.nas_smart_status_drive_01 642 | - sensor.nas_smart_status_drive_02 643 | - sensor.nas_smart_status_drive_03 644 | - sensor.nas_smart_status_drive_04 645 | - sensor.nas_volume_used_storage 646 | - sensor.nas_volume_used_backup 647 | - sensor.nas_system_temperature 648 | 649 | UPS: 650 | - sensor.ups_status 651 | - sensor.ups_battery_charge 652 | - sensor.ups_load 653 | - sensor.ups_battery_runtime_mins 654 | - sensor.ups_input_voltage 655 | 656 | Battery Levels: 657 | - sensor.roomba_batt 658 | - sensor.ring_front_door_battery 659 | - sensor.front_door_lock_batt 660 | - sensor.back_door_lock_batt 661 | - sensor.basement_door_lock_batt 662 | - sensor.siren_batt 663 | - sensor.front_door_sensor_batt 664 | - sensor.back_door_sensor_batt 665 | - sensor.basement_door_sensor_batt 666 | - sensor.basement_drain_water_sensor_batt 667 | - sensor.sump_pump_water_sensor_batt 668 | 669 | DNS: 670 | - sensor.pihole_dns_queries_today 671 | - sensor.pihole_ads_blocked_today 672 | - sensor.pihole_ads_percentage_blocked_today 673 | - sensor.pihole_dns_queries_today_2 674 | - sensor.pihole_ads_blocked_today_2 675 | - sensor.pihole_ads_percentage_blocked_today_2 676 | 677 | Garage Outlets: 678 | - switch.myq_garage_outlet 679 | 680 | All Input Boolean: 681 | - input_boolean.USER1_greeting 682 | - input_boolean.USER2_greeting 683 | - input_boolean.USER2_working 684 | - input_boolean.bedroom_tv 685 | - input_boolean.watching_plex 686 | - input_boolean.office_tv 687 | - input_boolean.garage_door 688 | - input_boolean.USER1_away 689 | - input_boolean.USER1_away_driving 690 | - input_boolean.USER1_home 691 | - input_boolean.manual_USER1_away 692 | - input_boolean.USER2_away 693 | - input_boolean.USER2_away_driving 694 | - input_boolean.USER2_home 695 | - input_boolean.manual_USER2_away 696 | - input_boolean.thermostat_away 697 | - input_boolean.house_guest_away 698 | - input_boolean.guest_mode 699 | - input_boolean.vacation_mode 700 | - input_boolean.bedtime 701 | - input_boolean.unlock_doors 702 | - input_boolean.lock_doors 703 | - input_boolean.interior_holiday 704 | - input_boolean.livingroom_rainbow 705 | - input_boolean.office_rainbow 706 | - input_boolean.front_porch_rainbow 707 | - input_boolean.enable_security 708 | - input_boolean.alarm_tripped 709 | - input_boolean.panic_mode 710 | - input_boolean.jazz_music 711 | - input_boolean.pop_music 712 | - input_boolean.adele_music 713 | - input_boolean.chill_music 714 | - input_boolean.classical_music 715 | - input_boolean.electronic_music 716 | - input_boolean.disable_auto_garage 717 | - input_boolean.disable_door_open_lights_on 718 | - input_boolean.disable_doorbell 719 | - input_boolean.disable_exterior_off_night 720 | - input_boolean.disable_exterior_on_sunset 721 | - input_boolean.disable_home_away 722 | - input_boolean.disable_interior_lights_sunset 723 | - input_boolean.disable_lights_morning 724 | - input_boolean.disable_lock_unlock_doors 725 | - input_boolean.disable_media_lights 726 | - input_boolean.disable_occupancy 727 | - input_boolean.disable_rainy_day 728 | - input_boolean.disable_voice_greeting 729 | - input_boolean.disable_water_sensors 730 | - input_boolean.disable_portable_ac 731 | 732 | Calendars: 733 | - calendar.holidays_in_united_states 734 | - calendar.personal 735 | - calendar.REDACTED 736 | - calendar.work 737 | - sensor.USER2_work_offset 738 | 739 | Scenes: 740 | - scene.lock_doors 741 | - scene.put_out_fire 742 | - scene.security 743 | - scene.start_a_fire 744 | - scene.unlock_doors 745 | - scene.vacation 746 | - scene.vacation_disable_automation 747 | - scene.vacation_enable_automation 748 | --------------------------------------------------------------------------------