Do you have a write up anywhere? This is exactly the setup I'm looking for. I have HAOS on a server, and I have a bunch of Raspberry Pis I'd like to run as satellites.
Ideally I can find a HAT with mics and speakers with sufficient quality/volume that I can build self-contained I/O devices for each room; the key really being that I want no more than a single power plug, and no more bulk than ~ a Pi + Housing.
Sadly there is no write-up. I essentially followed the tutorial [1] on an RPi first, then split it into main and satellite after I got it to work reliably on the single node. The HASS integration (Intent Handling) is fully supported in Rhasspy, just enter the URL and the access token. I am using intents (not events, I can't tell you right now what the difference is).
I do not use the Rhasspy integration in HASS, I run the main node in a docker container. Rhasspy (main and satellite) is connected to the Mosquitto broker exposed by HAOS. The satellite pushes the STT, Intent Recognition and TTS via the Hermes MQTT handler to the main node over this connection. The acronym overload should become clearer when you start tweaking things in the Rhasspy web interface, it is very well done for the amount of customization you get.
The HASS side is done via yaml scripting. You can find my mpd.yaml at [2]. I select music to play via an ampd [3] interface hosted at the RPi connected to my HiFi (not the satellite, dedicated RPi). The sentences I use are at [4]. The names for HassTurnOff are the same as in HASS, this gets handled by built-in intents in HASS. I am considering trying out Node-RED, because I am a bit unhappy with the yaml.
I am also looking for a case. Currently I use [5] just hooked up to the ReSpeaker HAT 3.5mm and USB on the RPi with cables in a chaos on my desk. I also took apart [6] (smaller than you would expect, does not go back together nicely) and it might fit an RPi0W2 with HAT, if you take of its top. Both speakers are USB powered, so you can plug it directly into the RPi. I would prefer to stuff everything in the case of [5] and hook up the blue LED to a GPIO, but it is quite cramped in there, maybe it can "fit" by making a hole in the back.
Amazing, thanks for writing that up with links. I need to save this comment.
Most likely I'll do this the exact way you have, not using the HASS integration (I've found it limiting in several ways; particularly when using Frigate, as the HASS Appliance doesn't provide a way to mount storage).
I use Node-RED for a couple of things now and it's a really nice interface for creating complex interactions that would just be a bit of a nightmare to write up in YAML.
I've tried a couple of things so far, like the M5 Stack Atom speaker with ESPHome Media Player which meets the compactness requirement but audio quality is awful and the volume is so quiet it's practically rendered useless just by fan noise from computers in my home office.
Using a decent HAT, I might build something little out of wood that won't look out of place in the living room; my wife is ~~unlikely~~ not going to approve anything like (6). The ReSpeaker 2 with it's JST for a little speaker might be ideal!
Ideally I can find a HAT with mics and speakers with sufficient quality/volume that I can build self-contained I/O devices for each room; the key really being that I want no more than a single power plug, and no more bulk than ~ a Pi + Housing.