Works directly with Alexa in your local network
The node just works wihtin your local network - no extra cloud stuff is required.
Install directory from your Node-RED Settings Pallete
Install using npm
$ npm install node-red-contrib-alexa-home
Alexa Generation 3 devices
Alexa devices of generation #3 are not using the information used within the detection process. They do rely that all communication is done on port 80! To estatlish this you got 2 different ways to go.
ALEXA_PORT and running as root
You must define an environment variable ALEXA_PORT and set its value to 80. When running node-red as systemd unit as
To test the change you can also start node-red manually with following:
ALEXA_PORT=80 node-red start
using iptables and port forwarding
You can leave everything as it is and just define port forwarding using iptables
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 60000
Please consider that any changes to iptables are not presistent, after reboot you have to forward the port again, or use iptables-save as described here
Message Object Properties
the follow msg properties are generated within this node
payload.bri: brightness 0-255
payload.xy Color XY object
alexa_ip: <ip of alexa device interacting with node-red>
With version 1.x now also the input is processed within the node and updates the data to alexa. Within the alexa app you are now able to get the current state of your nodes.
Message input to the nodes
At the moment you can input as payload objects:
Normal an input is not routed as output because this would possibly cause endless update loops. But if you want this and know what you are doing, you can set the output param on the msg to let the input passthrough.