Alexa connected to an audio receiver (with Home Assistant)

Shouldn't be a problem, right? Just connect your Echo device via AUX to the receiver, and voilá. But there is a problem: The receiver has to be on in order to hear Alexa's responses or music.

I want to hear my music through my "good" speakers, and when they are off, I want Alexa to answer me through the "okay" speakers of my Echo Show.

The Simple Solution

There is one rather simple solution: ditch the current receiver, and buy a Amazon Echo Link Amp. This is a receiver made by Amazon, and Alexa can play music on it. It has some inputs and outputs, and should work just fine. But there is a catch: You can only connect speakers with 60W max, my speakers need 100W. And your speakers may need even more. Also, this costs around $300.

Echo Link Amp (about $300 on Amazon)

My Over-Engineered Version

So here is the idea: If you put two Alexa's in a group, you can choose which one is the preferred device to play music. In my case, this will be the Amazon Echo Input, which is connected to the receiver. You can also use an Amazon Echo Link for better quality, but my ears can't tell the difference.

Screenshot of the Alexa App: Select Preferred Speaker

The thing missing here is that the receiver does not turn on automatically. If your receiver has the ability to detect input on a source and turn on automatically, you are finished here. If not, stay tuned.

You'll need:

  • A receiver that can be turned on with Home Assistant (I have a network receiver, but you could use a Logitech Harmony to turn it on too)
  • A master Echo device with speaker, I would recommend getting an Echo Dot 3rd Gen. I'll use my Amazon Echo Show.
  • An Amazon Echo Input
  • Home Assistant and Node-RED (you can achieve the same using HA Automations, but I'll use Node-RED here)
  • Some way of getting the media state of your Alexas. I'll use Keaton Taylor's custom component Alexa Media Player for this.

Automation #1: Turn the receiver on when music is played

When the Echo Input's state changes to playing, I want my receiver to turn on and change to the source line3:

Node-RED flow for Automation #1

I also have an additional node that confirms that the receiver is on. This just prevents my network receiver from trying to turn on again, you may not need that step.

Automation #2: Automatically turn the receiver off

Again, you may not need this step. My receiver turns off automatically after 8hrs, but I want my receiver to turn off immediately:

Node-RED flow for Automation #2

When the Echo Input's state is not playing, I'll wait for 10s just in case I started the music again, check if the receiver is on line3 and then turn it off. I check that because if I changed the source to line1 or tuner, I do not want my receiver to turn off.

Automation #3: Stop music when changing the source on the Receiver or turning it off

This is really a quality of life automation. Let's say you're hearing a podcast via Alexa (your Amazon Echo Input) and then change the source to tuner. The podcast will continue to play and you'll lose track on where you were when you want to continue. So, I'll pause the music/podcast when changing the source of my receiver or if I turn it off manually:

Node-RED flow for Automation #3

Epiloge

I was shopping the Echo Input on Prime Day for 15 USD. I hoped that the Echo Link got discounted, but it wasn't, so I had to come up with a different solution, this solution. It also saved me 185 USD.

This exact setup will most likely not work for you, but the general idea might help you.

Source Code

Show Comments