Open namirda opened 4 years ago
Hi @namirda. Echo will try to connect on port 80, and your Amazon Echo Hub is running on port 8001.
Thanks @datech - I thought the port 80 restriction was only for Gen3 devices?
I have tried restarting the container mapping port 80 on the host to 8001 in the container but still no joy.
be sure you're correctly respecting the map procedure, the instructions has been posted here in some threads, we all are using here this way and works to everybody
Yep, I haven't noticed that you are using Dot v2.
I'm thinking of a few potential issues:
- Node Red instance and Echo Dot are in separate broadcast domains (different networks). "network_mode: host" configuration will set your Docker container to use your host network.
Can you confirm that your Docker host and the Echo Dot are using the same network?
- Amazon Echo Hub is not accessible by the Echo dot.
Can you confirm that you can open: http://<docker-ip>:<hub-port>/api/description.xml
@datech - thanks for your help...
1) Yes - docker host and echo dot are both in the same network 2) Yes - I can access description.xml using curl from the docker host which is headless - and also from my laptop using a browser.
When the Amazon Echo Hub says that it is online, what does that mean exactly??
It just means that the hub is successfully started on the selected port.
To check that the discovery procedure is working you can run the SSDP server in debug mode by setting an env variable DEBUG="node-ssdp:*"
I've used the following commands on my Linux box.
export DEBUG="node-ssdp:*";
node-red
If Echo Dot and the Hub can communicate with each other, you have to find similar log messages on the console
node-ssdp:server Setting LOCATION header "http://<hub-ip>:80/description.xml" on message ID 574436eb7a65d496 +1ms
node-ssdp:server Sending a message to <echo-ip>:50000 +2ms
chances are your router is blockeing the broadcast ARP, I have lo clue if Echo does reply to ping, but it would be useful to try to ping Echo from your Raspberry, if it replies then your network is ok
@datech - thanks.
I have set the DEBUG environment variable as you suggested. The log file is now very large but I can see the ssdp records which you described:
node-red2 | 2019-10-04T21:12:25.920Z node-ssdp:server Setting LOCATION header "http://192.168.1.79:8001/description.xml" on message ID f297e63c12a8449b node-red2 | 2019-10-04T21:12:25.920Z node-ssdp:server Sending a message to 192.168.1.66:50000
where 192.168.1.66 is the ip of the echo and 192.168.1.79 is the ip of the docker host.
I do not see any error messages in the console.
There are a lot of new records generated in the console when I try to discover new devices - so it does look as if the dot and hub are communicating. However discovery still fails.
@Barabba11 - Thanks. My Echo does NOT respond to pings. Does yours?
I haven't tried it, I can't now sorry, anyway they are communicating, so it's not influent. Network is ok
@Barabba11, @datech - Yes it looks as if the network is probably OK - but there is still no device discovery. What else can be going wrong here?
Having the same issue with Node-Red in docker. I too can access the description.xml.
Sorry, solved my issue reading your Wiki...should have read more :)
https://github.com/datech/node-red-contrib-amazon-echo/wiki/Troubleshooting
Running with --user 0 --network host
did the trick.
I have the same issue as @namirda does have it. It does not matter if my node-red running on port 80 or on 8080 with modified iptables. Is there any solution?
Chances are you not correctly remap the port to 80, or 80 is in use by something else
Can someone who has figured this make a walkthrough showing how they did it. Everyone is talking way over my head. I have no idea where these commands are coming from or going to.
Has it worked one time? Never? WHich platform are you using? Raspberry? Are you connected with cable, wifi or both? If you connect to the IP of your device, on port 80, what is the result appearing?
https://github.com/datech/node-red-contrib-amazon-echo/issues/5 Read this carefully
I am using an UnRaid server. It worked when I had it on a Raspberry Pi. It has never worked on UnRaid. My server is connected through a cable and my echo devices are all wireless. My UnRaid Server is running on 192.168.40.100, NodeRed is 192.168.40.100:1880, if I use 192.168.40.100:80 it takes me to my Unraid Server Homepage
192.168.40.100:80 it takes me to my Unraid Server Homepage
You got the problem, the port 80 is already in use, you need absolutely to free it from this "Unraid Server Homepage", google to know how to
Alright sweet. Got that taken care of, Unraid Server Homepage moved to port 8080. However, 192.168.40.100:80 doesn't take me anywhere now. "Unable to connect"
have you tried restart? You need to be sure the port 80 will be used from this module, try a netstat -a. To test it open the address of your Unraid server in browser and you will see a 404 error, means the server works. Actually I don't know which is the right address to type to have a proper answer
it's a pity no one here writes the answer...
It does not work with most of them because it is not saved permanently and the port forwarding is gone again at the next restart. Therefore save the iptable or port forwarding at the end.
Ich finde es schade, dass keiner hier die Lösung schreibt...
Es geht bei den meisten nicht da es so nicht dauerhaft gespeichert wird und beim nächsten Neustart die Portweiterleitung wieder weg ist. Deshalb am Ende das iptable bzw. die Portweiterleitung speichern.
I've used the following commands on my Linux box.
export DEBUG="node-ssdp:*"; node-red
@datech - where is this set? I've confirmed that I can connect to http://x.x.x.x/api/description.xml but am at a loss as to where to go next
SUMMARY
Using latest node-red docker image and simplest possible flow including node-red-contrib-amazon-echo, my Echo Dot Gen 2 does not detect the new device.
ECHO DEVICES
Echo Dot Gen 2
CONFIGURATION
CONSOLE OUTPUT