input_boolean:
  routine_welcome_home:
    name: Coming home · Say welcome
    initial: on
    icon: mdi:account-plus-outline

script:
  routine_coming_home:
    alias: Routine · Coming home
    sequence:
      - service: light.turn_on
        entity_id:
          - light.hallway_entrance
          - light.browser_kitchen
          - light.browser_hallway
          - light.living_room_ambient
          - light.bedside
        data:
          brightness_pct: 100
      - service: script.bed_led_on
      - service: switch.turn_on
        entity_id: switch.mercury_home_mode
      - service: script.routine_coming_home_during_daytime
      - service: script.routine_coming_home_after_sunset
      - service: input_select.select_option
        entity_id: input_select.hallway_dashboard_mode
        data:
          option: "Coming Home"
      - service: script.toshiba_ac_on_cool_if_hot
      - service: script.sonos_join_bedroom
      - service: script.routine_coming_home_welcome_home
      - service: script.turn_on_all_radiators




  routine_coming_home_during_daytime:
    alias: Routine · Coming home · During daytime
    sequence:
      - condition: and
        conditions:
          - condition: sun
            after: sunrise
          - condition: sun
            before: sunset
      - service: cover.set_cover_position
        entity_id: cover.living_room
        data:
          poisition: 80


  routine_coming_home_after_sunset:
    alias: Routine · Coming home · After sunset
    sequence:
      - condition: or
        conditions:
          - condition: sun
            after: sunset
            after_offset: "-01:00:00"
          - condition: sun
            before: sunrise
      - service: light.turn_on
        entity_id: light.on_after_dark
        data:
          brightness_pct: 100

  routine_coming_home_welcome_home:
    alias: Routine · Coming home · Welcome home
    sequence:
      - condition: state
        entity_id: input_boolean.routine_welcome_home
        state: "on"
      - service: script.say
        data_template:
          partials:
            - !include ../../templates/partials/greeting.yaml
            - !include ../../templates/partials/time.yaml
            # - "Here's the current status:" // TODO: figure out if there will be anything to say?
            - !include ../../templates/partials/window_suggestions.yaml
      - wait_template: "{{ is_state('input_boolean.sarah_talking', 'off') }}"
        timeout: 00:02:00
      - delay: 00:00:01

      - condition: and
        conditions:
          - condition: time
            before: "23:00:00"
          - condition: time
            after: "9:00:00"

      - service: script.say
        data_template:
          message: >-

            {{
              [
                "I'll put some music on.",
                "I'll play some music.",
                "Here's some music."
              ] | random
            }}
      - delay: 00:00:02

      - service: script.music_play

automation:
  - alias: Routine · Coming home · Left work
    trigger:
      platform: event
      event_type: telegram_callback
      event_data:
        command: "/leaving_work_to_home"
    action:
      - service: telegram_bot.edit_replymarkup
        data_template:
          message_id: "last"
          chat_id: "{{ trigger.event.data.chat_id }}"
          inline_keyboard:
      - service: notify.telegram
        data_template:
          title: "🏠 *Presence Module · Leaving Work*"
          message: >-

            {{
              [
                "Okay, I'll be expecting you!",
                "Awesome! I'm prepping for your arrival",
                "Cool, I'll be ready!"
              ] | random
            }}
      - service: script.turn_on_all_radiators
