Alexa integration with HA

Hello beautiful people,

I’m going to be integrating Amazon Alexa with Home assistant.
Firstly, I’d like to ask is alexa integrating with home assistant or home assistant integrating with alexa?

Secondly, I have a few echo devices, so my question is should I connect zigbee devices to echos and then integrated alexa with HA. Alternatively, I also have mqtt running so should I connect zigbee devices to mqtt? Which method is easier, better?

Third question kinda links in with the second. The zigbee devices which are connected to alexa, will they show up in HA? If so should I leave them be, or connect them to mqtt? Is there a benefit either way?

Tank You :slight_smile:

You really need to integrate it in both directions for full control using two different approaches. To integrate Alexa into Home Assistant, the best way is the Alexa Media Player custom component:

This will bring your Alexa devices into Home Assistant, so you can control their volume, do not disturb settings, routines, and make announcements using text to speech through them.

To integrate Home Assistant devices into Alexa in that direction - ie you tell Alexa to turn a Home Assistant connected switch on, the best way would be Home Assistant Cloud aka Nabu Casa and the Home Assistant Alexa Skill

No, they will be difficult to control that way and cloud dependent. You ideally want to get a zigbee USB stick, and then bring your zigbee devices into Home Assistant using ZHA.

Or if you need advanced options and want mqtt, zigbee2mqtt.

If you have Home Assistant cloud, your zigbee devices integrated to Home Assistant would then be connected to Amazon. There is a small monthly fee for the cloud, and initial one time fee to buy the zigbee stick (recommended ones here Supported Adapters | Zigbee2MQTT ) - but to get local control of the zigbee devices it is worth it.

If you use the Amazon device as your zigbee hub, you could control the zigbee devices by setting up Amazon routines and using the Amazon Media Player skill to trigger those routines to turn those zigbee devices on and off, but you will not get status of those devices in Home Assistant. For example, if you turn it on through Home Assistant, but you turn it off through Alexa, Home Assistant would have no idea if the switch/device was on or off. Therefore, I wouldn’t recommend trying to integrate zigbee devices directly connected to Alexa to Home Assistant.



is there a way to bring the Alexa sub-devices to HA, not only the Echo speakers?
I have a radio frequency “blackout internal curtain” (Mottura brand), controlled via Alexa with a Broadlink RM4 Pro + that I would have into HA.

Thanks in advance!


You would be much better off bringing the Broadlink Device into Home Assistant and controlling it directly that way.

Ideally you want to connect everything you can locally - which is the primary benefit of using Home Assistant.

You can control Alexa connected devices using the custom component I linked above by creating routines in the Alexa App - . You generally would create an “on” routine and “off” routine for your device(s). Then using the custom component you can activate the routine through Home Assistant by following these directions - Home · custom-components/alexa_media_player Wiki · GitHub

I have an Amazon branded Smart Plug I can control this way. However, as I mentioned above, you can’t get the status of any device this way - you can just trigger the routine to turn it on or off, and it is cloud dependent. No internet, or an Amazon cloud outage, and it won’t work


Damn! Thanks Tim.

That’s a lot of info I need to absorb. But you answered every query I had :slight_smile: :slightly_smiling_face:

Once I dig into this, I’m sure I will have more questions for you :wink:

1 Like

I think i have a similar situation and i’m not exactly sure how to succeed in controlling HA zigbee devices through Alexa voice commands.
I already have Alexa Media Player running and also have my HA accessible through the cloud (not Nabu Casa, the other painful way).
Real situation: I have 20 devices connected to HA zigbee network using the skyconnect dongle. I want to be able to control them through alexa voice command, like “Alexa, check if all windows are closed” or “Alexa, turn on the coffe machine Plug”. Is this possible to do using only what i already have installed? Do i need to create a service/entity to be accecible by Alexa to all these devices?
Thanks in advance

If not using Nabu Casa these are your options for setting up Alexa control of your devices under the “manual setup” entries. You basically need to create an Amazon web developer account and your own skill, which is difficult.

As an alternative to that, and what I use, is an integration through Node Red. There are several, and I use node-red-contrib-alexa-smart-home

Another way to have Alexa recognize some of your HA devices is by using the HUE emulator in HA, then “Alexa find new devices”.

@mwav3 Thank you for sharing some great info. You seem to know your way around the Alexa Media Player integration.

I mostly have esp8266s running tasmota emulating “hue”. Alexa was able to find all my devices directly, without the use of HA. HA is able to find all my devices via the mqtt server.

I got 4 evolux bulbs for free. The only way to set them up is via Alexa or Ok Google. If I configure my Alexa Media Integration to include devices connected to the echo’s I do get access to the 4 evolux but it then brings over all the tasmota devices, creating sortha like duplicates on my end.

Any suggestions on how I could import only the 4 evolux blubs from Alexa?

Difficult is an understatement.
For my home, the easiest by far is to use the Node Red Alexa Home Skill Bridge.

This node and service allows you to create your own “devices” to work with the Amazon Echo’s Home Skill system, giving you voice control over basically anything you can interface with Node-RED.

It is amazingly easy to set up a new “device”. Ben does all of the BS with AWS so that you don’t have to.

So it seems I ended up solving my own problem. When you do include connected to echo devices, some of the entities went from tasmota integration to alexa media player integration but that doesn’t seem to break anything.

My problem had nothing to do with the Alexa integration. The bulb I was trying to control doesn’t have temperature of light setting, and I was trying to play with that setting, that is what was preventing the automation to turn on the lights.

One thing I did find a bit odd. I tested with turning on just one relay with no smart bulb options, and it worked. I then added the rgb bulb with the incorrect temperature setting, and neither light turned on. I then took off the rgb light to try and only turn on the relay, but that wouldn’t work.

Turns out after I tried with the wrong rgb settings I couldn’t just delete the rgb entity, i had to delete the whole “action”, then create a new action with just the relay and then it works again. I am guessing after I delete the rgb entity there is still some bad yaml in the back end which gets cleared when the action itself is deleted.