Setting up a 100% local smart speaker on an Android tablet using Tasker and Snowboy to handle wake word detection

Hello, first of all thanks for the topic. I think I have done everything you indicate, but I can’t get it to work.

  1. I have installed HA companion on my Samsung A50 mobile with android 11
  2. I have installed “Hotword Plugin”
  3. I have installed the “Automate” app
  4. I have created my personal wake word with Snowboy and I have loaded it in “Hotword plugin”
  5. I have created an automation in “Automate” of which I show the screenshots.






However, when I say the “wake word” (“Hey you”, in Spanish) the mobile does nothing, I don’t see any reaction, even if I link it with some instruction that I have already created in Assist.
What am I doing wrong or what am I missing? Any help is welcome. Greetings.

Please, can someone help me?

Awesome, this might save me from having to build a wholly custom solution with ESPHome.

However, using Automate on a Samsung device, I cannot get it to turn on the display. Display power mode set seems not allowed - anybody know of a solution (worst case I will use tasker where it seems to work automatically but the Google account for the IOT stuff currently has no license for it)?

If you’re not even hearing a ding from hotword plugin then I’m guessing you’ve got some kind of microphone permission issue thats preventing it from hearing you. Either that or maybe the sensitivity is set too low and it’s not registering that you said the hotword.

Iirc, newer android versions made screen-on/off functions a lot harder for apps to access.

I’ve stopped using this method in favor of running wyoming satellite and wyoming wakeword on the android device through termux. See this repository for more info: GitHub - pantherale0/wyoming-satellite-termux: A set of scripts allowing you to run wyoming-satellite on Android with Termux (modified for service usage)

But using openwakeword and wyoming in the background won’t let me see the conversation in the Home Assistant app, right? That’s the whole charm about using a tablet instead of just going headless for which I find there are reasonable solutions by now (Voice PE or even just Atom Echo). Well and not having two devices, sure.

Maybe I will just get a tasker license for the IOT account then although truth to be told, my much preferred (and way cleaner) option would be to have hotword detection right in the companion app…

1 Like

Thank you very much, I will try or maybe change my method.

Yeah, the lack of visual feedback is one minor downside of the wyoming satellite method. Fwiw I’ve found I don’t miss it as much as I thought I would. Definitively agree that it’d be better if it was built right into the companion app.

I do not quite get why they do not do integrate it into the companion app. tflite (I guess it’s LiteRT now?) easily runs on even the slowest SOC that could reasonably render the GUI and it does not look like there is that much glue in the ESPhome code that would need to be ported…

1 Like

Yeah, I think we should start a prize/fund to the first devs that can make a integrated local wake word for the HA… whats a good platform for that?

The year of voice came and went without a peep. I don’t feel im getting much from my Casa sub, my HA really hasnt improved much in 5 years.

Im not dis’ing the distro, im just surprised thos isnt a priority.

Lol really? There’s been a TON of changes/updates/improvement over the past 5 years…

2 Likes

Looks like this repository (termux approach) was archived this month. That tells me it won’t be supported moving forward. I’m also looking for a solution to replace my Google assistant. But I’m hesitant to move towards something archived.
I’ve been looking into this Releases · jeffc/hassmic · GitHub, but I can get it to wake once and then not again. Anyone have an alternative idea?

I would recommend View Assist Companion App GitHub - msp1974/ViewAssist_Companion_App: An Android app and Home Assistant integration to support the View Assist integration
It is easy to install and configure and has been rock solid on my Amazon Fire tablets. No complex setups, an auto-updating app with Integration that shows voice related entities and controls.

It’s designed to work with View Assist, an actual display front end, but it’s not necessary and works stand alone.

I have a working proof of concept i my github of an android app that listens for wake word and launches assist in the companion app. No setup requred except android permissions.

1 Like

Hey all!

I got almost to the end of setting this up, but strangely launching the AssistActivity fails

Launch App: failed to launch io.homeassistant.companion.android.assist.AssistActivity. (Error Code: 1)

Simply launching the Home Assistant companion app works, so I’m not sure where the problem originates from.

I was wondering if anybody encountered similar before?

No reason to change what is not broken. No changes have been made for a year and the wyoming satellite way of doing voice has pretty much stopped development (from my understanding) with all new features coming to ESP32 devices, like stop words, don’t work on wyoming and only a handful of devices because the I2S bus can’t receive and send audio at the same time (I think XMOS handles that). I never had an issue with it outside false positives on wake word detection, hanging on to background noise and no stop word but besides that it worked great. Once you throw an LLM in the mix, a stop word is extremely useful.

No improvements in 5 years? Aliases, not exposing everything, needing a GPU to run a decent whisper model is the only thing that comes close to Nabu Cloud with a distil-large-v3 model. I mean, wasn’t the year of the voice 2 years ago, 3 at most. I was using Rhasspy five years ago. Is it perfect, no, still need to work on voice training and isolation as it likes to keep listening but lots of progress made. Considering Amazon lost 25 billion between 2018 and 2022 almost exclusively on Alexa, I say they are doing okay.

Did you ever find a solution to this?! It’s maddening. I’ve tried both Tasker and Automate, and they both give the same error. It’s as if the ASSIST instance can’t be seen.