Node-RED to Alexa integration

Just a beginner node red, and am trying to get stuff working with Alexa. I have has some success, in that I have installed the bridge, created a device, added a flow that controls a MQTT plug (I have named FRED).Alexa has discovered the device. So far, so good.

I say "Alexa fred on", an the plug switches on,
I say "Alexa fred off", and no surprise, off it goes.

However the state of FRED is not reflected in what the Alexa app on my phone shows.

My existing other device all show on/off as appropriate. It seems such a simple thing so I must be missing something simple and obvious.

Any advice or assistance is much appreciated.

Regards,
Andrew

P.S.
Node-Red v3.1.0
And the Alexa integration is here Node-RED Alexa Home Skill Bridge

I just think it's not an offered feature

I just checked my MQTT controlled switch and my Alexa app status doesn't update either

If I control it using the Alexa app - it only shows the state for 5 secs before not showing the state again

I've never needed to look at what the Alexa app says the state is :slight_smile:

Thanks for the reply. It seems odd that there is a item on the node red builder that allows you to send a response, but I guess I can live with this limitation. Thanks

Have you read the section about Alexa Home Response at Node-RED Alexa Home Skill Bridge
Also do you have Auto Acknowledge checked in the node ?

I have read the docs, though it is entirely possible that I have missed or misunderstood something.

And yes, I have "Auto Acknowledge" checked. On the Alexa app when I press the button the state changes, and lasts for about 5 seconds before the showing of the state disappears.

The integration works. I have called my test device FRED, so if I say "alexa turn fred on" it switches on.

Thanks for your help.

Regards,
Andrew

So to return a response to Alexa, you need to use the response node, and untick Auto Acknowledge.

Put a response node down stream from the Alexa Home node.
In between use a function node to modify the incoming message, based on whether the action was successful, and pass to the response node (as per the docs).

I only use this to report temperatures, so I haven't tested it with switches.

Thanks for the tip! I'll give it a try

I just tested, and see the state change the same as you. I suspect that the Home node doesn't store the states, so Alexa cannot query them.

@hardillb is this working as expected please ?

Hi,

So as a simple test if i wire the alexa-home straight to the alexa-home-resp I should see the state reflected on the app ? Is that the simplest possible case ?

Thanks for "escalating" this for me.

This is working as expected. The (very old) version of the Alexa API the skill uses does not do any state updates.

The response node is literally just that, it is there to respond to a command request (when Auto Acknowledge is not checked), not update the state of the device due to other events.

None of this will be changing as I have no intention of rewriting the entire stack from scratch.

Thanks for getting back, I just wanted to check for @andrewtholt

And thanks again for the very useful nodes :wink:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.