Current state Amazon Echo/Alexa in 12/2022

TL;DR:

  1. Home Assistant Cloud to control HomeAssistant from Alexa.
  2. Alexa Media Player to control Alexa from HomeAssistant.
  3. This is not valid for all.

Documentation gets outdated quickly. Worse, a lot of blogs and articles in the web don’t even give a date. I investigated how to integrate Alexa with HomeAssistant. This posting can’t be comprehensive. I hope to address the key questions. Where I am wrong please make it more precise. This is still a work in progress.

Directions of action

In general there are two directions to consider. Alexa controlling HomeAssistant and HomeAssistant controlling Alexa, depending at what end the devices are connected. This targets simple getting and setting of the values of the devices.

Then there may be the option to trigger scripts aka routines on the other end. Alternatively both ends may also act as observer and trigger themselves. Finally there is the very powerful option to send full text commands to Alexa, like you would command Alexa by voice.

Each of the mentioned tools does only cover a part of this. HomeAssistant is still limited in controlling devices connected to Alexa. In general I would connect my hardware devices to HomeAssistant. Nonetheless, there are features built into echo devices, you may want to use, temperature, media player etc.

Scripts and routines

Alexa routines are set up by the use of forms, no backup, no versioning, no sharing. Hence, it best to keep scripts on the HomeAssistant end, but there are situations you will decide to use routines.

To cloud or not to cloud

Should the interaction go by cloud or stay in the house? Alexa depends on the cloud anyway. Interaction by cloud in general has some latency. It creates dependencies. Typically additional expenses are involved.

Amazon scaling down

Amazon devices don’t earn money so far. Amazon is already scaling down. Lay-offs and deterioration of music streaming in Prime are examples. Prime video is getting boring. They tear down the web based administration. You depend upon a smartphone. Automations are not that future-proof as they seem to be.

Zigbee

The zigbee of the echo device neither does integrate into the HomeAssistant zigbee network, nor does it work as an extender. It wants to control the zigbee network itself. I don’t know any an option to control zigbee devices connected to echo from the end of HomeAssistant. The Alexa media player team is working on this feature at least.

Hue bridge emulation

HomeAssistant can emulate a hue bridge. It works well within the intended range of hue. That is switching lights connected to home assistant. Beyond it is hacking. It may be worth to exploit those hacks. It is fully in-house. One of those hacks, is to exploit input_boolean to trigger a routine within Alexa or an automation within HomeAssistant.

It is an official API and is less likely to break in the future. Nonetheless, it did break for the google voice assistant, according to the docs.

Alexa media player

This component is very powerful. The name is misleading. It does not only play media. It can send all kind of commands to Alexa and start routines.

Meanwhile the media player can also get some devices connected to echo, but not all. For example it does not get a Wifi switch connected to the echo device. It does get the built-in temperature, timers, alarms, etc.

The media player tool registers as an Alexa app like those on the Smartphone and should have a similar level of security. As an Alexa app, we can expect it to become full featured in the future.

Disadvantage is, that it is using “the unofficial Alexa API”. You don’t know, when Amazon will break it. Powerful, yet a game of luck.

Amazon Alexa integration

This is the “HomeAssistant official” way to go.

Without the HomeAssistant Cloud:

From the docs:

“An AWS account is needed if you want to use the Smart Home Skill API. A part of your Smart Home Skill will be hosted on AWS Lambda. However, you don’t need to worry about costs; AWS Lambda is free for up to 1 million requests and 1GB of outbound data transfer per month.”

It’s not that easy. First of all AWS requires a credit card, even if you want to use the free plan. Credit cards are very US and not without costs themselves. It is ugly at least, to involve a credit card, where you just want to communicate within your own walls.

With the HomeAssistant Cloud:

All the issues above may be reasons, to better go with the HomeAssistant Cloud at Nabu Casa. The costs are 6.50 USD plus taxes per month or a similar value in other currencies. Depending on your income, it is a number.

Both

Triggering routines

So far I have discovered only one hack to customise the official tool to trigger Alexa routines. This is by creating in input_boolean. When creating a routine within Alexa, the boolean shows up under Smart Home in the trigger selection. This way a script within HomeAssistant can trigger a routine of Alexa by changing the boolean value.

2 Likes

You can use a a dummy bulb with the hue/Alexa or Nubu cloud to trigger Alexa routines from HA see

Create a virtual Dimmer or light template for Alexa

This allow you to create 99 triggers from a single entry. Rather than creating scripts or input_boolean for each individual trigger

I am using the Nabu Casa Cloud Service to integrate my Entities, Automations, Scenes and Scripts to Alexa.
Yes, it is a payed Service - but paying for this will (hopefully) asure, that the work on HomeAssistant will continue…
[While I have seen some people who canceled their subscriptions after the recent Updates, in my opinion it will empower the users to also raise their voice somehow in the discussion how the Software could develop].

In combination with the Alexa Media Player integration, this seems the most powerfull combination to me… maybe, also with the option to “actionable notification”

for which I yet do not really have a use-case.

2 Likes

I can’t complain about the documentation: Amazon Alexa - Home Assistant
The only thing missing is Alexa Media Player, because it’s a custom component.

You can add the devices to the Echo and control it through Home Assistant:

I have had severe reliability issues with Nabu Casa in the past. Although they seem to be fixed by now I changed to the Alexa Skill. Also with the recent price increases it’s not worth it anymore. One can still support the project through monthly donations.

@FPro Sure you can connect zigbee devices to Alexa and send commands by the media player. You can’t display and control them within Home Assistant like devices directly connected to home assistant. Alexa doesn’t offer a bridge interface to do so. Am I wrong?

And even Nabu Casa only works the other direction.

@lonebaggie I followed this hint and created a light template. I can change the values of the light from within the Alexa app. I can’t use it to trigger a routine. When I create a routine, it does not show up as a trigger, while input_boolean does. An input_boolean shows up in the topic Smart Home.

So I still depend on input_boolean to trigger routines from within HA.

According to the Alexa Media Player documentation you are. It creates entities for each light device. Can’t confirm it though, as I don’t have the hardware.

The purpose is to trigger something in Home Assistant through a routine. So say something to Alexa → trigger the light setting → trigger an automation in Home Assistant. I don’t think this approach adds any value as you have to create automations just as you would create a script that you expose to Alexa. I don’t see the advantage.

You can directly trigger routines. No need for any input booleans.

I use it a lot, to send announcements by Alexa. For example I check the status of a door. If it is open for too long, Alexa asks to shut it. It’s an important element for me, to save energy in this winter and it works pretty well for the whole family.

Currently I use the Alexa media player to do so. I consider to exploit the hue bridge to ship messages as a light template, though, to reduce latency.

I didn’t figure out any way to ship messages. Alexa routines don’t even offer a template language to put values into predefined answers.

He’s guys.

Using Alexa media Player a long time.
Sadly there where no updates pushed from the integration since a while. Amazon is changing the unofficially API and cutting it down.

Are any alternatives for getting play state, events for timers alarms …, playing music, speaking announcements?

Thx