###############################################################################
#   @author         :   Jeffrey Stone 
#   @date           :   03/13/2019
#   @package        :   Security
#   @description    :   Everything related to security functions. 
###############################################################################

input_boolean:
  happy_ever_after_show:
    name: Happy Ever After Show
  haunted_mansion:
    name: Haunted Mansion 
  boo_to_you_show:
    name: Boo To You 
  holiday_wishes:
    name: Holiday Wishes 
  spaceship_earth_ride:
    name: Spaceship Earth 
  boo_to_you:
    name: Boo To You 
  happy_ever_after:
    name: Happy Ever After
  mk_loop:
    name: MK Loop
  tiki_room_audio:
    name: Tiki Room
  illuminations:
    name: Illuminations

automation:
  - id: mk_loop_on
    alias: MK Loop On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.mk_loop
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.mk_loop
  - id: tiki_room_on
    alias: Tiki Room On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.tiki_room_audio
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.tiki_room_audio
  - id: tiki_room_off
    alias: Tiki Room Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.tiki_room_audio
      to: 'off'
    action:
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
    - service: script.turn_on
      entity_id: script.kill_this_ride
  - id: illuminations_on
    alias: Illuminations On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.illuminations
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.illuminations_audio
  - id: illuminations_off
    alias: Illuminations Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.illuminations
      to: 'off'
    action:
    - service: script.turn_off
      entity_id: script.illuminations_audio
    - service: script.turn_on
      entity_id: script.kill_this_ride
  - id: mk_loop_off
    alias: MK Loop Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.mk_loop
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
  - id: happy_ever_after_show_on
    alias: Happy Ever After Show On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.happy_ever_after_show
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.happy_ever_after_show
  - id: happy_ever_after_show_off
    alias: Happy Ever After Show Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.happy_ever_after_show
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
  - id: happy_ever_after_on
    alias: Happy Ever After On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.happy_ever_after
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.happy_ever_after
  - id: happy_ever_after_off
    alias: Happy Ever After Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.happy_ever_after
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
  - id: haunted_mansion_on
    alias: Haunted Mansion On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.haunted_mansion
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.haunted_mansion_start
  - id: haunted_mansion_off
    alias: Haunted Mansion Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.haunted_mansion
      to: 'off'
    action:
    - service: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
  - id: spaceship_earth_on
    alias: Spaceship Earth On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.spaceship_earth_ride
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.spaceship_earth_ride
  - id: spaceship_earth_off
    alias: Spaceship Earth Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.spaceship_earth_ride
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
  - id: boo_to_you_show_on
    alias: Boo To You Show On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.boo_to_you_show
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.boo_to_you_show
  - id: boo_to_you_show_off
    alias: Boo To You Show Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.boo_to_you_show
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
  - id: boo_to_you_on
    alias: Boo To You On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.boo_to_you
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.boo_to_you
  - id: boo_to_you_off
    alias: Boo To You Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.boo_to_you
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
  - id: holiday_wisher_on
    alias: Holiday Wishes On
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.holiday_wishes
      to: 'on'
    action:
    - service: script.turn_on
      entity_id: script.holiday_wishes_start
  - id: holiday_wishes_off
    alias: Holiday Wishes Off
    initial_state: true
    trigger:
    - platform: state
      entity_id: input_boolean.holiday_wishes
      to: 'off'
    action:
    - service: script.turn_on
      entity_id: script.kill_this_ride
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker

script:
  kill_hurry_back:
    sequence:
    - service: shell_command.alarm_off
  hurry_back_short:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.haunted_mansion_hurry_back_short
  hurry_back_full:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.haunted_mansion_hurry_back_full
  haunted_lights_on:
    sequence:
    - delay: 00:02:25
    - service: scene.turn_on
      data:
        entity_id: scene.haunted_preshow
  # house_lights_on:
  #   sequence:
  #   - delay: 00:04:20
  #   - service: scene.turn_on
  #     data:
  #       entity_id: scene.normal_livingroom_lighting
  haunted_lights_out:
    sequence:
    - delay: 00:02:15
    - service: scene.turn_on
      data:
        entity_id: scene.haunted_lights_out
  haunted_preshow:
    sequence:
    - delay: 00:01:15
    - service: scene.turn_on
      data:
        entity_id: scene.haunted_preshow
  haunted_mansion_start:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.haunted_mansion_preshow_full
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/haunted_mansion_preshow_full.mp3
        media_content_type: "music"
    - data:
        entity_id: script.haunted_preshow
      service: script.turn_on
    - data:
        entity_id: script.haunted_lights_out
      service: script.turn_on
    - data:
        entity_id: script.haunted_lights_on
      service: script.turn_on
    - data:
        entity_id: script.house_lights_on
      service: script.turn_on
  kill_haunted_mansion:
    sequence:
    - service: shell_command.alarm_off
    - service: script.turn_off
      data:
        entity_id: script.haunted_preshow
    - service: script.turn_off
      data:
        entity_id: script.haunted_lights_out
    - service: script.turn_off
      data:
        entity_id: script.haunted_lights_on
    - service: scene.turn_on
      data:
        entity_id: scene.normal_livingroom_lighting
  haunted_ride:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.haunted_mansion_ride
  mk_loop:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.mk_audio
  kill_this_ride:
    sequence:
    - service: media_player.media_stop
      entity_id: media_player.hass_speaker
    - service: shell_command.alarm_off
    - service: script.turn_off
      data:
        entity_id: script.haunted_preshow
    - service: script.turn_off
      data:
        entity_id: script.haunted_lights_out
    - service: script.turn_off
      data:
        entity_id: script.haunted_lights_on
    - service: script.turn_off
      data:
        entity_id: script.illuminations_preshow
    - service: script.turn_off
      data:
        entity_id: script.illuminations_lights_out
    - service: scene.turn_on
      data:
        entity_id: scene.normal_livingroom_lighting
    - service: input_boolean.turn_off
      entity_id: input_boolean.illuminations
    - service: script.chromecast_media_stop
    - service: script.turn_off
      data:
        entity_id: script.holiday_wishes
    - service: script.turn_off
      data:
        entity_id: script.holiday_wishes_start
    - service: script.turn_off
      entity_id: script.illuminations_preshow
    - service: script.turn_off
      entity_id: script.illuminations_lights_out
    - service: script.turn_off
      entity_id: script.illuminations_single_light
    - service: script.turn_off
      entity_id: script.illuminations_dual_light
    - service: script.turn_off
      entity_id: script.illuminations_triple_light
    - service: script.turn_off
      entity_id: script.illuminations_show
  move_it_shake_it:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.dance_it
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/move_it_shake_dance_audio.mp3
        media_content_type: "music"
  spaceship_earth_ride:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.spaceship_earth_ride
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: media/audio/spaceship_earth_ride.mp3
        media_content_type: "music"
  welcome_to_magic_kingdom:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.welcome_to_mk
  monorail_waiting:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.monorail_waiting
  monorail_mk:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    - service: shell_command.monorail_mk
  monorail_resort:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: group.family
      state: 'on'
    - service: shell_command.monorail_resort
  welcome_show_audio:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.welcome_show_crowd
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/welcome_show_crowd.mp3
        media_content_type: "music"
  holiday_wishes_start:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: group.family
      state: 'on'
    - service: shell_command.wishes_preshow
    - service: script.holiday_wishes
  holiday_wishes:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.holiday_wishes
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/wishes_5_min.mp3
        media_content_type: "music"
  boo_to_you_show:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.boo_to_you
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/boo_to_you_audio.mp3
        media_content_type: "music"
  happy_ever_after_show:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.happily_ever_after
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/Happily_Ever_After_Audio.mp3
        media_content_type: "music"
  boo_to_you:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.boo_to_you
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/boo_to_you_audio.mp3
        media_content_type: "music"
  tiki_room_audio:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.tiki_room_audio
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/tiki_room_audio.mp3
        media_content_type: "music"
  happy_ever_after:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.happily_ever_after
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/Happily_Ever_After_Audio.mp3
        media_content_type: "music"
  illuminations_lights_out:
    sequence:
    - delay: 00:00:57
    - service: scene.turn_on
      data:
        entity_id: scene.haunted_lights_out
  illuminations_single_light:
    sequence:
    - delay: 00:01:03
    - service: scene.turn_on
      data:
        entity_id: scene.dimished_livingroom_lighting
  illuminations_dual_light:
    sequence:
    - delay: 00:01:08
    - service: scene.turn_on
      data:
        entity_id: scene.illuminations_livingroom_lighting_two
  illuminations_triple_light:
    sequence:
    - delay: 00:01:11
    - service: scene.turn_on
      data:
        entity_id: scene.illuminations_livingroom_lighting_three
  illuminations_show:
    sequence:
    - delay: 00:01:19
    - service: scene.turn_on
      data:
        entity_id: scene.normal_livingroom_lighting
  illuminations_preshow:
    sequence:
    - service: scene.turn_on
      data:
        entity_id: scene.normal_livingroom_lighting
  illuminations_audio:
    sequence:
    - condition: state
      entity_id: input_boolean.audible_notifications
      state: 'on'
    - condition: state
      entity_id: sensor.family_status
      state: Home
    #- service: shell_command.illuminations_audio
    - service: media_player.play_media
      entity_id: media_player.hass_speaker
      data:
        media_content_id: /media/audio/illuminations.mp3
        media_content_type: "music"
    - service: script.turn_on
      entity_id: script.illuminations_preshow
    - service: script.turn_on
      entity_id: script.illuminations_lights_out
    - service: script.turn_on
      entity_id: script.illuminations_single_light
    - service: script.turn_on
      entity_id: script.illuminations_dual_light
    - service: script.turn_on
      entity_id: script.illuminations_triple_light
    - service: script.turn_on
      entity_id: script.illuminations_show