Why Connect Alexa to Home Assistant?

If you're running Home Assistant, you've already made the smart choice for local control and privacy. But voice control is still incredibly convenient, and millions of people already have Echo devices sitting in every room.

Connecting the two gives you the best of both worlds: local processing and automation power from Home Assistant, plus natural voice control through Alexa. You keep your data local while still saying "Alexa, turn off the living room lights" without touching your phone.

The integration works in two directions:

  • Alexa controls Home Assistant: Expose your HA entities (lights, switches, thermostats, scenes) to Alexa for voice control
  • Home Assistant controls Alexa: Use Echo speakers for text-to-speech announcements, trigger Alexa routines from automations, and use Echo devices as media players

Most people want both. Let's look at how to set each one up.

Three Ways to Connect Alexa and Home Assistant

There are three main approaches, each with different tradeoffs. Here's the quick comparison:

MethodCostDifficultyWhat It DoesBest For
Nabu Casa$7.50/moEasy (10 min)Alexa controls HAMost people
Manual LambdaFreeAdvanced (1-2 hrs)Alexa controls HATinkerers, budget-conscious
Alexa DevicesFreeEasy (15 min)HA controls AlexaAnnouncements, media, routines

Pro tip: Methods 1 or 2 and Method 3 aren't mutually exclusive. Many people use Nabu Casa for voice control AND the Alexa Devices integration for announcements. They solve different problems.

Method 1: Nabu Casa (The Easy Way)

Nabu Casa is the official paid cloud service for Home Assistant. At $7.50/month, it gives you remote access, Google Home integration, and Alexa integration. If you're already paying for Nabu Casa, the Alexa connection is literally a few clicks.

How to add Alexa to Home Assistant via Nabu Casa

1

Subscribe to Home Assistant Cloud

In Home Assistant, go to Settings > Home Assistant Cloud and sign up (or log in if you already have an account).

2

Enable Alexa Integration

Under the Cloud settings, find the Alexa section and click Enable. This sets up the connection between your HA instance and Amazon's servers.

3

Link Your Amazon Account

Open the Alexa app on your phone. Go to Skills & Games, search for "Home Assistant", and enable it. Sign in with your Nabu Casa credentials when prompted.

4

Discover Devices

Say "Alexa, discover devices" or tap Discover Devices in the Alexa app. Your Home Assistant entities will show up as smart home devices.

5

Choose What to Expose

Back in Home Assistant, go to Settings > Home Assistant Cloud > Alexa. Here you can toggle which entities Alexa can see. You probably don't want to expose everything, just the devices you'll actually voice-control.

Total time: About 10 minutes from start to "Alexa, turn on the kitchen lights." The $7.50/month also funds Home Assistant development, so it's a good way to support the project.

Method 2: Manual AWS Lambda (The Free Way)

If you don't want a monthly subscription, you can set up the Alexa Smart Home Skill yourself using AWS Lambda. This is the same thing Nabu Casa does behind the scenes, but you manage the infrastructure.

Heads up: This method requires your Home Assistant instance to be accessible from the internet (via HTTPS). You'll need a domain name, SSL certificate, and either port forwarding or a reverse proxy. If that sounds intimidating, go with Nabu Casa.

What you'll need

  • An Amazon Developer Account (free)
  • An AWS Account (free tier covers Lambda usage)
  • Home Assistant accessible via HTTPS with a valid SSL certificate
  • A long-lived access token from Home Assistant

Step-by-step overview

1

Create an Alexa Smart Home Skill

Log into the Alexa Developer Console. Create a new skill, choose Smart Home as the type. Note the Skill ID.

2

Set Up AWS Lambda Function

In the AWS Console, create a new Lambda function in us-east-1 (N. Virginia) or eu-west-1 (Ireland). Use the Python 3.12 runtime. Upload the Home Assistant smart home Lambda code from the official docs.

3

Configure Account Linking

Back in the Alexa Developer Console, set up account linking with your Home Assistant's OAuth endpoints. The authorization URI is https://YOUR_HA_URL/auth/authorize and the access token URI is https://YOUR_HA_URL/auth/token.

4

Add the Alexa Integration in HA

Add the following to your configuration.yaml:

alexa:
  smart_home:

Restart Home Assistant, then link your account in the Alexa app by enabling your custom skill.

The full setup is well-documented on the Home Assistant Alexa Smart Home page. Budget about 1-2 hours for the first setup, mostly spent on AWS and Amazon Developer Console configuration.

Method 3: Alexa Devices Integration (Reverse Control)

This is the one most people don't know about, and it's arguably the most fun. The Alexa Devices integration lets Home Assistant control your Echo speakers and displays. That means:

  • Text-to-speech announcements: "Dinner is ready" on the kitchen Echo
  • Play music: Start Spotify or Amazon Music on any Echo
  • Trigger Alexa routines: Run any Alexa routine from a Home Assistant automation
  • Do Not Disturb: Toggle DND mode on Echo devices
  • Use as media players: Full media player controls (play, pause, volume, next track)

How to connect Home Assistant to Alexa devices

1

Add the Integration

In Home Assistant, go to Settings > Devices & Services > Add Integration and search for "Alexa Devices". This is a built-in integration since Home Assistant 2024.12.

2

Sign In with Amazon

You'll be redirected to Amazon to sign in. Use the same Amazon account that's linked to your Echo devices. Authorize Home Assistant to access your Alexa devices.

3

Configure Your Devices

Once connected, all your Echo devices appear in Home Assistant as media player entities. You can now use them in automations, scripts, and the dashboard.

Example automation: doorbell announcement

Here's a practical example. When someone rings the doorbell, announce it on all Echo devices:

automation:
  - alias: "Doorbell announcement"
    trigger:
      - platform: state
        entity_id: binary_sensor.doorbell
        to: "on"
    action:
      - service: notify.alexa_media
        data:
          message: "Someone is at the front door"
          target:
            - media_player.kitchen_echo
            - media_player.living_room_echo
          data:
            type: announce

Alexa Routines + Home Assistant Automations

One of the most powerful things about connecting Alexa and Home Assistant is combining their automation systems. You can go in both directions:

Alexa routines triggering Home Assistant

Once you've set up Method 1 or 2, your Home Assistant entities appear as devices in the Alexa app. That means you can use them in Alexa routines:

  • "Good morning" routine: Turn on HA-controlled lights, set thermostat to 21C, start the coffee maker
  • "Movie time" routine: Activate a Home Assistant scene that dims lights, closes blinds, turns on the TV
  • "Leaving home" routine: Arm security system, turn off all lights, lower thermostat

Home Assistant automations triggering Alexa

With Method 3 (Alexa Devices), you can go the other way:

  • Washing machine done: Announce "Your laundry is finished" on the bedroom Echo
  • Weather alert: "Rain expected in 30 minutes, close the windows"
  • Bedtime: Home Assistant triggers an Alexa routine that plays sleep sounds

The combo is key: Home Assistant is better at complex automations with conditions, templates, and sensor data. Alexa is better at voice interaction and music. Use each for what it does best.

Troubleshooting Common Issues

"Alexa, discover devices" finds nothing

  • Check that you've actually exposed entities in the Alexa config (Settings > Home Assistant Cloud > Alexa)
  • Make sure the entity types are supported. Alexa understands lights, switches, thermostats, locks, covers, fans, and scenes. Custom sensors won't show up.
  • Try unlinking and relinking the skill in the Alexa app

"Alexa, turn on [device]" doesn't work

  • Check the entity name. Alexa uses the "friendly name" from Home Assistant. Rename it to something easy to say.
  • Avoid names that conflict with Alexa built-in commands. "TV," "music," and "lights" by themselves can cause confusion.
  • After renaming, say "Alexa, discover devices" again

Alexa Devices integration shows "authentication failed"

  • Amazon occasionally expires tokens. Remove the integration and re-add it.
  • Make sure you're using the same Amazon account that owns the Echo devices
  • If you have Amazon 2FA enabled, you may need to approve the login on your phone

High latency on voice commands

  • With Nabu Casa, commands go: Echo > Amazon servers > Nabu Casa cloud > your HA. Some latency is normal (1-3 seconds).
  • Complex automations or slow-responding devices add more delay
  • If it's consistently slow, check your internet upload speed. Nabu Casa needs a stable connection to your HA instance.

Frequently Asked Questions

Can Alexa control Home Assistant devices?

Yes. You can expose any Home Assistant entity to Alexa using either Nabu Casa ($7.50/month, easiest) or a manual AWS Lambda skill (free, more setup). Once connected, you control lights, switches, thermostats, and more with voice commands.

How do I connect Alexa to Home Assistant without a subscription?

Use the manual AWS Lambda method (Method 2 above). You'll need an Amazon Developer account and an AWS account, both free. The Lambda function runs within AWS free tier limits for most home setups. Your HA instance does need to be accessible via HTTPS.

Can Home Assistant use Alexa as a speaker?

Yes. The Alexa Devices integration (Method 3) lets Home Assistant send text-to-speech announcements to any Echo speaker, play music, control volume, and more. It turns every Echo into a notification device for your automations.

Does Alexa work with Home Assistant routines?

It works both ways. Alexa routines can trigger Home Assistant scripts and scenes (via Method 1 or 2). And Home Assistant automations can trigger Alexa routines (via Method 3). Combining both gives you the most flexibility.

Is Nabu Casa worth it just for Alexa?

If you only want Alexa integration, the manual method is free. But Nabu Casa also gives you secure remote access (no port forwarding needed), Google Home integration, and directly supports Home Assistant development. For $7.50/month, most people find it's worth the convenience.

Can I use Alexa and Google Home with Home Assistant at the same time?

Absolutely. Home Assistant supports both. You can have Alexa in the kitchen and Google in the bedroom, or both in the same room. They each talk to Home Assistant independently.

Not sure which devices work with Home Assistant?

Run our free compatibility scan. Tell us what smart home devices you have, and we'll show you exactly what works with Home Assistant and what needs replacing.

Run Free Scan

What to Read Next