This is my first public project.
Created with extensive Agent AI support.
Try it, but I can’t guarantee it will be successful.
I would be happy if someone would like to adopt it and take care of the maintenance.
In my tests, I used the same assistant configuration I use with the ESP32-S3 with the EspHome voice assistant. It requires no configuration or integration, and uses the dashboard’s pipelines.
https://github.com/emme99/voice-satellite-card
Ensure you are accessing Home Assistant via HTTPS or localhost. Browsers block microphone access on insecure HTTP (except localhost).
Tested with Assist configured with Wyoming Speech-to-Phrase and Edge TTS. But it may work with other configurations like Wyoming-Whisper and Wyoming-Piper, or others.
Home assistant Core 2025.12 docker.
Hi dinki,
Run inspect in your browser and watch the console messages. It seems like it’s not loading the modules. Did you put all the project content in config/www/voice-satellite-card?
Sorry for the bother. It is working fine on my Chromebook. Not sure why PC is giving problems. Thanks again!
EDIT Perhaps this is because I was not prompted for access to the microphone. I used the Assist button (top right) and then granted mic permissions and then I went back to the voice sat card and it had loaded. I cannot say for certain if I need to do that on PC will try it again when I go back to that room.
So it finally works for you?
The project is still fresh and obviously needs confirmation.
I have HA 2025.12 installed on a Raspberry Pi 4b in Docker
and local https with Caddy (also in Docker).
I tested with Edge in Ubuntu, Mac OS, and Android (tablet and smartphone).
It’s time to go to sleep here…
No Audio / Microphone Error: Ensure you are using HTTPS. Browsers block mic access on insecure HTTP (except localhost).
Pro Tip: To test on HTTP without SSL (e.g., if you want to use iframes that block mixed content), go to chrome://flags/#unsafely-treat-insecure-origin-as-secure, enable it, and add your server’s URL (e.g., http://192.168.1.100:8123).
Treat given (insecure) origins as secure origins. Multiple origins can be supplied as a comma-separated list. Origins must have their protocol specified e.g. “http://example.com”. For the definition of secure contexts, see Secure Contexts – Mac, Windows, Linux, Android