"Hey Siri, play Jazz Favorites." / "Hey Siri, move the music to the bedroom."

This post is just to give other people ideas for projects – I’ve created a proof-of-concept, but it’s far from elegant, and will probably never be user-friendly.

I now have the ability to tell Siri to do certain operations in Roon. How? It’s pretty gross, but it works:

  • I created a scene in the Home app for each voice command (e.g., “Play Jazz Favorites in the Living Room,” “Move the music to the bedroom,” “Pause everything”).
  • I created a fake lightbulb in HomeKit using Homebridge and the homebridge-mqtt plugin
  • I made each scene set the fake lightbulb to a particular brightness (e.g., “Play Jazz Favorites in the Living Room” is 1% brightness, “Pause everything” is 2% brightness, and so on).
  • I wrote a Python script using the python-roon library which subscribes (via paho-mqtt) to the MQTT messages indicating when the brightness of the fake lightbulb changes, and send the appropriate command to Roon (e.g., "when the lightbulb is set to 1% brightness, play the playlist called ‘Jazz Favorites’ in the zone called ‘Living Room’).

It is janky! But it works. Next step will be reducing the number of moving parts by having the Python script talk directly to HomeKit via the HAP-Python library, to avoid having to use Homebridge, homebridge-mqtt, and a mqtt server (all of which I happened to already have set up for other projects, so this was the fastest way to do a proof-of-concept).

The thing it is most useful for is the commands “Hey Siri, surf” and “Hey Siri, rain” which turn on those sounds in the bedroom at low volume, and for moving the music from zone to zone. It just takes the currently playing zone and moves it where you say. Since I only have three zones, it’s tractable. “Hey Siri, move the music to the Living Room” is easier than “open Roon app / click to open zone list / click on volume icon / click transfer button / click Living Room”

Obviously, it would be even cooler if the Roon iOS app added SiriKit Media Intents. But until that day comes, this gets me a slice of that functionality.

13 Likes

A for effort…I bet you lost everyone bar a handful after fake lightbulb.

Siri shortcuts maybe?

Brilliant solution! Homebridge is already running in my Roon core (cue exasperated gasps from the purists) so this is definitely going to get a run this weekend.

Late to the party here, but I’m just about to implement Homekit. This will be one of my first jobs.

I’m rooting’ for ya

Great idea @Joe_Gratz. I do something very similar to control my Apex reef tank - it’s sorta hokey to set up but once done it works flawlessly.

ou might look into homeassistant / https://hass.io for inspiration

it’s complete home automation system, having integration with HomeKit and there is also Roon extension available (there is even separate thread about it on this community site) which allows you to see Roon endpoints as media players, which you can consequently control (play,pause,skip fwd/back, play specific playlist, power on/off endpoint and control it’s volume and mute)

having all this set up i can tell Siri to turn on my audio (it will basically turn on all relevant equipment via infrared / network , set the volume to quiet level, unmute preamp and trigger Roon to start playing my “audio startup” playlist :slight_smile: )

it’s still limited to specific playlist you have predefined - e.g. it’s not possible to ask for specific artist/album/song , but it’s already somehow useful to me to go thru power-on and power-off sequence of audio chain or eventually asking to play some predefined playlist from my Roon library

As I watched Apple’s event yesterday and saw the roll out of the HomePod mini all I could think about is how could Roon work with Homekit to start working with Siri. I think it is totally possible to be able to use my phone or watch and say, "Hey Siri, play my classical playlist in the kitchen and it would fire up that playlist in Roon in the room I requested. However, I see that it might be more difficult to run some of the other features of HomePod in a Roon environment. The new intercom feature would require my watch or phone’s microphone to somehow send that voice message into Roon’s core, and parse it back out to the sound systems throughout the house. That might be possible, but I also wonder if Apple will play nice with independent developers to provide the level of functionality that ends up competing with Apple at some level.

What Apple’s presentation on the HomePod mini did demonstrate is where home automation is heading. How Roon jumps on that bandwagon will be interesting to see. It will also be interesting to see how Roon can somehow be agnostic to cater to the Apple, Google, and Amazon worlds. There is already some progress being made in this area through the Thread Group which Apple, Google, and Amazon are members. This might be an area for future Roon development.

1 Like