- id: washer_running
  alias: Washer Running
  trigger:
  - above: 5
    entity_id: sensor.washer
    platform: numeric_state
  action:
  - service: script.washer_running
  initial_state: true
- id: washer_complete
  alias: Washer Complete
  trigger:
  - below: 3
    entity_id: sensor.washer
    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_contact
    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.rainbow_light_3
  - 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.rainbow_light_3
  - service: light.turn_on
    entity_id: light.table_lamp_2
  - 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_2
  - 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' %}
            05:15
          {% 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 }}"}
###########################