mirror of
https://github.com/thejeffreystone/home-assistant-configuration.git
synced 2025-02-09 00:55:08 +00:00
Lots of updates here. Updated my Readme - Added Affiliate Links, added some more information, better organized devices Updated gitignore with paths realtive to my hassio config Combined my switches and lights into single yaml files instead of the directory structure previously Added zigbee2mqtt.yaml to packages - contains automations and such for zigbee2mqtt Archived my previous version in the V4-config branch.
632 lines
17 KiB
YAML
632 lines
17 KiB
YAML
- id: washer_running
|
|
alias: Washer Running
|
|
trigger:
|
|
- above: 5
|
|
entity_id: sensor.washer_power
|
|
platform: numeric_state
|
|
action:
|
|
- service: script.washer_running
|
|
initial_state: true
|
|
- id: washer_complete
|
|
alias: Washer Complete
|
|
trigger:
|
|
- below: 3
|
|
entity_id: sensor.washer_power
|
|
platform: numeric_state
|
|
condition:
|
|
- condition: state
|
|
entity_id: sensor.washer_status
|
|
state: running
|
|
action:
|
|
- service: script.washer_complete
|
|
initial_state: true
|
|
- id: washer_emptied
|
|
initial_state: true
|
|
alias: Washer Emptied
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.washer_door
|
|
from: 'off'
|
|
to: 'on'
|
|
action:
|
|
- service: script.washer_idle
|
|
- service: script.turn_off
|
|
entity_id: script.washer_finished_notification_audible
|
|
- id: washer_notification
|
|
initial_state: true
|
|
alias: Washer Notification
|
|
trigger:
|
|
- platform: state
|
|
entity_id: sensor.washer_status
|
|
from: running
|
|
to: complete
|
|
action:
|
|
- service: script.washer_finished_notification_audible
|
|
- id: turn_off_disney
|
|
initial_state: true
|
|
alias: Turn Off Disney
|
|
trigger:
|
|
- platform: state
|
|
entity_id: media_player.hass_speaker
|
|
from: playing
|
|
to: idle
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.tiki_room_audio
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.happy_ever_after_show
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.haunted_mansion
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.boo_to_you_show
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.spaceship_earth_ride
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.mk_loop
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.illuminations
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.boo_to_you
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.happy_ever_after
|
|
- id: backup_hass
|
|
initial_state: true
|
|
alias: Backup Hass
|
|
trigger:
|
|
- platform: time
|
|
at: 05:00:00
|
|
action:
|
|
- service: shell_command.backup
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: '{{ [ "I just kicked off a backup of #homeassistant to ensure I live
|
|
on. Do you backup? ", "Its important to backup your data. Thats why I just
|
|
intitiated a backup of my critical data. ", "With @home_assistant and the
|
|
#dropbox component it is easy to backup your important config files. Lets
|
|
do this thing! " ] | random }}'
|
|
|
|
- id: coffee_time
|
|
alias: Coffee Time
|
|
initial_state: true
|
|
trigger:
|
|
platform: template
|
|
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.coffee_time', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.diminshed_livingroom_lighting
|
|
- service: scene.turn_on
|
|
entity_id: scene.diminished_kitchen_lighting
|
|
- service: alarm_control_panel.alarm_arm_home
|
|
entity_id: alarm_control_panel.ah_base_station
|
|
|
|
- id: good_morning
|
|
alias: Good Morning
|
|
initial_state: true
|
|
trigger:
|
|
platform: template
|
|
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.good_morning', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.normal_livingroom_lighting
|
|
- service: scene.turn_on
|
|
entity_id: scene.normal_kitchen_lighting
|
|
- service: switch.turn_off
|
|
entity_id: switch.0xf0d1b80000052281_switch # Rainbow Light
|
|
- service: light.turn_on
|
|
entity_id: light.0xe20db9fffe003637_light # Skylar's Lamp
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_light_on
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: '{{ [ "Good Morning! Time to rise and shine at Anchorage House. ",
|
|
"Good Morning from Anchorage House. Glad to see everyone made it. ", "Birds
|
|
are awake, and so is Anchorage House. Good morning everyone! " ] | random
|
|
}}'
|
|
|
|
- id: skylar_bedtime
|
|
alias: Skylar Bedtime
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '19:15:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: switch.turn_on
|
|
entity_id: switch.0xf0d1b80000052281_switch # Rainbow Light
|
|
- service: light.turn_on
|
|
entity_id: light.0xe20db9fffe003637_light
|
|
- service: alarm_control_panel.alarm_arm_away
|
|
entity_id: alarm_control_panel.ah_base_station
|
|
- id: jeff_lights_out
|
|
alias: Jeff lights out
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '23:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_light_off
|
|
- id: jeff_bedtime
|
|
alias: Jeff bedtime
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '22:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: light.jeff_light
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_bedtime
|
|
- id: jeff_night_light
|
|
alias: Jeff night light
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '22:30:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: light.jeff_light
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_night_light
|
|
- id: jeff_light_on
|
|
alias: Jeff Light On
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '20:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_light_on
|
|
- id: jeff_alarm
|
|
alias: Jeff alarm
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: 05:15:00
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_night_light
|
|
- id: jeff_wake_up
|
|
alias: Jeff wake up
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: 05:30:00
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.vacation_mode
|
|
state: 'off'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_wake_up
|
|
- id: good_night
|
|
alias: Good Night
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '22:30:00'
|
|
action:
|
|
- service: scene.turn_on
|
|
entity_id: scene.night_time_livingroom_lighting
|
|
- service: switch.turn_off
|
|
entity_id: switch.upstairs_fan
|
|
- service: switch.turn_off
|
|
entity_id: switch.upstairs
|
|
- service: switch.turn_off
|
|
entity_id: switch.incense
|
|
- service: switch.turn_off
|
|
entity_id: switch.artemis
|
|
- service: light.turn_off
|
|
data:
|
|
entity_id: light.kitchen_cabinet_lights
|
|
- service: light.turn_off
|
|
data:
|
|
entity_id: light.kitchen_cabinets
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: '{{ [ "Good Night from Anchorage House. ", "Time to shut down this
|
|
party. Good Night from Anchorage House. ", "We have come to the end of our
|
|
broadcast day. Oh, who am I kidding. I''ll be up all night watching over Anchorage
|
|
House. " ] | random }}'
|
|
- id: outside_lights_on_sunset
|
|
alias: Outside Lights on at Sunset
|
|
initial_state: true
|
|
trigger:
|
|
- platform: sun
|
|
event: sunset
|
|
offset: -00:30:00
|
|
action:
|
|
- service: switch.turn_on
|
|
data:
|
|
entity_id: switch.front_porch
|
|
- service: script.sunset_garage_open
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: '{{ [ "Its getting dark at Anchorage House, so Im turning on the outside
|
|
lights. ", "When the Sun goes down, I help out by turning on the outside lights.
|
|
Its the little things. ", "Its getting dark so let me spell out my name...
|
|
Wait. Did I break into a random #Hamilton song? Pardon me. umm. I just turned
|
|
on the outside lights at Anchorage House. " ] | random }}'
|
|
- service: alarm_control_panel.alarm_arm_away
|
|
entity_id: alarm_control_panel.ah_base_station
|
|
|
|
- id: sunset
|
|
alias: Sunset
|
|
initial_state: true
|
|
trigger:
|
|
- platform: sun
|
|
event: sunset
|
|
action:
|
|
- service: alarm_control_panel.alarm_arm_away
|
|
entity_id: alarm_control_panel.ah_base_station
|
|
- service: script.ah_report
|
|
data:
|
|
call_interuption: 1
|
|
call_dark_outside: 1
|
|
call_garage_door_status: 1
|
|
|
|
- id: outside_lights_off_sunrise
|
|
alias: Outside Lights off at Sunrise
|
|
initial_state: true
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
action:
|
|
- service: switch.turn_off
|
|
data:
|
|
entity_id: switch.front_porch
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: '{{ [ "The sun is up at Anchorage House, so Im turning off the outside
|
|
lights. ", "I see the sun! Time to turn off the outside lights at Anchorage
|
|
House. ", "Dawn has broken at Anchorage House. Turning off the outside lights.
|
|
" ] | random }}'
|
|
- service: alarm_control_panel.alarm_arm_home
|
|
entity_id: alarm_control_panel.ah_base_station
|
|
|
|
- id: inside_on_sunset
|
|
alias: Inside on at Sunset
|
|
initial_state: true
|
|
trigger:
|
|
- platform: sun
|
|
event: sunset
|
|
offset: -01:00:00
|
|
action:
|
|
service: scene.turn_on
|
|
entity_id: scene.normal_livingroom_lighting
|
|
- id: inside_off_sunrise
|
|
alias: Inside off at Sunrise
|
|
initial_state: true
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
offset: 00:30:00
|
|
condition:
|
|
- condition: numeric_state
|
|
entity_id: sensor.dark_sky_cloud_coverage
|
|
below: 50
|
|
action:
|
|
- service: script.inside_all_off
|
|
- service: scene.turn_on
|
|
entity_id: scene.jeff_light_off
|
|
- id: ha_start
|
|
alias: HA Startup
|
|
initial_state: true
|
|
trigger:
|
|
- platform: homeassistant
|
|
event: start
|
|
action:
|
|
service: frontend.set_theme
|
|
data:
|
|
name: midnight-AH
|
|
- id: turn_off_audible_notifications
|
|
alias: Turn Off Audible Notifications
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '19:30:00'
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.audible_notifications
|
|
- id: turn_off_audible_notifications_guests
|
|
alias: Turn Off Audible Notifications at 7pm
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '19:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.guest_mode
|
|
state: 'on'
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.audible_notifications
|
|
- id: turn_on_audible_notifications
|
|
alias: Turn On Audible Notifications at 7am
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: 06:40:00
|
|
action:
|
|
- entity_id: input_boolean.audible_notifications
|
|
service: input_boolean.turn_on
|
|
- id: jeff_eta_home
|
|
alias: Jeff eta home
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id: sensor.jeff_destination
|
|
to: Home
|
|
condition:
|
|
- condition: state
|
|
entity_id: sensor.notification_mode
|
|
state: Normal
|
|
action:
|
|
- service: input_boolean.turn_on
|
|
entity_id: input_boolean.jeff_travel_monitor
|
|
- id: enable_bad_traffic_home_jeff
|
|
alias: Notify Jeff - Bad Traffic
|
|
initial_state: true
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: sensor.jeff_ett_home
|
|
above: 59
|
|
condition:
|
|
- condition: state
|
|
entity_id: sensor.jeff_location
|
|
state: Summit
|
|
- condition: state
|
|
entity_id: input_boolean.jeff_traffic_alerts
|
|
state: 'on'
|
|
action:
|
|
- service: input_boolean.turn_on
|
|
entity_id: input_boolean.jeff_traffic_alert_home
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: '{{ [ "Looks like traffic is bad out there so I let @thejeffreystone
|
|
know. ", "I dont think todays traffic is the worst I''ve seen, but its bad.
|
|
Letting my residents know they need to plan their trips. ", "Oh great...traffic
|
|
can''t get any worse. Maybe everyone should stay where they are. " ] | random
|
|
}}'
|
|
- id: disable_bad_traffic_home_jeff
|
|
alias: Disabling Jeff Bad Traffic Home
|
|
initial_state: true
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: sensor.jeff_ett_home
|
|
below: 40
|
|
- platform: state
|
|
entity_id: sensor.jeff_destination
|
|
to: Home
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.jeff_traffic_alert_home
|
|
state: 'on'
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.jeff_traffic_alert_home
|
|
- id: '1550107919204'
|
|
alias: Family Is Home Webhook
|
|
trigger:
|
|
- platform: webhook
|
|
webhook_id: home_webhook
|
|
condition: []
|
|
action:
|
|
- service: script.family_is_home
|
|
- id: '1550108034209'
|
|
alias: Family Is Away Webhook
|
|
trigger:
|
|
- platform: webhook
|
|
webhook_id: away_webhook
|
|
condition: []
|
|
action:
|
|
- service: script.family_is_away
|
|
|
|
- id: set_coffee_time
|
|
alias: set soffee time
|
|
trigger:
|
|
- platform: time
|
|
at: '00:02:15'
|
|
action:
|
|
- service: input_datetime.set_datetime
|
|
entity_id: input_datetime.coffee_time
|
|
data_template:
|
|
time: >
|
|
{% if states.binary_sensor.workday_sensor.state == 'on' %}
|
|
04:30
|
|
{% else %}
|
|
07:15
|
|
{% endif %}
|
|
|
|
- id: set_good_morning_time
|
|
alias: set good morning time
|
|
trigger:
|
|
- platform: time
|
|
at: '05:55:00'
|
|
action:
|
|
- service: input_datetime.set_datetime
|
|
entity_id: input_datetime.good_morning
|
|
data_template:
|
|
time: >
|
|
{% if states.calendar.skylar_school.attributes.offset_reached == True %}
|
|
06:00
|
|
{% elif states.binary_sensor.workday_sensor.state == 'on' %}
|
|
06:30
|
|
{% else %}
|
|
07:25
|
|
{% endif %}
|
|
|
|
- id: upstairs_fan_on
|
|
alias: Upstairs Fan On
|
|
initial_state: true
|
|
trigger:
|
|
- entity_id: binary_sensor.upstairs_occupancy
|
|
from: 'Off'
|
|
platform: state
|
|
to: 'On'
|
|
condition:
|
|
- above: '73'
|
|
condition: numeric_state
|
|
entity_id: sensor.upstairs_temperature
|
|
action:
|
|
- data:
|
|
entity_id: switch.upstairs_fan
|
|
service: switch.turn_on
|
|
|
|
- id: '1558630577206'
|
|
alias: Garage Is Open at 9pm
|
|
initial_state: true
|
|
trigger:
|
|
- at: '21:00:00'
|
|
platform: time
|
|
condition:
|
|
- condition: state
|
|
entity_id: binary_sensor.garage_door_contact_2
|
|
state: 'on'
|
|
action:
|
|
- data:
|
|
entity_id: input_boolean.garage_after_dark
|
|
service: input_boolean.turn_on
|
|
- id: '1559612300685'
|
|
alias: Garage Closed
|
|
initial_state: true
|
|
trigger:
|
|
- entity_id: binary_sensor.garage_door_contact_2
|
|
from: 'on'
|
|
platform: state
|
|
to: 'off'
|
|
condition: []
|
|
action:
|
|
- data:
|
|
entity_id: input_boolean.garage_after_dark
|
|
service: input_boolean.turn_off
|
|
- id: '1562066108032'
|
|
alias: Living Room Fan On
|
|
initial_state: true
|
|
trigger:
|
|
- entity_id: binary_sensor.living_room_occupancy
|
|
from: 'off'
|
|
platform: state
|
|
to: 'on'
|
|
condition:
|
|
- condition: state
|
|
entity_id: switch.living_room_fan
|
|
state: 'off'
|
|
action:
|
|
- data:
|
|
entity_id: switch.living_room_fan
|
|
service: switch.turn_on
|
|
- id: '1562067639239'
|
|
alias: Upstairs Fan Off
|
|
initial_state: true
|
|
trigger:
|
|
- entity_id: binary_sensor.upstairs_occupancy
|
|
from: 'on'
|
|
platform: state
|
|
to: 'off'
|
|
condition:
|
|
- condition: state
|
|
entity_id: switch.upstairs_fan
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: media_player.tsr_6750_a3ed2f
|
|
state: 'off'
|
|
action:
|
|
- data:
|
|
entity_id: switch.upstairs_fan
|
|
service: switch.turn_off
|
|
- id: '1562630916597'
|
|
alias: Kat Pill Reminder
|
|
initial_state: true
|
|
trigger:
|
|
- platform: template
|
|
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.kat_pill_reminder', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
|
|
action:
|
|
- data:
|
|
message: Remember to take meds
|
|
service: notify.kat_ios
|
|
|
|
|
|
# - id: turn_off_ha_speaker
|
|
# alias: Turn Off HA Speaker
|
|
# trigger:
|
|
# - platform: state
|
|
# entity_id: media_player.hass_speaker
|
|
# from: 'playing'
|
|
# to: 'idle'
|
|
# action:
|
|
# - service: media_player.turn_off
|
|
# entity_id: media_player.hass_speaker
|
|
# initial_state: true
|
|
|
|
- id: turn_off_kitchen_speaker
|
|
alias: Turn Off Kitchen Display
|
|
trigger:
|
|
- platform: state
|
|
entity_id: media_player.googlehomehub3492
|
|
from: 'playing'
|
|
to: 'idle'
|
|
action:
|
|
- service: media_player.turn_off
|
|
entity_id: media_player.googlehomehub3492
|
|
initial_state: true
|
|
|
|
- id: turn_off_ha_speaker
|
|
alias: Turn Off HA Speaker
|
|
trigger:
|
|
- platform: state
|
|
entity_id: media_player.theater
|
|
from: 'playing'
|
|
to: 'idle'
|
|
action:
|
|
- service: switch.turn_off
|
|
entity_id: switch.ha_speaker
|
|
- service: media_player.turn_off
|
|
entity_id: media_player.theater
|
|
- service: script.kill_this_ride
|
|
initial_state: true
|
|
|
|
|
|
|
|
##########################
|
|
# My Attempt at preventing twitter from being spammed with new HA tweets on reboot
|
|
|
|
- id: new_ha
|
|
alias: New HA
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.updater
|
|
from: 'off'
|
|
to: 'on'
|
|
action:
|
|
- service: script.twitter_new_ha
|
|
- service: ifttt.trigger
|
|
data_template: {"event":"GitPost", "value1":"Home Assistant {{ states.binary_sensor.updater.attributes.newest_version }} is now available.", "value2":"{{ states.binary_sensor.updater.attributes.newest_version }}"}
|
|
###########################
|