Alexa configuration

The Alexa integration allows users to control the entities via the Home Assistant Smart Home skill for Alexa. This means that you can say things like “Alexa, turn on the kitchen light” to control your local Home Assistant.

To use this integration, you need to have:

  • The cloud component set up. Learn more
  • Have Cloud component Alexa support enabled. This can be done on the Cloud page inside Home Assistant.
  • An Alexa enabled device like the Amazon Echo
  • Activated the Home Assistant Smart Home skill via the Alexa app: From the Alexa App on your phone, go to Skills, add, find “Home Assistant Smart Home” and add it. You will be prompted to link to your Nabu Casa account.
  • Once activated, tell Alexa to discover new devices: “Alexa, discover new devices”

UI Configuration

Entities can be configured through the UI by using the “manage entities” link within the Alexa settings card. From here you can see how many entities are exposed in the upper right corner, as well as toggle domains on or off in order to expose or unexpose them all at once. You can then expose an individual entity from a domain, for example. Your choices are then synced automatically.

Available domains

Currently, the following domains are available to be used with Alexa:

  • alarm_control_panel (alarm control panels must not require an arm code)
  • alert
  • automation (enables/disables)
  • binary_sensor
  • camera
  • climate
  • cover
  • fan (supports on/off and set speed)
  • group
  • input_boolean
  • light
  • lock (lock and unlock, but unlock is untested as Amazon has disabled unlock for now)
  • media_player (play, pause, stop, set volume, adjust volume, next track, and previous track)
  • scene
  • script (enables/disables)
  • sensor
  • switch

Manual Configuration

You can use configuration.yaml to configure the entities that are being shown to Alexa and how they are exposed.

# Example configuration.yaml entry configuring Alexa
cloud:
  alexa:
    filter:
      include_entities:
        - alarm_control_panel.house
        - light.kitchen
        - light.kitchen_left
      include_domains:
        - switch
        - alarm_control_panel
      exclude_entities:
        - switch.outside
    entity_config:
      light.kitchen:
        name: Custom Name for Alexa
        description: The light in the kitchen
      switch.stairs:
        display_categories: LIGHT

Configuration variables

alexa:
  (map) (Optional) Configuration options for the Amazon Alexa integration.

  filter:
    (map) (Optional) description: Filters for entities to include/exclude from Alexa.
    include_entities:
      (list) (Optional) description: Entity IDs to include.
    include_domains:
      (list) (Optional) Domains to include.
    exclude_entities:
      (list) (Optional) Entity IDs to exclude.
    exclude_domains:
      (list) (Optional) Domains to exclude.

  entity_config:
    (map) (Optional) Entity specific configuration for Alexa.
    ENTITY_ID:
      (map) (Optional) Entity to configure.
      name:
        (string) (Optional) Name of entity to show in Alexa.
      description:
        (string) (Optional) Description of entity to show in Alexa.
      display_categories:
        (string) (Optional) The display category to use in Alexa. Available categories