- The `client_id` and `client_secret` are not the ones used by the skill that have been set up using "Login with Amazon" (in the [Alexa Developer Console][amazon-dev-console]: Build > Account Linking), but rather from the "Alexa Skill Messaging" (in the Alexa Developer Console: Build > Permissions > Alexa Skill Messaging). To get them, you need to enable the "Send Alexa Events" permission.
- If the "Send Alexa Events" permission was not enabled previously, you need to unlink and relink the skill using the Alexa App, or else Home Assistant will show the following error: "Token invalid and no refresh token available. Also, you need to restart your Home Assistant after each disabling/enabling the skill in Alexa."
### Configure Filter
By default, no entity will be excluded. To limit which entities are being exposed to Alexa, you can use the `filter` parameter. Keep in mind that only [supported platforms](#supported-platforms) can be added.
```yaml
# Example filter to include specified domains and exclude specified entities
alexa:
smart_home:
filter:
include_domains:
- alarm_control_panel
- light
include_entity_globs:
- binary_sensor.*_occupancy
exclude_entities:
- light.kitchen_light
```
{% include common-tasks/filters.md %}
See the [troubleshooting](#troubleshooting) if for issues setting up the integration.
### Alexa Display Categories
Configure a display category to override the display category and iconography each entity is shown in the Alexa app. This makes it easier to find and monitor devices.
```yaml
light.kitchen_light:
display_categories: LIGHT,SWITCH
```
Devices such as cameras, doorbells, garage doors, and alarm control panels require specific display categories to provide all available features from Amazon Alexa. Overriding the default display category will limit features provided by Amazon Alexa.
See [Alexa Display Categories][alexa-display-categories] for a complete list
## Supported Platforms
Home Assistant supports the following integrations through Alexa using a Smart Home Skill. For Home Assistant Cloud Users, documentation can be found [here](https://www.nabucasa.com/config/amazon_alexa/).
The following integrations are currently supported:
- [Requirements](#requirements)
- [Create an Amazon Alexa Smart Home Skill](#create-an-amazon-alexa-smart-home-skill)
- [Create an AWS Lambda Function](#create-an-aws-lambda-function)
- [Create an IAM Role for Lambda](#create-an-iam-role-for-lambda)
- [Add Code to the Lambda Function](#add-code-to-the-lambda-function)
- [Test the Lambda Function](#test-the-lambda-function)
- [Configure the Smart Home Service Endpoint](#configure-the-smart-home-service-endpoint)
- [Account Linking](#account-linking)
- [Alexa Smart Home Component Configuration](#alexa-smart-home-component-configuration)
- [Supported Platforms](#supported-platforms)
- [Alarm Control Panel](#alarm-control-panel)
- [Arming](#arming)
- [Disarming](#disarming)
- [Alert, Automation, Group](#alert-automation-group)
- [Binary Sensor](#binary-sensor)
- [Routines](#routines)
- [Button, Input Button](#button-input-button)
- [Routines](#routines-1)
- [Doorbell Announcement](#doorbell-announcement)
- [Presence Detection with Binary Sensor](#presence-detection-with-binary-sensor)
- [Camera](#camera)
- [Climate](#climate)
- [Set Thermostat Temperature](#set-thermostat-temperature)
- [Thermostat Mode](#thermostat-mode)
- [Cover](#cover)
- [Open/Close/Raise/Lower](#opencloseraiselower)
- [Set Cover Position](#set-cover-position)
- [Set Cover Tilt](#set-cover-tilt)
- [Garage Doors](#garage-doors)
- [Fan](#fan)
- [Fan Speed](#fan-speed)
- [Fan Preset Mode](#fan-preset-mode)
- [Fan Direction](#fan-direction)
- [Fan Oscillation](#fan-oscillation)
- [Humidifier](#humidifier)
- [Humidifier target humidity](#humidifier-target-humidity)
- [Humidifier Mode](#humidifier-mode)
- [Image Processing](#image-processing)
- [Presence Detection Notification](#presence-detection-notification)
- [Input Number and Number](#input-number-and-number)
- [Light](#light)
- [Brightness](#brightness)
- [Color Temperature](#color-temperature)
- [Color](#color)
- [Lock](#lock)
- [Unlocking](#unlocking)
- [Media Player](#media-player)
- [Change Channel](#change-channel)
- [Speaker Volume](#speaker-volume)
- [Equalizer Mode](#equalizer-mode)
- [Inputs](#inputs)
- [Playback State](#playback-state)
- [Scene](#scene)
- [Script](#script)
- [Sensor](#sensor)
- [Switch, Input Boolean](#switch-input-boolean)
- [Routines](#routines-2)
- [Timer](#timer)
- [Vacuum](#vacuum)
- [Alexa Web-Based App](#alexa-web-based-app)
- [Troubleshooting](#troubleshooting)
- [Debugging](#debugging)
### Alarm Control Panel
Arm and disarm Alarm Control Panel entities. Ask Alexa for the state of the Alarm Control Panel entity.
- _"Alexa, arm my home in away mode."_
- _"Alexa, arm my home."_
- _"Alexa, disarm my home."_
- _"Alexa, is my home armed?"_
#### Arming
The Alarm Control Panel state must be in the `disarmed` state before arming. Alexa does not support switching from an armed state without first disarming, e.g., switching from `armed_home` to `armed_night`.
The Alarm Control Panel state `armed_custom_bypass` isn't supported by Alexa and is treated as `armed_home`.
Alexa does not support arming with voice PIN at this time. Therefore if the Alarm Control Panel requires a `code` for arming or the `code_arm_required` attribute is `true`, the entity will not be exposed during discovery.
The Alarm Control Panel may default the `code_arm_required` attribute to `true` even if the platform does not support or require it. Use the [Entity Customization Tool](/docs/configuration/customizing-devices/#customization-using-the-ui) to override `code_arm_required` to `false` and expose the Alarm Control Panel during discovery.
#### Disarming
Users must opt-in to the disarm by voice feature in the Alexa App. Alexa will require a 4 digit voice personal identification number (PIN) for disarming. Configure a 4 digit PIN in the Alexa app, or use an existing 4 digit PIN code configured for the Alarm Control Panel.
To use the existing code configured for the Alarm Control Panel the `code` must be 4 digits and the `code_format` attribute must be `number`. After discovery, the Alexa app will offer the ability to use the existing `code`, or create an additional 4 digit PIN to use with Alexa.
The existing code is never communicated to Alexa from Home Assistant. During disarming, Alexa will ask for a PIN. The PIN spoken to Alexa is relayed to Home Assistant and passed to the `alarm_control_panel.alarm_disarm` service. If the `alarm_control_panel.alarm_disarm` service fails for any reason, it is assumed the PIN was incorrect and reported to Alexa as an invalid PIN.
### Alert, Automation, Group
Turn on and off Alert, Automation, and Group entities as switches.
- _"Alexa, turn on the front door alert."_
- _"Alexa, turn off energy saving automations."_
- _"Alexa, Downstairs to on."_
### Binary Sensor
Requires [Proactive Events](#proactive-events) enabled.
Binary Sensors with a [`device_class`](/integrations/binary_sensor/#device-class) attribute of `door` `garage_door` `opening` `window` `motion` `presense` are supported.
| `device_class` | Alexa Sensor Type |
| :------------: | :---------------: |
| `door` | Contact |
| `garage_door` | Contact |
| `opening` | Contact |
| `window` | Contact |
| `motion` | Motion |
| `presense` | Motion |
Ask Alexa for the state of a contact sensor.
- _"Alexa, is the bedroom window open?"_
#### Routines
Requires [Proactive Events](#proactive-events) enabled.
Alexa Routines can be triggered with Binary Sensors exposed as contact or motion sensors.
Use the [Entity Customization Tool](/docs/configuration/customizing-devices/#customization-using-the-ui) to override the `device_class` attribute to expose a `binary_sensor` to Alexa.
### Button, Input Button
Activate Buttons and Input Buttons with the button name, or _"turn on"_ utterance. They will appear in the Alexa app as scenes.
- _"Alexa, Ring Phone."_
- _"Alexa, turn on Ring Phone."_
#### Routines
Requires [Proactive Events](#proactive-events) enabled.
Alexa Routines can be triggered when Buttons and Input Buttons are pressed.
In order to enable this, buttons will appear to have "presence detection" capability. This is what allows this functionality since Alexa does not support button type devices. To trigger a routine when a button is pressed, select the button in the when menu and then select the "Person" capability.
#### Doorbell Announcement
Requires [Proactive Events](#proactive-events) enabled.
Configure a `binary_sensor` with `display_category` of `DOORBELL` in the [`entity_config`](#entity_config) to gain access to the doorbell notification settings in the Alexa App.
```yaml
alexa:
smart_home:
entity_config:
binary_sensor.alexa_doorbell:
name: "Front Door"
description: "Doorbell Binary Sensor"
display_categories: DOORBELL
```
Alexa will announce on all echo devices _"Someone is at the [entity name]"_ when a `binary_sensor` state changes from `off` to `on`.
Each Amazon Echo device will need the communication and announcements setting enabled, and the Do Not Disturb feature turned off.
#### Presence Detection with Binary Sensor
Requires [Proactive Events](#proactive-events) enabled.
Configure a `binary_sensor` that has a `device_class` attribute of `motion` or `presence` and configure `display_category` to `CAMERA` in the [`entity_config`](#entity_config) to gain access the presence detected notification settings in the Alexa App.
```yaml
alexa:
smart_home:
entity_config:
binary_sensor.driveway_presence:
name: "Driveway"
description: "Driveway Presence Sensor"
display_categories: CAMERA
```
Alexa will announce on all echo devices _"Person detected at [entity name]"_.
Each Echo device will need the communication and Announcements setting enabled, and the Do Not Disturb feature turned off.
[Image Processing](#image-processing) entities also support this notification.
### Camera
View a camera stream on an Amazon echo device.
- _"Alexa, show the front door camera."_
The [`stream`](/integrations/stream/) integration is required to stream cameras to Amazon echo devices.
The Amazon echo device will request the camera stream from Home Assistant. The Home Assistant URL must be accessible from the network the Amazon echo device is connected to and must support HTTPS on port 443 with a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport). These requirements can be satisfied with Home Assistant Cloud, or LetsEncrypt/DuckDNS.
Enable preload stream option for cameras used with echo devices to reduce response time, and prevent timing out before the 6 second limit.
### Climate
Single, double, and triple set-point thermostats are supported. The temperature value from the thermostat will also be exposed at a separate [temperature sensor](#sensor).
#### Set Thermostat Temperature
- _"Alexa, set thermostat to 20."_
- _"Alexa, set the AC to 75."_
- _"Alexa, make it warmer in here."_
- _"Alexa, make it cooler in here."_
#### Thermostat Mode
- _"Alexa, set living room thermostat to automatic."_
- `DRY` is shown in Alexa app as `DEHUMIDIFY`
- `ECO` is handled as a `preset` in Home Assistant, and will not display in the Alexa app.
- `FAN_ONLY` is not supported by the Alexa voice model and is shown as `OFF` in the Alexa App.
To change the thermostat mode, the exact utterance must be used:
- _"Alexa, set [entity name] to [mode utterance]."_
If the climate entity supports on/off, use _"turn on"_ and _"turn off"_ utterances with the entity name or the mode utterance.
- _"Alexa, turn on the [mode utterance]."_
- _"Alexa, turn off the [entity name]."_
Alexa supports the following utterances value for climate thermostat mode:
| HA Climate Mode | Alexa Mode Utterances |
| --------------- | ----------------------- |
| `AUTO` | _"auto"_, _"automatic"_ |
| `COOL` | _"cool"_, _"cooling"_ |
| `HEAT` | _"heat"_, _"heating"_ |
| `ECO` | _"eco"_, _"economical"_ |
| `DRY` | _"dry"_, _"dehumidify"_ |
| `OFF` | _"off"_ |
### Cover
Covers should be configured with the appropriate `device_class`.
Covers with a `device_class` of `blind`, `shade`, `curtin` are shown as an Interior Blind in the Alexa App and Covers with a `window`, `awning`, or `shutter` will show as an Exterior Blind.
Covers with the `device_class` of `garage` are shown as a [Garage Door](#garage-doors) and support the Open by Voice PIN feature.
Use the [Entity Customization Tool](/docs/configuration/customizing-devices/#customization-using-the-ui) to override the `device_class` attribute to correctly expose a `cover` to Alexa.
#### Open/Close/Raise/Lower
Home Assistant configures covers with semantics that provide _"raise"_, _"lower"_, _"open"_, _"close"_ utterances for covers. In addition to semantics _"turn on"_ / _"turn off"_ utterances will also work.
- _"Alexa, open the garage door."_
- _"Alexa, close the curtain."_
- _"Alexa, lower the shades."_
- _"Alexa, raise the roof!"_
Semantics are assigned based on the features supported by the cover. If the cover supports tilt functionality, the semantics _"open"_ and _"close"_ are assigned to the tilt functionality, and the semantics _"raise"_ and _"lower"_ are assigned to the position functionality.
If the cover does not support tilt, all semantics _"raise"_, _"lower"_, _"open"_, _"close"_ are assigned to the position functionality.
#### Set Cover Position
Covers that support a set position can be controlled using percentages.
- _"Alexa, set the [entity name] position to thirty percent."_
- _"Alexa, increase [entity name] position by ten percent."_
- _"Alexa, decrease [entity name] position by twenty percent."_
| Locale | Friendly Name Synonyms |
| ------- | ------------------------- |
| `en-US` | _"position"_, _"opening"_ |
Currently, Alexa only supports friendly name synonyms for the `en-US` locale.
#### Set Cover Tilt
Covers that support tilt position can be controlled using percentages.
- _"Alexa, set the [entity name] tilt to thirty percent."_
- _"Alexa, increase [entity name] tilt by ten percent."_
- _"Alexa, decrease [entity name] tilt by twenty percent."_
| Locale | Friendly Name Synonyms |
| ------- | ---------------------------------- |
| `en-US` | _"tilt"_, _"angle"_, _"direction"_ |
Currently, Alexa only supports friendly name synonyms for the `en-US` locale.
#### Garage Doors
Covers with a `device_class` of `garage` support the Open by Voice PIN feature in the Alexa app. Configure a 4 digit PIN code to open the garage door in the Alexa app.
### Fan
Control fan speed, direction, and oscillation.
#### Fan Speed
The fan device must support percentage based speeds with the `percentage` attribute.
- _"Alexa, set the fan speed to three."_
- _"Alexa, set the fan speed to fifty percent."_
- _"Alexa, set the fan power level to fifty percent."_
- _"Alexa, turn up the speed on the tower fan."_
- _"Alexa, set the air speed on the tower fan to maximum."_
#### Fan Preset Mode
The fan device must support the `preset_mode` attribute.
- _"Alexa, set the fan preset to eco."_
- _"Alexa, set the fan preset to smart."_
- _"Alexa, set the fan preset to auto."_
Currently, Alexa only supports `en-US` locale for preset modes.
#### Fan Direction
The fan device must support the `direction` attribute.
- _"Alexa, set the fan direction to forward."_
- _"Alexa, set the fan direction to reverse."_
#### Fan Oscillation
The fan device must support the `oscillating` attribute.
- _"Alexa, is oscillate on for the tower fan?"_
- _"Alexa, turn on swivel for the tower fan."_
- _"Alexa, turn on oscillation mode for the table fan."_
| Locale | Friendly Name Synonyms |
| ------- | ------------------------------------------------------------------------ |
| `en-US` | _"oscillate"_, _"swivel"_, _"oscillation"_, _"spin"_, _"back and forth"_ |
Currently, Alexa only supports friendly name synonyms for the `en-US` locale.
### Humidifier
Control power, target humidity and mode.
#### Humidifier target humidity
- _"Alexa, set the [entity name] humidity to fifty percent."_
#### Humidifier Mode
The humidifier device must support the `mode` attribute.
- _"Alexa, set the [entity name] mode to eco."_
### Image Processing
Requires [Proactive Events](#proactive-events) enabled.
#### Presence Detection Notification
All `image_processing` entities support the presence detected notification settings in the Alexa App. Any state change will trigger the notification.
Alexa will announce on all echo devices _"Person detected at [entity name]"_.
Display category will default to `CAMERA` to enable presence detected notification settings in the Alexa App. Each Echo device will need the communication and Announcements setting enabled, and the Do Not Disturbed feature turned off.
### Input Number and Number
Control an `input_number` or `number` entity with Alexa. Configures Alexa with the `min`, `max`, `step`, and `unit_of_measurement` attributes for the entity.
- _"Alexa, set [entity name] to forty five [unit of measurement]."_
- _"Alexa, increase the [entity name] by two."_
- _"Alexa, set the [entity name] to maximum."_
The following table lists the possible friendly name synonyms available for a Input Number or Number with `min: -90, max: 90, step: 45, unit_of_measurement: degrees`.
| Fan Range | Friendly Name Synonyms |
| --------- | ----------------------------------------- |
| -90 | _"negative ninety"_, _"minimum"_, _"min"_ |
| -45 | _"negative forty five"_ |
| 0 | _"zero"_ |
| 45 | _"forty five"_ |
| 90 | _"ninety"_, _"maximum"_, _"max"_ |
The `unit_of_measurement` will be used to select a supported unit label from the [Global Alexa catalog](https://developer.amazon.com/en-US/docs/alexa/device-apis/resources-and-assets.html#global-alexa-catalog). If there is no match it will be assigned a preset controller.
The following units are supported: °C, °F, K, m, km, mi, yd, in, kg, g, oz, lb, L, ft³, m³, gal and %
### Light
Control lights with _"turn on"_ and _"turn off"_ utterances, adjust brightness, color, and temperature.
- _"Alexa, turn on the bathroom light."_
- _"Alexa, turn off the patio light."_
#### Brightness
Lights that support brightness can be adjusted with percentages ranging from 0 to 100 percent.
- _"Alexa, set the bedroom light to fifty percent."_
- _"Alexa, living room lights to one hundred percent."_
The _"dim"_ utterance will decrease the brightness of a light 25 percentage points.
- _"Alexa, dim the bathroom light."_
#### Color Temperature
Adjust lights that support color temperature using the following friendly names:
- _"Alexa, set the dining room softer."_
- _"Alexa, make the living room warmer."_
- _"Alexa, set the dining room cooler."_
- _"Alexa, make the living room light whiter."_
- _"Alexa, make the living room warm white."_
- _"Alexa, set the kitchen to daylight."_
The following table lists the possible friendly name synonyms available to lights that support color temperature.
| Color Temperature in Kelvin | Friendly Name Synonyms |
| -----| ---------------------------------------------- |
| 2200 | _"warm"_, _"warm white"_ |
| 2700 | _"incandescent"_, _"soft white"_ |
| 4000 | _"white"_ |
| 5500 | _"daylight"_, _"daylight white"_ |
| 7000 | _"cool"_, _"cool white"_ |
Use _"warmer"_, _"softer"_, _"cooler_, _"whiter"_ utterances to adjust color temperature by 50 `mired` (approximately 300-500 degree kelvin change).
- _"Alexa, set the dining room softer."_
- _"Alexa, make the living room warmer."_
- _"Alexa, set the dining room cooler."_
- _"Alexa, make the living room light whiter."_
#### Color
Set the light color using the CSS [basic color keywords](https://drafts.csswg.org/css-color-3/#html4) or [extended color keywords](https://drafts.csswg.org/css-color-3/#svg-color) as the friendly color name.
- _"Alexa, set the front porch light to blue."_
- _"Alexa, set the bedroom light to red."_
- _"Alexa, change the kitchen to the color crimson."_
### Lock
- _"Alexa, lock my front door."_
- _"Alexa, unlock the dungeon."_
#### Unlocking
To unlock, Alexa will require a 4 digit voice personal identification number (PIN) for unlocking. Configure a 4 digit PIN in the Alexa app to unlock locks.
### Media Player
#### Change Channel
- _"Alexa, change the channel to 200 on the Living Room TV."_
- _"Alexa, change the channel to PBS on the TV."_
- _"Alexa, next channel on the Living Room TV."_
- _"Alexa, channel up on the TV."_
- _"Alexa, channel down on the TV."_
#### Speaker Volume
- _"Alexa, set the volume of the speakers to 50."_
- _"Alexa, turn the volume down on the stereo by 20."_
- _"Alexa, turn the volume down on Living Room TV."_
- _"Alexa, mute speakers."_
- _"Alexa, unmute speakers."_
- _"Alexa, lower the volume on the stereo."_
- _"Alexa, volume up 20 on the speakers."_
#### Equalizer Mode
Supports changing the Media Player `sound_mode` from the preset `sound_mode_list`.
- _"Alexa, set mode to movie on the TV."_
Alexa only supports the following modes: `movie`, `music`, `night`, `sport`, `tv`.
#### Inputs
Supports changing the Media Player `source` from the preset `source_list`.
- _"Alexa, change the input to DVD on the Living Room TV."_
Home Assistant will attempt to translate the `media_player` `source_list` into a valid `source` name for Alexa. Alexa only supports the following input names:
`AUX 1`, `AUX 2`, `AUX 3`, `AUX 4`, `AUX 5`, `AUX 6`, `AUX 7`, `BLURAY`, `CABLE`, `CD`, `COAX 1`, `COAX 2`, `COMPOSITE 1`, `DVD`, `GAME`, `HD RADIO`, `HDMI 1`, `HDMI 2`, `HDMI 3`, `HDMI 4`, `HDMI 5`, `HDMI 6`, `HDMI 7`, `HDMI 8`, `HDMI 9`, `HDMI 10`, `HDMI ARC`, `INPUT 1`, `INPUT 2`, `INPUT 3`, `INPUT 4`, `INPUT 5`, `INPUT 6`, `INPUT 7`, `INPUT 8`, `INPUT 9`, `INPUT 10`, `IPOD`, `LINE 1`, `LINE 2`, `LINE 3`, `LINE 4`, `LINE 5`, `LINE 6`, `LINE 7`, `MEDIA PLAYER`, `OPTICAL 1`, `OPTICAL 2`, `PHONO`, `PLAYSTATION`, `PLAYSTATION 3`, `PLAYSTATION 4`, `SATELLITE`, `SMARTCAST`, `TUNER`, `TV`, `USB DAC`, `VIDEO 1`, `VIDEO 2`, `VIDEO 3`, `XBOX`
#### Playback State
Requires [Proactive Events](#proactive-events) enabled.
Intents to seek forwards (skip) or to rewind (go back) are not supported at the moment.
### Scene
Activate scenes with scene name, or _"turn on"_ utterance. Home Assistant does not support deactivate or _"turn off"_ for scenes at this time.
- _"Alexa, Party Time."_
- _"Alexa, turn on Party Time."_
### Script
Run script with script name, or _"turn on"_ utterance. Deactivate a running script with _"turn off"_ utterance.
- _"Alexa, Party Time."_
- _"Alexa, turn on Party Time."_
- _"Alexa, turn off Party Time."_
### Sensor
Requires [Proactive Events](#proactive-events) enabled.
Only temperature sensors are configured at this time.
- _"Alexa, what's the temperature in the kitchen?"_
- _"Alexa, what's the upstairs temperature?"_
- _"Alexa, what's the temperature of my ex-girlfriend's heart?"_
### Switch, Input Boolean
Support _"turn on"_ and _"turn off"_ utterances.
- _"Alexa, turn on the vacuum."_
- _"Alexa, turn off the lights."_
#### Routines
Requires [Proactive Events](#proactive-events) enabled.
Alexa Routines can be triggered when Switches and Input Booleans change state.
In order to enable this, Switches and Input Booleans will appear as contact sensors in the when menu of Alexa Routines. This is because Alexa does not support triggering routines from switch-type devices, only from contact and motion sensors. In this menu when you select a switch, `Open` corresponds to `on` and `Close` corresponds to `off`.
### Timer
Start a timer with using the _"turn on"_ utterance.
- _"Alexa, turn on the laundry."_
Cancel a timer using the _"turn off"_ utterance.
- _"Alexa, turn off the laundry."_
Pause and Restart Timer entities in Home Assistant.
- _"Alexa, pause the microwave."_
- _"Alexa, hold the sous vide."_
- _"Alexa, restart the microwave."_
To avoid issues with Alexa built in timer functionality. The timer entity can not include the word "timer" in the friendly name.
### Vacuum
Support _"turn on"_ and _"turn off"_ utterances. Pause and Resume
- _"Alexa, turn on the vacuum."_
- _"Alexa, pause the vacuum."_
- _"Alexa, restart the vacuum."_
## Alexa Web-Based App
The following is a list of regions and the corresponding URL for the web-based Alexa app:
- United States: `https://alexa.amazon.com`
- United Kingdom: `https://alexa.amazon.co.uk`
- Germany: `https://alexa.amazon.de`
- Japan: `https://alexa.amazon.co.jp`
- Canada: `https://alexa.amazon.ca`
- Australia: `https://alexa.amazon.com.au`
- India: `https://alexa.amazon.in`
- Spain: `https://alexa.amazon.es`
- France: `https://alexa.amazon.fr`
- Italy: `https://alexa.amazon.it`
## Troubleshooting
### Binary Sensor not available in Routine Trigger
Binary Sensors with a [`device_class`](/integrations/binary_sensor/#device-class) attribute of `door` `garage_door` `opening` `window` `motion` `presense` are supported.
Use the [Entity Customization Tool](/docs/configuration/customizing-devices/#customization-using-the-ui) to override the `device_class` attribute to expose a `binary_sensor` to Alexa.
### Token Invalid and no Refresh Token Available
Disable and re-enable the skill using the Alexa App; then restart Home Assistant.
## Debugging
The Alexa integration will log additional information about state updates and other messages when the log level is set to `debug`. Add the relevant line below to the `configuration.yaml`:
If using Alexa with an Alexa Smart Home Skill and Lambda function such as haaska:
```yaml
logger:
default: info
logs:
homeassistant.components.alexa: debug
```
If using Home Assistant Cloud you also need to debug `hass_nubucasa.iot`:
```yaml
logger:
default: info
logs:
homeassistant.components.alexa: debug
hass_nabucasa.iot: debug
```
[alexa-dev-console]: https://developer.amazon.com/alexa/console/ask
[emulated-hue-component]: /integrations/emulated_hue/
[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token
[alexa-display-categories]: https://developer.amazon.com/docs/alexa/device-apis/alexa-discovery.html#display-categories
[alexa-supported-locales]: https://developer.amazon.com/docs/alexa/device-apis/list-of-interfaces.html