5 ms·
I've been running whole-home Snapcast for over a year now, controlled by Home Assistant. Some quick info: - Previously, I would use Raspotify/etc and automati
by matthew-wegner 7y ago
I've been running whole-home Snapcast for over a year now, controlled by Home Assistant. Some quick info:
- Previously, I would use Raspotify/etc and automatically change sources as I moved between rooms. This is much cleaner
- My automation server is a Linux VM, which is now my audio source for Snapcast. This means I just use the native, 100% unmodified Spotify client (or really, anything). Previously the various librespot/etc stuff would sometimes break or require updates
- I run two streams: Music + text to speech, and just TTS. Some rooms switch to TTS-only when the room turns off. Other rooms mute completely. Really it just depends how peripheral the room is. i.e. my garage mutes completely when it's off, but more interior rooms still play TTS.
- Pulseaudio junk is what manages the above routing. Linux audio really is gross once you try to do anything past-minimum with it. You can do complicated things, though--I duck music volume down a bit when house TTS is happening. I still have to regularly and automatically restart pulseaudio completely when nothing is playing, to avoid both horrid clock drift and/or crackle
- Any audio you can play/handle on Linux, you can make into a stream. I could easily add a third stream for an aux-in line dangling off the machine, for people to plug in to for parties/hardware players/etc
- Most clients are Raspberry Pis with USB audio DACs. My macOS machines also run snapclient. I only have one Windows machine (my TV box) I wanted to include, and ended up just running a Ubuntu VM with snapclient to make that happen. (The other option is to use pulseaudio in a VM, and then also an ancient Windows port of pulseaudio to actually take the pa data out to the speakers, but ugh)
- Including all computers, I have 8 clients, I think? You can enable "send audio to muted clients" to avoid a re-buffer delay when rooms turn on and off
- You can push latency quite low if you want, especially if everything in your house is hardwired. My desktop audio is almost always Spotify now, out of laziness, and really when I'm using the desktop client I'm actually controlling the remotely-playing VM. The latency doesn't bother me, and I'm pretty sensitive to that kind of thing
- I use cheap 10-button RF remotes as "light switches" in all rooms. It's nice to have that many buttons to standardize some things. For music, two buttons are play/stop spotify, with some overloaded functions (pressing play while music is already playing skips to next track)
- mongol 7y agoDo you have details about your RF remotes?
- matthew-wegner 7y agoYeah! So it's these remotes: https://www.amazon.com/Etekcity-5-Channel-Wireless-Control-Receivers/dp/B00FK6SK24/ https://www.amazon.com/Etekcity-5-Channel-Wireless-Control-R... Which are 433mhz. It's a couple of dollars to wire a receiver into a Raspberry Pi to hear them. I don't have any issues with reception, even through the brick wall into my garage. I don't remember which script I started with, but at a glance this looks like the same one: https://www.youtube.com/watch?v=Xe5Bj_N4Crw https://www.youtube.com/watch?v=Xe5Bj_N4Crw I have custom scripts now, to make it easier to add new remotes and handle them (I use Node-RED for automation logic). You can solder pads to change the IDs on the remote, if you don't happen to have matched remotes to use the same ones per-room. The one downside is that the encoded information isn't complete if you very quickly press a button. It isn't an issue in practice, but I did give up on using a 433mhz doorbell because hurried delivery drivers would barely tap on it.
- CaptainMarvel 7y agoCan these remotes be spoofed by neighbours to turn lights on/off, play music, etc? Or are they paired and use encryptiom?
- jakobegger 7y agoMost neighbours are decent folks, so security may not be necessary. For example, I had an open Wifi for years, so the neighbours could share it if they wanted. I also had passwordless Airplay speakers, and only once soneone tried to play music on them. (Was fun) At some point I unfortunately had to add a password because someone else used all the bandwidth...
- hobofan 7y ago> Most neighbours are decent folks, so security may not be necessary. It's not even necessarily bad intent. I mysteriously had my lights turn on and off (which I control via a common RF controlled socket), but only around christmas time and only in the mornings and evenings. Turns out that's when my my neighbor turned the lights on the christmas tree on/off via their RF remote.