NEWS
Alexa in Node Red ohne contrib-alexa-home oder Ähnliches
-
@jrudolph
Ich glaub ich habe es....
irgend etwas stimmt mit dem Base64 encoded passwort nicht. In meiner Lamda Funktion ist am ende ein '=' im Passwort, welches ausgegebene wird, hat am ende ein 'K'
unter: diesem link kannst Du es gegenprüfen.
Wenn du oben 'Username:Passwort' eingibst. -
@zzippo Ich frage mich wie ich das damals gemacht habe, der richtige Befehl für die Ausgabe des Passwortes wäre:
echo -n $username:$pass | base64.
Ich ändere gleich das script, und beseitige auch den Ausgabefehler in Zeile 65. -
@zzippo wie fast immer, sitzt das Problem zwischen Stuhl und Monitor.
kann mich wirklich ärgern über diesen Fehler. Entschuldige bitte, das ich Dir diese Sucherei eingebrockt habe. -
@zzippo Danke! Das probiere ich morgen gleich mal aus (habe gerade einen Termin). Hat mir aber Spaß gemacht mich mit dem Thema mal näher zu befassen.
Schönen Abend noch!
-
@jrudolph Dann hoffe ich, das morgen alles klappt. wenn es erstmal läuft, dann macht es richtig Freude. Ich wäre dann auch motiviert, weiter an der Sache zu entwickeln, obwohl im Moment schon alle meine Bedürfnisse gedeckt sind.
Wenn ich nicht so ein blutiger Anfänger in JS wäre, würde ich auch einen Adapter bauen. Ich werde mir in den nächsten Tagen mal ein paar Youtube Videos zu Gemüte führen, evtl. hilft das ja. -
@zzippo Juchuu
Kaum stimmt das Passwort, dann klappts auch.
Vielen Dank für deine bisherigen Bemühungen. Ist ein ganz tolles Projekt. -
@zzippo Könntest du mal zeigen, wie du die Rolladensteuerung eingerichtet hast. Geht das auch über den Mode Regler?
Ich habe das folgendermaßen versucht zu lösen:
Das Gerät wird von Alexa auch gefunden, allerdings kommt als Antwort: "Ich weiß nicht, wie ich diese Einstellung für Laden Test machen kann."
Bei den friendly Names hinter den Supported Modes habe ich Laden Test hoch bzw. runter eingegeben. -
@Ju5t1n said in Alexa in Node Red ohne contrib-alexa-home oder Ähnliches:
@zzippo Könntest du mal zeigen, wie du die Rolladensteuerung eingerichtet hast. Geht das auch über den Mode Regler?
Ich habe das folgendermaßen versucht zu lösen:Hallo Ju5t1n,
Toll das es klappt.
Ich habe die Rolläden auch über mode angebunden, bin aber gerade dabei das umzustellen, weil die neuen Tasmota Versionen Rolläden speziell unterstützen.
ich habe es so gemacht:
und kann dann mit dem Befehl 'Alexa, Küche Rolladen runter' arbeiten.
-
@zzippo Ich kann bestätigen dass nun neue Geräte gefunden werden. Erst gab es noch Probleme mit der Verbindung zwischen Proxy und PC. Im PC mußte ich noch eine Firewall Regel für den Port 41101 einrichten. Das als Hinweis für andere bei denen es evtl. auch an dieser Stelle klemmt.
-
@jrudolph, danke für den Hinweis. Wundert mich aber, weil ich die Firewall Regel per Software setzte, hattest Du das Programm mit Administrator Rechten gestartet?
-
@zzippo Tja, hat mich auch gewundert. Ich sehe die Regel für den AlexaDeviceGenerator (für alle Ports) in den Windows Defender Firewall Regeln. Habe mal probehalber wieder meine 41101 Regel deaktiviert --> geht wieder nicht. Regel 41101 aktiviert --> alles OK.
Ja, läuft unter Admin.
Jedenfalls funktioniert es jetzt. -
@zzippo Hi, besten Dank. Ich bin bei Teil 1 bis zum letzten Schritt gekommen. Leider wird bei mir in Alexa unter Skills der Button "Entwicklerskills" überhaupt nicht angezeigt. Muss ich da noch etwas zusätzlich aktivieren, damit ich das bekomme?
EDIT: hat sich erledigt. Irgendwie hatte ich einen Amazon Developer Account unter der gleichen Email, aber mit anderem Passwort als mein 'normaler' Amazon Account, der auch meine Echos drin hat. Daher war mein Alexa Developer und mein Alexa nicht miteinander verbunden.
-
Sehr interessantes Projekt. Lob an zzippo! Teil 1 hat super funktioniert!
Leider habe ich noch einige Schwierigkeiten mit Teil 2.
Die Ports 80 und 443 müssen auf diesen vor der Installation durchgeschaltet sein.
Nur die Ports vom Raspberry auf dem Router (in meinem Fall eine Fritzbox), oder noch woanders?
Danach die IP Adresse auf der NodeRed bzw. der IOBroker läuft.
Nur die IP? Kein Port oder weiteres?
Dann Die IP des Rechners, welcher die Discovery Response von Alexa beantwortet.
Was ist Discovery Response? Wird irgendwie nie vorher drüber gesprochen. Oder habe ich was überlesen?
Zu guter letzt Dein Userlogin und Passwort für die Authentifizierung wenn Du auf Deine Geräte vom Internet zugreifen willst.
Das sind dann wohl die Zugangsdaten vom DynDNS?
Ich frage das alles weil das Script nur mit sehr vielen Fehlern durchläuft. Auch bei der Installtion von Letzencrypt scheint was nicht zu funktionieren. Ich komme nach der Installation auch nicht über den DynDNS auf die Apache Startseite.
-
Hallo Marsx79,
Nur die Ports vom Raspberry auf dem Router (in meinem Fall eine Fritzbox), oder noch woanders?
Ja, In der Fritzbox müssen die Ports 443 und 80 auf den Reverse-Procy umgeleitet werden.
Danach die IP Adresse auf der NodeRed bzw. der IOBroker läuft.
Nur die IP? Kein Port oder weiteres?
Ja, nur die IP Adresse, der NodeRed Port (1880) wird mit dem Script in die Datei <DeineDynDNS>.config automatisch eingetragen.
Dann Die IP des Rechners, welcher die Discovery Response von Alexa beantwortet.
Was ist Discovery Response? Wird irgendwie nie vorher drüber gesprochen. Oder habe ich was überlesen?
Nein, das hatte ich nicht erklärt. Amazon nennt die Gerätesuche 'Discovery', Discovery Response ist dann die Antwort auf die Gerätesuche.
Zu guter letzt Dein Userlogin und Passwort für die Authentifizierung wenn Du auf Deine Geräte vom Internet zugreifen willst.
Das sind dann wohl die Zugangsdaten vom DynDNS?
Nein, das sind die Login Daten für den Apache Server, Alle Adressen die Du über den Reverse Proxy erreichen möchtest, fordern Dich dann auf, Deine Daten einzugeben. Du möchtest ja sicher nicht, das jemand anderes Dein NodeRed aus der Ferne bedient.
Die DynDNS diehnt ja nur dazu, (falls du eine Dynamische IP hast) Deine Fritzbox mit einem immer gleichen Namen aus dem Internet zu erreichen.Ich frage das alles weil das Script nur mit sehr vielen Fehlern durchläuft. Auch bei der Installtion von Letzencrypt scheint was nicht zu funktionieren. Ich komme nach der Installation auch nicht über den DynDNS auf die Apache Startseite.
Hier wäre interessant welche Fehler auftreten, LetzEncrypt lässt sich nur installieren wenn die Portfreigabe funktioniert.
-
@zzippo said in Alexa in Node Red ohne contrib-alexa-home oder Ähnliches:
Nein, das hatte ich nicht erklärt. Amazon nennt die Gerätesuche 'Discovery', Discovery Response ist dann die Antwort auf die Gerätesuche.
Aber welche IP soll ich denn da angeben?
-
@Marsx79 said in Alexa in Node Red ohne contrib-alexa-home oder Ähnliches:
Aber welche IP soll ich denn da angeben?
Für die Geräte-Suche ist das Windows-Programm. Du brauchst also einen Rechner mit Windows. Dessen IP gibst Du hier ein, damit der Reverse Proxy Gerätesuchen zu diesem weiterleiten kann.
Wichtig ist, das dieser immer die gleiche IP von Deinem Router zugewiesen bekommt. -
Vielen Dank erstmal für die Hilfe und die Erklärungen. Soweit hat jetzt alles mit dem Einrichten funktioniert.
In der Alexa App findet er jetzt auch die neuen Geräte. Allerdings lassen diese sich nicht schalten. Kann ich irgendwie prüfen ob der Zugriff von NodeRed auf die sql Datenbank funktioniert?
Wolltest du noch einen 4. Teil machen über die Datenbank usw.?
-
@Marsx79
Natürlich kannst Du das prüfen. Am besten erst einmal Debug Nodes in NodeRed anlegen, z.B. wie hier:
Die debug nodes sollten so konfiguriert sein, das sie immer das gesammte Telegramm anzeigen:
Wenn Du es deploy'st und dann Alexa einen Schaltbefehl gibst solltest Du in etwa folgenden Output im Debug Tab sehen:
Hier wird eine Steckdose geschatltet, welche keiner speziellen Alexa zugeordnet ist.
Wenn z.B. kein Output im Debug erscheint, dann kommt auch der HTTP request nicht bei NodeRed an. -
Bei mir sieht das so aus.
-
@Marsx79
Dann liegt es am Eintrag in der Datenbank, ich nehme nicht an das Du dort 'test' falsch geschrieben hast. Eher ist das Feld 'WelcheAlexa' nicht NULL sondert 'Leer'.
Zeig mal einen Screenshot.