Controlling the sonos + receiver with voice
Up until now, to enable music in my Living Room, there have been several choices:
- Use the Google Home, its got an 'ok' speaker
- Use the Sonos through a Denon AVRX4000, this drives the in-wall speakers
- Use the 'Vorke Z1' through the Denon
- Use the ExpressVu through the Denon
But the Sonos+Denon is the best. And you have several methods. You could use the Harmony remote, select 'listen to music', and this would then turn the Denon on, set it to 'CD' input on zone-1, and from there you could either use its screen sort-of to control the Sonos (start/stop/volume), or the Sonos remote, or your phone. We'll give this a 6/10 for simplicity.
Or you could use your phone to drive Home Assistant, turn the Denon on in zone-1, set it to CD, etc. And then use it to control the Sonos. We'll give that a 7/10.
But both became cumbersome when confronted with the Denon as a dual zone device (runs the Kitchen and the Living Room). There has to be a better way.
So lets look. There's really no point in separate music in these two rooms (they are too close together). So really I just want the Kitchen zone on the AVR to be on/off, and follow the zone 1.
And, I just want to be able to speak to it, why mess with my phone or remote? But Google Assistant is not yet integrated with Sonos (side note, Sonos has just released speakers with Assistant, so I guess that direction works, but here we are talking my 10-year old Sonos and in-wall speakers).
OK, so enter IFTT. We can use that to glue the 3 together.
So, what are the steps?
- Create a scene in Home Assistant (music on, music off)
- Create an Automation in Home Assistant (when the music comes on, turn the Denon on in both zones, and set the input)
- Create an IFTT recipe "when I say X on assistant, call web request with JSON post to scene"
I had tried to sort this out with the Harmony, but it was quite puzzled by the Denon being a 2-zone device, it would always turn the other zone off.