I thought it might be nice to write up some cool implementations with HomeKit (and Alexa too since I link to both). This topic came up today so I thought I would go over the setup and functionality and how it all is put together to put whole house audio into voice controlled effect.
Components Used
- Indigo (duh) Version 7
- Airfoil Pro running on the Indigo "server"
- Airfoil Pro Indigo plugin
- Homebridge Buddy ( )
- Apple Music subscription
- iTunes running on Indigo "server"
- iTunes plugin enabled in Homebridge Buddy
Speakers
- Apple TV 4's in four rooms
- Amazon Echo Dot's in four rooms
- Amazon Echo in two rooms
- Airport Express's in three rooms
- AirPort Extreme in one room
Case Study
So, years ago I put together my whole house audio using Airfoil and Airport Express devices. As Apple TV's expanded this further and then add iPads/iPhones and every other Apple device that ties into Airfoil via Airplay things really expanded. Now bluetooth speakers get added to Airfoil and really expand the whole system without spending a mint on a Sonos (or similar) setup and I get outstanding sound AND the added benefit of getting Indigo to talk to me as things happen ("someone is at the door").
Once voice control came into the picture then I really needed ways to creatively control this, and it's one of the reasons I wrote HBB and the main reason I wrote HBB Wrappers. I needed to move audio around my house using voice commands.
HBB Wrappers are a lot more involved than just a means to turn on and off stuff, the underlying library I wrote actually goes out to every Indigo plugin that you have and allows you to tap into those plugins just as you would natively in Indigo. So, like with Airfoil, all of the Airfoil actions are published and available inside wrappers just like they are inside your actions, schedules and triggers.
Tech Overview
- "Hey Siri, turn on Office Echo": tells Airfoil to connect to the Office Echo speaker
- "Hey Siri, set Office Echo to 50%": tells Airfoil to set the volume to 50% on the Office Echo Speaker
- "Hey Siri, turn on Playing State": tells the iTunes HBB plugin to start playing iTunes on the Indigo server
- "Hey Siri, turn on Track Skipper": tells the iTunes HBB plugin to, well, skip a track....
- "Hey Siri, turn on Album Skipper": tells the iTunes HBB plugin to move on to the next album
- "Hey Siri, turn off Office Echo": tells Airfoil to disconnect the Office Echo speaker
I'm working on new and interesting ways to do even more with this, but this ain't bad for now.
Homebridge Buddy Wrapper Device For An Airfoil Speaker