-
Notifications
You must be signed in to change notification settings - Fork 42
Troubleshooting
All new generation of Echo devices, like Dot 3rd gen or Plus 2nd gen, will try to connect to port 80 of Amazon Echo Hub even if a different port is configured. The TCP/IP port numbers below 1024 are special in that normal users are not allowed to run servers on them. In order to allow running the hub on port 80 you can do one of the following:
Solution 1
Run Node-RED as root user
sudo node-red
Solution 2
Configure hub to use port above 1024 and forward the traffic from port 80 - Port Forward Tutorial
Example iptables commands to redirect the traffic to port 8080
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Example commands to save iptables settings
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
Solution 3
Proxy port 80
Solution is described in Issue #89
Echo device will try to discover Amazon Echo Hub using SSDP protocol. In order to allow multicast messages to be routed you have to use host network.
docker run -it --network host --user 0 --name mynodered nodered/node-red-docker
Note: --user 0 will run Node-Red with root user
Check that:
- Echo device and Node-Red machine are connected to one and the same network
- if docker container is used to run the Node-Red, it is configured to use host network
- the multicast traffic is not filtered
- Check that your Node-Red instance is not running on multiple network interfaces from the same network. For example, your Node-Red may be listening on ethernet and WiFi interfaces. Issue #77
- Restart your Alexa devices. Issue #81
Amazon Echo Hub uses Node-RED context feature to store device settings. By default, context is stored in memory only. In order to preserve the device settings after restart context storage has to be changed to localfilesystem. Local File System Context