NEWS
[ gelöst] Alexa findet Geräte nicht mehr / Node Red Port?
-
Hallo,
seit ca. 3 Tagen funktioniert die Sprachsteuerung über Alexa nicht mehr. D.h. die Geräte die ich über Node Red erstellt habe und mit dem Amazon Echo Hub Knoten verbunden habe, werden nicht mehr über Alexa gefunden.
Ich hatte in der Zeit mein Pakete im debian OS geupdatet und auch iobroker auf den neusten Stand gebracht. Ich bin da eigentlich immer recht up-to-date.
Soweit ich mich erinnere gab es auch ein update vom nodered adapter?Welche Ports soll ich denn im nodered Adapter einstellen? Im Nodered Flow ist der Amazon echo hub auf 80, aber in der iobroker Instanz kann ich 80 nicht wählen da dieser belegt sei. Ich denke hier scheint das grundlegende Problem zu sein scheinen.
Hat jemand ähnliche Erfahrungen gemacht?
-
@matzeit Ich habe beim 'amazon-echo-hub' den Port 80 und beim nodered-Adapter den Port 1880 eingestellt. Natürlich müssen die Echos auf den ioBroker zugreifen dürfen. Wenn das also eine Firewallregel blockt oder das eventuell vorhandene VLAN ein anderes ist und keine Regel existiert die den VLAN-übergreifenden Zugriff zulässt, dann klappt das nicht.
-
@dr-bakterius
Ich habe die Ports auch so eingestellt.
Nodered instanz neugestartet, Flow deployed, Alexa nach neuen Geräten suchen lassen. Leider wird nichts gefunden!
Am Netzwerk habe ich auch nichts geändert. Ich habe zwei Fritzboxen im Mesh und mein iobroker läuft in einer debian vm auf proxmox direkt per LAN Kabel am Switch.
Meine SmartHome Geräte die direkt an Alexa gekoppelt sind (z.B. TV Licht Govee LED Strip) funktioniert problemlos. -
@matzeit Ich mache das etwas anders:
Ich verarbeite alle Ergebnisse dann in Blockly. Aber das sollte keinen Unterschied machen. Sorry, aber sonst habe ich keine Ideen mehr.
-
@dr-bakterius
Ich habe per "iob diag" die Ausgabe einmal geprüft. Bei mir steht unter "Listening Ports" folgendes:*** Listening Ports *** Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 16123 1/init tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 17628 545/sshd: /usr/sbin tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 0 5111586 20431/cupsd tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 1000 5104674 19748/iobroker.js-c tcp 0 0 0.0.0.0:1884 0.0.0.0:* LISTEN 1000 5104525 20002/io.shelly.1 tcp 0 0 0.0.0.0:1887 0.0.0.0:* LISTEN 1000 5104869 19972/io.mqtt.0 tcp 0 0 0.0.0.0:1886 0.0.0.0:* LISTEN 1000 5104868 19972/io.mqtt.0 tcp 0 0 0.0.0.0:1880 0.0.0.0:* LISTEN 1000 5104477 19934/node-red tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 1000 5104914 20017/io.sonoff.0 tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 120 17648 529/redis-server 12 tcp6 0 0 :::80 :::* LISTEN 1000 5105687 19934/node-red ...
Passt das mit "tcp6" für den Port 80 (ist amazon-echo-hub in node red)?
Mit dem Alexa2 Adapter habe ich auch das Problem, dass ich per Computer nicht auf die Smarthome Liste zugreifen kann. Es kommt bei Aufruf der Alexa Seite nur die Seite mit dem QR Code und man muss mit einem Android Device in der App weitermachen. Dort schlagen aber alle Gerätesuchen fehl. Das Amazon Cookie habe ich vielleicht vor einigen Jahren mal eingerichtet aber ist schon so lange her. Könnte es auch damit zusammenhängen? Wobei in den Objekten für einige Geräte DP Aktualisierungen reinkommen. Es werden nur keine neuen Geräte mehr eingefügt.
-
@matzeit Ich habe bei mir kein IPv6. Da kann ich dir nicht helfen. Warum nimmst du nicht IPv4?
Wie sieht deine Einstellung hier aus?
Und hier?
-
@dr-bakterius
sieht genauso aus.Ich werde den Verdacht nicht los, dass der eingerichtete Dient unter node-red von amazon-echo-hub mit Port 80 in meinem Netzwerk nicht gefunden wird. Demnach auch die Echo Geräte hier nicht zugreifen können.
Ich habe nun testweise in der amazon-echo-hub.js Datei im Verzeichnis von ../node-red-contrib-amazon-echo/nodes/ den Code angepasst:
Original:httpServer.listen(port, function(error) { if (error) { hubNode.status({ fill: 'red', shape: 'ring', text: 'Unable to start on port ' + port }); RED.log.error(error); return; }
Angepasst:
httpServer.listen(port, "0.0.0.0", function(error) { if (error) { hubNode.status({ fill: 'red', shape: 'ring', text: 'Unable to start on port ' + port }); RED.log.error(error); return; }
Somit zeigt meine Ausgabe nun:
Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 523/cupsd tcp 0 0 0.0.0.0:1887 0.0.0.0:* LISTEN 735/io.mqtt.0 tcp 0 0 0.0.0.0:1886 0.0.0.0:* LISTEN 735/io.mqtt.0 tcp 0 0 0.0.0.0:1884 0.0.0.0:* LISTEN 789/io.shelly.1 tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 806/io.sonoff.0 tcp 0 0 0.0.0.0:1880 0.0.0.0:* LISTEN 1449/node-red tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 574/iobroker.js-con tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 524/redis-server 12 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 538/sshd: /usr/sbin tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1449/node-red
D.h. der Port 80 wird unter ipv4 geöffnet. Mit einem Port scanner finde ich auch die IP (v4) vom iobroker und den offenen Port 80.
Aber die Echos finden dennoch keine neuen Geräte?
Falls jemand noch Tipps hätte, wäre ich sehr verbunden!
PS: Ich habe iobroker in einer VM unter Proxmox. Alles neuester Standedit:
Ich habe nun folgendes gemacht;- Node-Red aus dem Beta Repository installiert
- Im Flow den Amazon Echo Hub gelöscht und neu platziert + Verbunden mit den Devices
- Port/devicelist gecheckt: http://10.42.0.32:80/api/description.xml
- In der Alexa App auf dem Handy 3 Geräte gelöscht, die nicht mehr erreichbar waren (u.a. eine Tuya Lampe)
- Echo neugestartet
- Neue Gerätesuche angestoßen
--> es wurden neue Geräte gefunden!
Ich tippe darauf, dass irgendein Gerät den Prozess blockiert hatte.