Hello all. I want to be able to say a direct command against Alexa or Google Assistant without skill invocation, and then receive the request within Node Red along with the originating device serial ID or friendly name. This will enable room awareness within NR.
Alexa, turn on the toaster.
Node Red receives the following...
requestMessage "Alexa, turn on the toaster"
deviceFriendlyName: "Office Echo"
Awesome! Did you require individual generic virtual switches to be setup for this when registered to Alexa? Like, lights, fan, toaster, etc... Or did you setup routines in the alexa app? Any high level setup info when connecting the Alexa palette in NR?
You need the node-red-dashboard and node-red-contrib-alexa-remote2 palettes.
Once installed, you need to configure the node-red-contrib-alexa-remote2
I followed the instructions here to get it connected.
Once you have it connected, you can copy and paste the flows here, and this will provide you with a Web page where you can navigate and execute things on Alexa, but this isn't a must, its a Very nice to have
Then you can start creating flows using Alexa in them
And once connected, you should see this under the node.
I want to highlight something from the webpage that Roy pointed to:
File Path is the place where you should type something/anything, meaningful to you like “authFile”. The plugin will create a file with that name and inside the file, it will store your encrypted Amazon credentials. This is needed because otherwise it will ask you to re-login every time you re-deploy your Node-RED flow.
When I installed and started using node-red-contrib-alexa-remote2, I didn't know this was required. Just as stated in this excerpt, each redeploy requires you to reauthenticate with Amazon. I was about to either abandon this node or at least whine about it stopping working to Roy when I decided to read the guide that he linked to. This very simple fix took away the only downside of these nodes. Effectively this was user error on my part.
Thanks for letting me find the error of my ways with a great pointer.
That's the problem, nothing is listening on 3456. I have node red installed on Windows, port 1880. Should I also have an app listening on 3456? Again, I wasn't able to install the Docker image, I don't have Docker. Do I need Docker?
I am running in docker, but I don't think that has anything to do with it.
When you first deploy on of these nodes, it says open ....:3456 in a browser. The node itself is listening. The node looks like this before the authentication (imagine it says open browser instead of Ready)
Once you have done the authentication, then it changes to ready.
Just to be clear. Install the pallette. Add a node to a flow. Deploy the flow. Then you should see the open your browser message.