datech / node-red-contrib-amazon-echo

Alexa controlled Node-Red nodes supporting latest Amazon Echo devices. NO Alexa Skills required. NO cloud dependencies.
MIT License
140 stars 42 forks source link

alexa cant discover devices #132

Open caster1 opened 4 years ago

caster1 commented 4 years ago

hi im a newbie i just installed everything. and followed everything listed in wiki but still my alexa can not discover the device. my log is like this

1 Jul 18:09:25 - [info] Starting flows 1 Jul 18:09:25 - [info] Started flows 1 Jul 18:09:25 - [info] [mqtt-broker:192.168.43.69] Connected to broker: mqtt://192.168.43.69:1883 1 Jul 18:09:55 - [info] Stopping flows 1 Jul 18:09:55 - [info] Alexa Local Hub closing done... 1 Jul 18:09:55 - [info] [mqtt-broker:192.168.43.69] Disconnected from broker: mqtt://192.168.43.69:1883 1 Jul 18:09:55 - [info] Stopped flows 1 Jul 18:09:55 - [info] Starting flows 1 Jul 18:09:55 - [info] Started flows 1 Jul 18:09:55 - [info] [mqtt-broker:192.168.43.69] Connected to broker: mqtt://192.168.43.69:1883

Barabba11 commented 4 years ago

You probably didn't follow everything, check issues around here with the same topic you opened and you will loose less time find answer yourself.

caster1 commented 4 years ago

ive done port forwarding ive checked that its running under docker as host, im sure all of them are in the same network [info] Alexa Local Hub closing done... is this normal?

Barabba11 commented 4 years ago

Have a look on the next issue just closed

caster1 commented 4 years ago

i didnt get what he meant by downstream sorry im a newbie. and im using alexa client on my phone do i need to get echo for it to work?

Barabba11 commented 4 years ago

forget about complicated things, focus on simplest ones. He forgot to place devices on the flow and connect to the hub, you did that? The discovery on the hub is flagged? Hub is listening to the port 80? There is only one IP address on your device? Are Alexa and device placed under the same LAN? Doesn internet work too? There are lot of newbies users which prefer to ask instead on answer themself such questions..

caster1 commented 4 years ago

no ive done everything really before opening this issue. 3 Jul 15:40:45 - [info] Alexa Local Hub closing done... 3 Jul 15:40:45 - [info] [mqtt-broker:192.168.43.69] Disconnected from broker: mqtt://192.168.43.69:1883 3 Jul 15:40:45 - [info] Stopped flows 3 Jul 15:40:45 - [info] Starting flows 3 Jul 15:40:45 - [info] Started flows 3 Jul 15:40:45 - [info] [mqtt-broker:192.168.43.69] Connected to broker: mqtt://192.168.43.69:1883

is that alexa local hub closinf done happen to all?

Barabba11 commented 4 years ago

keep reading and trying, you're gaining good experience :) I'm sure you will succeed like all of us :)

truresma commented 4 years ago

it's a pity no one here writes the answer...

  1. sudo iptables -t nat -L --line-numbers (if it doesn't say anything about 8083/your port, then it's clear that it doesn't work)
  2. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
  3. sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083
  4. For the Node-Red Adapter insert port 8083 at the "Amazon Echo Hub" node and click deploy in the upper right corner and it works or it finds the devices and it is green.
  5. Another time sudo iptables -t nat -L --line-numbers (see if it says 8083, if it does then it should work) Now the whole thing must be saved permanently if the device is restarted
  6. sudo apt-get install iptables-persistent
  7. sudo bash -c "iptables-save > /etc/iptables/rules" | or service iptables save | if the 1 does not work, in any case the problem is the saving

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...

  1. sudo iptables -t nat -L --line-numbers (wenn hier nichts von 8083/euren Port steht, dann ist es klar, dass es nicht geht)
  2. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
  3. sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083
  4. Bei dem Node-Red Adapter bei dem "Amazon Echo Hub" Node den Port 8083 einfügen und oben rechts deploy klicken und es funktioniert bzw. er findet nun die Geräte und es ist grün.
  5. Nochmal sudo iptables -t nat -L --line-numbers (gucken ob da nun 8083 steht, wenn ja dann sollte es gehen) Nun muss das Ganze noch dauerhaft gespeichert werden falls das Gerät neugestartet wird
  6. sudo apt-get install iptables-persistent
  7. sudo bash -c "iptables-save > /etc/iptables/rules" | oder service iptables save falls das 1 nicht gehen sollte, auf jeden Fall ist die Speicherung das Problem

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.

Barabba11 commented 4 years ago

The solutions are around all closed issues in this repository. You need to read more I guess. Have a look here: https://github.com/datech/node-red-contrib-amazon-echo/issues/5#issuecomment-456573898

For me it was just necessary to type: sudo apt-get install iptables-persistent And I didn't type: sudo bash -c "iptables-save > /etc/iptables/rules"

caster1 commented 4 years ago

it's a pity no one here writes the answer...

1. sudo iptables -t nat -L --line-numbers (if it doesn't say anything about 8083/your port, then it's clear that it doesn't work)

2. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

3. sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083

4. For the Node-Red Adapter insert port 8083 at the "Amazon Echo Hub" node and click deploy in the upper right corner and it works or it finds the devices and it is green.

5. Another time sudo iptables -t nat -L --line-numbers (see if it says 8083, if it does then it should work)
   Now the whole thing must be saved permanently if the device is restarted

6. sudo apt-get install iptables-persistent

7. sudo bash -c "iptables-save > /etc/iptables/rules"  | or service iptables save |  if the 1 does not work, in any case the problem is the saving

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...

1. sudo iptables -t nat -L --line-numbers (wenn hier nichts von 8083/euren Port steht, dann ist es klar, dass es nicht geht)

2. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

3. sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083

4. Bei dem Node-Red Adapter bei dem "Amazon Echo Hub" Node den Port 8083 einfügen und oben rechts deploy klicken und es funktioniert bzw. er findet nun die Geräte und es ist grün.

5. Nochmal sudo iptables -t nat -L --line-numbers (gucken ob da nun 8083 steht, wenn ja dann sollte es gehen)
   Nun muss das Ganze noch dauerhaft gespeichert werden falls das Gerät neugestartet wird

6. sudo apt-get install iptables-persistent

7. sudo bash -c "iptables-save > /etc/iptables/rules"      | oder  service iptables save falls das 1 nicht gehen sollte, auf jeden Fall ist die Speicherung das Problem

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.

thank you so much , i couldnt find these detailed steps anywhere . really thank you

slopsjon commented 4 years ago

it's a pity no one here writes the answer...

1. sudo iptables -t nat -L --line-numbers (if it doesn't say anything about 8083/your port, then it's clear that it doesn't work)

2. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

3. sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083

4. For the Node-Red Adapter insert port 8083 at the "Amazon Echo Hub" node and click deploy in the upper right corner and it works or it finds the devices and it is green.

5. Another time sudo iptables -t nat -L --line-numbers (see if it says 8083, if it does then it should work)
   Now the whole thing must be saved permanently if the device is restarted

6. sudo apt-get install iptables-persistent

7. sudo bash -c "iptables-save > /etc/iptables/rules"  | or service iptables save |  if the 1 does not work, in any case the problem is the saving

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...

1. sudo iptables -t nat -L --line-numbers (wenn hier nichts von 8083/euren Port steht, dann ist es klar, dass es nicht geht)

2. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

3. sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083

4. Bei dem Node-Red Adapter bei dem "Amazon Echo Hub" Node den Port 8083 einfügen und oben rechts deploy klicken und es funktioniert bzw. er findet nun die Geräte und es ist grün.

5. Nochmal sudo iptables -t nat -L --line-numbers (gucken ob da nun 8083 steht, wenn ja dann sollte es gehen)
   Nun muss das Ganze noch dauerhaft gespeichert werden falls das Gerät neugestartet wird

6. sudo apt-get install iptables-persistent

7. sudo bash -c "iptables-save > /etc/iptables/rules"      | oder  service iptables save falls das 1 nicht gehen sollte, auf jeden Fall ist die Speicherung das Problem

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.

That worked for me thanks.

tre4b commented 4 years ago

I too am new to this. The above advice seems logical, if I have a stand alone NodeRed server. Mine is installed in Home Assistant with the pluggin and thus is probably running in its own container. I have no clue how to get access to the shell of that container to do most of the above. The install instructions seem to indicate I should not have to.

I found this looking for certainty in how I have configured the pluggin, I think the instruction page could be a little clearer regarding the options necessary to at least make people sure they have done the configuration correctly before looking for help. i.e. Should Topic be blank? What are the Process, Input options all about. etc.

For now I'm off to hard boot my HA server as that often fixes issues like this with NR.