Starting the assistant pipeline

Is there any way to start the voice assistant pipeline manually ?

I have a M5 Echo Stack which works perfectly, but I want to be able to press the button on the device to start the assistant pipeline (as opposed to using the wake word).

This seems to me like such a simple function, but can’t find out how to do this anywhere…

Any ideas ?

Thanks.

Add start action to the API section of your satellite configuration.

You may need to modify this example for your case and add disabling ww, it depends on the logic of the existing code.
After this, you will be able to launch the action through the Home Assistant interface.

Hi ,

Thanks for the reply, but I’m a user, not a programmer …, would not even know where to start with the info you kindly provided.

Can I assume therefor there is no simple solution for this, e. g. a way to start the automation pipeline from a script ?

Not from that device. It’s builtin to VPEs. ‘official assist_satellite. Device’ M5atoms are not quite that. What they gave you is the way to add the vpe builtin functionality to your device - make it respond to the assist.start_concersation. Alternatively you can look for a software build where someone has already added it…

Basically, if you’re going to use am M5atom you’re going to need to get comfy with updating some code because its more of a DIY kit. If you don’t want todo those… Buy a VPE. What you want is builtin already.

Thabks for the reply…

I dont think you could realy classify the Atom as a DIY job per say…, the whole of home assistant is a DIY job. The Atom is also the recommended device to get started with in the voice assistant guide i. e. $13 voice assistant for Home Assistant - Home Assistant

Anyhow, I take it from this there is no way to start the voice pipeline from a script ot automation? If so, this is a glaring omission in functionality as i can envision many scenarios where it would be useful to start the pipeline from a script.

I have two of them and I absolutely do, they’re both in boxes becausey VPEs took over thier job. It was a prototype for voice before the Voice Pe came out. Compared to VPE or a FP1. Yeah it’s VERY DIY (yes saying that about the entire HA ecosystem) It’s not solder component level but yeah it’s light years behind a VPE now.

The software on the VPEs has been getting pretty good. The reason they were even able to give you that function is the atom is basically using older versions of the Voice Pe code so yoj rip it out of newer builds and backport to the atom. The vpe is a near finished device. The M5 is very much a dev platform.

So, I’ve used voice assistants for years in the form of google hubs, speakers, amazon echos etc. Mostly I just use them to control devices around the house. I can do everything i need to do with an M5 echo, but two things

  1. Saying the wake word all the time is a pain, pressing a button is also more reliable

  2. I dont want a smart speaker in every room (although this is what I have now.

I want a simple device I can carry around,. press a button and tell it to do something ala Star Trek comm badge, ideally doing tracking at the same time

I have the M5 echo on a battery base the same size as the device, so the portability is there, just need the button press and tracking

Originally that’s how the M5 Worked, and is currently how I use it on my desk, you just need to use a older config before microWakeWord was added

Fantastic, forgive me, but what exactly do I do with this file ? ( I used the online guide to serup the M5 which didnt involved usineg the yaml config file)

Do you have ESPhome setup?
Basically in esphome on your m5 you just drop that whole config in there and install

You can setup ESPHome in home assistant if your not familiar with docker

Hi, Didn’t, but do now !

OK that file you posted is too outdated and throws a bunch of errors when trying to install, however, using the latest configuration file and modifying the on_multi_click section within the binary_sensor section as below, then it works !

    on_multi_click:
      - timing:
          - ON for at least 50ms
          - OFF for at least 50ms
        then:
          - if:
              condition:
                switch.is_on: timer_ringing
              then:
                - switch.turn_off: timer_ringing
              else:
                - if:
                    condition: voice_assistant.is_running
                    then:
                      - voice_assistant.stop:
                      - script.execute: reset_led
                    else:
                      - voice_assistant.start:
1 Like