Automation - parallel, non blocking service call, variable scope

Hi, I am writing automation and have run into some issues

action:
  - choose:
    - conditions: "{{ trigger.entity_id == person_doubletake_entity }}"
      sequence:
      - parallel:
          - service: shell_command.play_tts_on_vto   #-------(A)-------
            data: {}
          - sequence:
            - wait_for_trigger:                                        #-------(B)-------
              - platform: state                                         #-------(E)-------
                entity_id:
                  - switch.ring
                to: "on"
              - platform: state                                           #-------(C1)-------
                entity_id:
                  - binary_sensor.entrance_door_status
              continue_on_timeout: false
              timeout:
                hours: 0
                minutes: 0
                seconds: 30
                milliseconds: 0
    - conditions: "{{ trigger.entity_id == 'switch.ring' }}"
      sequence:
        - wait_for_trigger:
          - platform: state                                           #-------(D)-------
            entity_id:
              - !input person_doubletake_entity
          - platform: state                                           #-------(C2)-------
            entity_id:
              - binary_sensor.entrance_door_status
          continue_on_timeout: false
          timeout:
            hours: 0
            minutes: 0
            seconds: 30
            milliseconds: 0
    default:
      - stop: "Door stays closed"
  - if:                                                                      #-------(G)-------
    - "{{ wait.trigger.entity_id == 'binary_sensor.entrance_door_status' }}"
    then:
      - stop: "Doors opened manually"

If automation was triggered by face recognition, play welcome message(A) and wait for door bell (E)
If automation was triggered by door bell, wait for face recognition (D)
If while in wait, doors will be open manually (C1, C2) - Stop whole automation
After that (G) there are more actions before unlocking the doors. It can be continue only after both triggers (ring and face recognition) was triggered

(A) takes few seconds …that’s why I run it parallel, but I’ve run into issue when (B) timeout - it should stop automation, but it continues to (G) from (A). Is there a way to

  • stop parallel branch (A) without stop whole automation
  • call service A in non blocking manier

(G) condition not working because wait variable is out of scope? How to fix this ?