Start conversation from HA

I would like to have the option to send a TTS message as conversation starter from HAOS.

Like:

HAOS: "Did you take you meds?" , 
ME: "Yes"/"No" etc. 
HAOS: When "Yes" => "Okay noted." else "Go take them Now." etc. 

I know you could use the media_player to use “tts.speak” but ome devices like the “Assist Microphone” addon dont have a media_player component to directly send audio (TTS) message from HA. This has only the voice_assistant component available.

Also on esphome device the Media_player needs an extra codex for MP3 audio and uses more data,

After some investigation inside the Core code base it looks to me that allowing HA to send TTS messages very simple to implement.
Most needed functionality in the core does exist already. The only stap that needs to be added is the option send TTS questions from within an automation.

My suggestion would be inside the “conversation” component like “conversation.speak”.

In addition to the above it would also be nice when we could extend the conversation functionalliety a bit more by adding a “waitfor” method to allow creating a full automation script with full conversation.with multiple Q&A’s etc.

This confuses me.
I would think you can just send a TTS as an action. As action 2 listen with the assist pipeline and act on it with that. If you want to continue conversation, just call that script sequence again based on the return from the first script run.

I think this topic is about actionable notification like Alexa

With the current TTS action, you send the audio to the media_player. My suggestion is to send it to the Voice_Assistant component instead.

As action 2 listen with the assist pipeline and act on it with that. If you want to continue conversation, just call that script sequence again based on the return from the first script run.

This is indeed a procedure that could be follow,

1 Like

+1 :slight_smile:
This feature would be very useful!

This is not difficult to do, but the problem is that after turning on the microphone and converting it into text, you cannot interrupt the processing of the sentence (intents or any LLM) and turn off the response. If possible, it can be easily done using automation. :grinning:

Unfortunately, the device cannot be recognized in intent_script Intent Script - Home Assistant (I hope this will be added), so at the moment it can only be done in automations.

If you add the ability to save recognized text in the sensor (example how to do it you have there How to save last text request and last text response from this device · tetele/onju-voice-satellite · Discussion #89 · GitHub) into your device, after triggering the listener, it can be read in the automation and then perform some specific action: