Home Assistant Alexa โ Layer 1: Nabu Casa Smart Home Skill
Layer 1 is the quick win. It takes about 15 minutes to set up and requires no coding. Once done, you can say "Alexa, turn on the geyser", "Alexa, set aircon to 22 degrees", or "Alexa, turn on alexa battery status" to run any exposed HA entity or script.
Direct device control via voice โ any entity you expose in HA becomes an Alexa device. Lights, switches, climate entities, scripts, scenes and more.
Step 1 โ Subscribe to Nabu Casa
Nabu Casa (~R150/month, ~$8 USD) is required for two things: an externally accessible URL for your HA instance, and the official Alexa Smart Home Skill integration.
- HA โ Settings โ Home Assistant Cloud
- Sign up or log in at nabu.casa
- After connecting, note your Remote URL:
https://XXXXXXXX.ui.nabu.casa
Keep this URL โ you will need it in Layer 2 for the AWS Lambda function to reach your HA instance.
Step 2 โ Enable the Alexa Smart Home Skill
- HA โ Settings โ Home Assistant Cloud
- Under Amazon Alexa, click Enable
- Click Manage Entities โ this opens the entity exposure panel
- Enable every entity you want Alexa to control
Entities that work well with Alexa:
- All lights
- Switches: geyser, pool pump, wall switches
- Climate entities (e.g. Midea AC)
- Scripts you want voice-activated (they appear as switches โ "turn on" runs them)
Step 3 โ Rename Entities for Alexa
Alexa uses the HA friendly name as the device name. Rename your entities to natural voice command names:
climate.151732606777824_climateโ friendly name "Aircon"
โ "Alexa, set aircon to 22 degrees" works- Scripts appear as switches:
script.alexa_battery_statusโ "Alexa, turn on alexa battery status" runs the script
After renaming or adding new entities, always sync: Settings โ Voice Assistants โ Amazon Alexa โ Sync Alexa
Step 4 โ Link the Skill in the Alexa App
- Open Alexa app โ More โ Skills & Games
- Search for "Home Assistant"
- Tap Enable to Use
- Sign in with your Nabu Casa credentials
- Tap Discover Devices (or say "Alexa, discover devices")
- Your HA entities appear in the Alexa device list
Testing Layer 1
- "Alexa, turn on the geyser" โ geyser switch turns on โ
- "Alexa, set aircon to 22 degrees" โ climate entity updates โ
- "Alexa, turn off the stoep light" โ light turns off โ
If a device is not found, check: entity is exposed in HA (Settings โ Voice Assistants โ Amazon Alexa โ Expose tab), and that you've run a device discovery in Alexa.
Layer 1 working? Now add natural language queries.
Layer 2: AWS Lambda Custom Skill โ