Automation starts with EN assistant but finishes with IT assistant

I have installed a HA Voice PE and added Italian as well as English assistants, with “Okay Nabu” running Assist-IT-cloud with a female voice; and “Hey Mycroft” running Assist-EN-cloud with a male voice. So far so good.

I had a “good morning” automation which opens the blind and responds saying “Have a great day”.

I started by adding “Buongiorno” as a trigger. When called with “Okay Nabu, Buongiorno” this worked, raising the blind, but then responded with unintelligible words in female voice, which I believe must be trying to pronounce the English words using Italian language rules and sounds.

First issue
OK, so can we detect which language/assistant is currently being used, so that an IF-THEN-ELSE in the automation can announce the words in the appropriate language ?

Apparently this data is not exposed, so we have to create a second (Italian) version of Good Morning automation with only “Buongiorno” as trigger and an Italian worded response. It works fine.

Second issue
But now when I say “Hey Mycroft, good morning” the blind goes up and I get a female voice saying “have a great day” in a strong Italian accent. While not unpleasant, i don’t think this was intended. Somehow the automation has switched from English voice assistant (Hey Mycroft) to Italian assistant (female voice and accent) yet using the English pronunciation.

Is there a good reason for this ? Or have I just mucked up the installation and need to remove then reinstall the whole voice assistant ?

Looking at this again, maybe it’s significant that Italian is the first and preferred assistant. Maybe somewhere in TTS it is defaulting to the voice (but not the language) of the first assistant ?

I am curious that no-one else has noticed this. Possibly because people in multi-lingual families simply don’t notice, and/or that my use of different voices highlights the issue. And of course that the priority is on getting the STT correct

My Good morning-EN automation:

alias: Good morning-EN
description: Start the day right ... open the blind
triggers:
  - trigger: conversation
    command:
      - good morning
conditions: []
actions:
  - device_id: 7371ff3ed530d0f1f4b3cddb923ba08a
    domain: cover
    entity_id: ccaca9a548b86a290e5c84b92fc7317a
    type: set_position
    position: 60
  - action: assist_satellite.announce
    metadata: {}
    data:
      preannounce: true
      message: Have a great day
    target:
      device_id: 42ee90340da5a54f9dab88bcf0b007ae
mode: single

Debug from this mornings “Hey Mycroft, good morning” interaction:

stage: done
run:
  pipeline: 01k8mq0fs4mmqcpxqxza97jdd7
  language: en
  conversation_id: 01K9WX5W8BB3VMT1EV9J51C1X5
  satellite_id: assist_satellite.voice_pe_0a4050_assist_satellite
  tts_output:
    token: 4FHEuxX02HmVW5HEjNnVxA.flac
    url: /api/tts_proxy/4FHEuxX02HmVW5HEjNnVxA.flac
    mime_type: audio/flac
    stream_response: false
events:
  - type: run-start
    data:
      pipeline: 01k8mq0fs4mmqcpxqxza97jdd7
      language: en
      conversation_id: 01K9WX5W8BB3VMT1EV9J51C1X5
      satellite_id: assist_satellite.voice_pe_0a4050_assist_satellite
      tts_output:
        token: 4FHEuxX02HmVW5HEjNnVxA.flac
        url: /api/tts_proxy/4FHEuxX02HmVW5HEjNnVxA.flac
        mime_type: audio/flac
        stream_response: false
    timestamp: "2025-11-12T20:47:38.764287+00:00"
  - type: stt-start
    data:
      engine: stt.home_assistant_cloud
      metadata:
        language: en-AU
        format: wav
        codec: pcm
        bit_rate: 16
        sample_rate: 16000
        channel: 1
    timestamp: "2025-11-12T20:47:38.764602+00:00"
  - type: stt-vad-start
    data:
      timestamp: 1050
    timestamp: "2025-11-12T20:47:39.878331+00:00"
  - type: stt-vad-end
    data:
      timestamp: 3590
    timestamp: "2025-11-12T20:47:42.530465+00:00"
  - type: stt-end
    data:
      stt_output:
        text: Good morning.
    timestamp: "2025-11-12T20:47:42.636222+00:00"
  - type: intent-start
    data:
      engine: conversation.home_assistant
      language: en
      intent_input: Good morning.
      conversation_id: 01K9WX5W8BB3VMT1EV9J51C1X5
      device_id: 42ee90340da5a54f9dab88bcf0b007ae
      satellite_id: assist_satellite.voice_pe_0a4050_assist_satellite
      prefer_local_intents: true
    timestamp: "2025-11-12T20:47:42.636407+00:00"
  - type: run-end
    data: null
    timestamp: "2025-11-12T20:47:42.652677+00:00"
stt:
  engine: stt.home_assistant_cloud
  metadata:
    language: en-AU
    format: wav
    codec: pcm
    bit_rate: 16
    sample_rate: 16000
    channel: 1
  done: true
  stt_output:
    text: Good morning.
intent:
  engine: conversation.home_assistant
  language: en
  intent_input: Good morning.
  conversation_id: 01K9WX5W8BB3VMT1EV9J51C1X5
  device_id: 42ee90340da5a54f9dab88bcf0b007ae
  satellite_id: assist_satellite.voice_pe_0a4050_assist_satellite
  prefer_local_intents: true
  done: false

Update: Since the above I have now swapped the IT and EN Assistants


and surprised my partner when she said “Okay Nabu, Buongiorno” to trigger the “good morning-IT” automation, then heard the unexpected male english voice trying to pronounce “Buona giornata” badly. So it seems that the Automations Assist satelite: Announce is simply using the first listed language - not the assistant which was triggered by the wake word.

If you look at the system intents, you’ll see a clear division by language. That’s how the system is designed.
Therefore, you need to duplicate your automations for each language.

You’re also using the wrong action. If you look at your log, you’ll see that it was interrupted at the “intent:” block, since the session is interrupted by the announce action.
If there’s “trigger: conversation,” the automation should end with “set_conversation_response:.”

I agree that the announcement action wasn’t updated after the addition of two pipelines to allow for the ability to specify the desired one. But that’s a minor issue. What’s much worse is that both pipelines share a chat history, since it’s tied to the device id. And no one has fixed this yet.

Sorry mchk, but your reply is going over my head. I have a programming background so think I’m reasonably switched on … but I am not a HA system developer.

system intents ? Ahh, I found it but I’m not seeing any division by language.

Yes, I have IT and EN copies of my good morning automation with the only difference being the trigger word and response message.

I had used the “Sentence” trigger since it had the picture of a microphone; and would have assumed that “Set Conversation Response” should be used with “Conversation” as part of a long conversation (I remember that a while back there was lots of discussion in the forum on how to do that).

Ah, yes, thank you, that is the information I was missing. and it is now giving the response in the correct language.

This highlights the problem with technical reference documentation - it tells you about one specific individual command - but without any hint of how it should be used with other commands. I don’t understand why Home Assistant management still refuses to allow user level documentation or tutorials :frowning:

Built-in intents, that actually sounds more accurate. I wanted to say that this is the exact solution being used. And using a choice of different languages ​​within automations was not originally intended.

But I disagree that the documentation is lacking - this section provides a basic example of voice automation.
The only problem is that the search on the site works terribly🙃

1 Like