Perform action after assist response

Is it possible to perform action after assist response in automation?

Here is example of automation - when you ask to set volume, it would set volume 10% on media player.

triggers:
  - trigger: conversation
    command:
      - set volume 10 percent
actions:
        sequence:
          - action: media_player.volume_set
            metadata: {}
            target:
              entity_id: media_player.mpd
            data:
              volume_level: 0.1
            enabled: true
          - set_conversation_response: volume is 10 percent
            enabled: true

I want to hear conversation_response first: “volume is 10 percent” and after that (maybe after 1 sec delay) action media_player.volume_set

Any way to do it?

There are workarounds.

  1. Move the other action(s) to a script that starts with a short delay. If you call the script indirectly by using the script.turn_on action the automation will move on to the response without waiting for the script to complete.
  2. Nullify the response by setting it to "" and add a TTS action to give the desired response.
1 Like

Interesting, I was thinking about running a script but not like this script.turn_on

Nullify the response by setting it to "" and add a TTS action to give the desired response.

set_conversation_response: 

I tried "" and None. Assist would stuck in responding state.

EDIT: method with external script works! Thanks! :tada:

I updated script with wait for trigger block, so you don’t have to use any delay.

sequence:
  - wait_for_trigger:
      - trigger: state
        entity_id:
          - assist_satellite
        to:
          - idle
    continue_on_timeout: false
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
    enabled: true
  - action: media_player.volume_set
    metadata: {}
    target:
      entity_id: media_player.mpd
    data:
      volume_level: 0.1

1 sec delay is optional here.