Nabu Casa Alexa secure entities

Tags: #<Tag:0x00007f7c62232630>

My emulated hue bridge was playing up, so I decided to try out Nabu Casa for integration with Alexa voice control. All up and running with voice control of varoius switches/lights in a few minutes - great!

I can see from the docs that I can enable control of my alarm panel etc. Looking at the google home docs, I can set a secure pin that has to be provided to arm/disarm the alarm or to open things like garage doors. There is no equivalent information in the alexa docs. If I enable things like the alarm panel and garage door covers in the alexa integration, does this mean that they will be unsecured?

Not sure if this is how it works in general but for my setup the garage door is exposed as a door but needs to be turned on like a switch. I tell my garage door to turn on and it opens; no pin has been set.

Hmmm…thought as much. Not sure I want to expose things like covers/locks/alarms without any security.

In the google assistant docs:

Secure Devices

A secure device cannot be opened by Google Assistant unless a secure_devices_pin is set up. The following domains cover secure devices: lock , alarm_control_panel and covers with device types garage and door .

To allow opening, set the secure_devices_pin to something and you will be prompted to verbally provide this when opening the device. Closing and locking these devices does not require a pin.

For the Alarm Control Panel if a code is set it must be the same as the secure_devices_pin . If code_arm_required is set to false the system will arm without prompting for the pin.

Not sure why the security settings are different for Alexa and Google?

I’m looking to solve the same problem with Alexa and Nabu Casa

So I just had a little play with this.

Turns out that even if you add an alarm_control_panel entity or domain, it doesn’t appear in the Alexa app. They also don’t show in the Home Assistant Cloud config panel in the front end, so appears that they are not actually supported.

Covers work, but there is no security and you can’t determine status (open/close). To activate, you have to say “turn on the door” rather than “open the door”.

I think this is just an Alexa limitation because I noticed yesterday that you can make devices like “Covers” have 2 factor (request a pin code) with Google Assistant.

Configuration > Home Assistant Cloud > Google Assistant > Manage Entities > (look at your cover/s)


So we need this feature for Alexa as well.


Introduced in release 0.101.0

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 security_control_panel.

To use the exiting code configured for the security_control_panel the code must be 4 digits and the code_format attribute must be FORMAT_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.

Alexa does not support arming with voice PIN at this time. Therefore if the security_control_panel requires a code for arming or the code_arm_required attribute is true the entity will not be exposed during discovery. Note that code_arm_required may default to true even if the integration does not support it. Use the Entity Customization Tool in the Home Assistant Configuration and override code_arm_required to false to expose your security_control_panel during discovery.

security_control_panel state must be disarmed before arming. Alexa does not support switching from one armed state to another without first disarming. e.g. switching from armed_away to armed_home.

The security_control_panel state armed_custom_bypass isn’t supported by Alexa and is treated as armed_home.

Security Panel Utterances

Alexa, arm my home in away mode.
Alexa, arm my home.
Alexa, disarm my home.
Alexa, is my home armed?


Introduced in release 0.104.0
In addition to using on/off utterances. Home Assistant configures covers with semantics that allow you to say “raise”, “lower”, “open”, and “close” for covers.

Open/Close Utterances

Alexa, open the blinds.
Alexa, close the curtain.
Alexa, lower the shades.
Alexa, raise the roof!

Covers with a device_class of garage_door will enable the Open by Voice option in the Alexa app.

Covers that SUPPORT_SET_POSITION can be controlled using percentages.

Set Cover Position Utterances

Alexa, set the shades to thirty percent.
Alexa, increase shades by ten percent.
Alexa, decrease shades by twenty percent.