Skip to content

Troubleshooting

Teodor Ivanov edited this page May 3, 2020 · 13 revisions

Error: listen EACCES: permission denied 0.0.0.0:80

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


Node-Red in a Docker container

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


Echo cannot discover Amazon Echo Hub

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

Alexa: "I am not quite sure what went wrong"

  • 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

Device settings are reset after Node-Red restart

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