Hi,
ich bekomme derzeit die Fehlermeldung von Alexa: Bei er Kommunikation mit dem angeforderten Still ist ein Problem aufgetreten.
Habe dazu im Internet nichts gefunden. Hatte schon einmal jemand dieses Problem??
Gruß Benjamin
Ankündigung
Einklappen
Keine Ankündigung bisher.
Alexa Custom Skill für EDOMI (LBS 19000646 und 19000647)
Einklappen
X
-
Dazu würde ich das alexa.php in ein eigenes Verzeichnis verschieben, welches unterhalb von /usr/local/edomi/www/ liegt und dann das proxy_pass Statement in der nginx Config anpassen.
und dann:Code:mkdir /usr/local/edomi/www/alexa/ cp /usr/local/edomi/www/admin/lbs/alexa.php /usr/local/edomi/www/alexa/
und dort den proxy_pass Befehl ändern:Code:nano /etc/nginx/sites-enabled/default
Ist aber ungetestet, da ich derzeit einen apache Reverse Proxy einsetze.Code:proxy_pass https://<EDOMI-IP>/alexa/;
Einen Kommentar schreiben:
-
War eher eine theoretische Frage, ob technisch etwas dagegen spricht.Zitat von jonofe Beitrag anzeigenWenn du keine Firewall zwischen dem RPi Reverse Proxy und dem EDOMI Server hast (also keine DMZ), dann macht es in der Tat kaum einen Unterschied, ob es auf dem EDOMI Server oder dem RPI läuft.
Gibt es denn einen Grund warum du das Skript auf dem RPi laufen lassen möchtest?
Wie kann ich denn dem nginx beibringen, dass er den Reverse Proxy nur für das eine File "alexa.php" macht und ansonsten nichts aus der Edomi-Installation nach außen zur Verfügung stellt?
Einen Kommentar schreiben:
-
sorry, stimmt...
ich habs gefunden:
Invalid Application id: amzn1.ask.skill.af90.....
Ich hatte ein Leerzeichen nach dem Anführungszeichen.
$applicationIdValidation = ' amzn1.ask....
Blöder Fehler! Vielen lieben Dank nochmals für die Hilfe und den tollen LBS!!!
Einen Kommentar schreiben:
-
Das ist nicht das Logfile von dem ich oben sprach ...Zitat von tyke Beitrag anzeigenIm Fehlerlog steht leider nichts aufschlussreiches:{EDOMI,CUSTOMLOG_Alexa_Receiver_LBS_19000646.htm,1 7.03.2017,08:17:45,428750,19294} Zeitstempel ms PID LogLevel Meldung 2017-03-17 08:17:45 428570 19294 debug LBS19000646 [v0.3.1]: LBS started 2017-03-17 08:17:45 481868 19294 debug LBS19000646 [v0.3.1]: LBS ended 2017-03-17 08:39:09 211844 20896 debug LBS19000646 [v0.3.1]: LBS started 2017-03-17 08:39:09 273173 20896 debug LBS19000646 [v0.3.1]: LBS ended 2017-03-17 08:40:51 929683 1494 debug LBS19000646 [v0.3.1]: LBS started 2017-03-17 08:40:51 972522 1494 debug LBS19000646 [v0.3.1]: LBS ended
Einen Kommentar schreiben:
-
Hallo André,
genau, ich teste mit dem Befehl "Starte Edomi".
Im Fehlerlog steht leider nichts aufschlussreiches:
{EDOMI,CUSTOMLOG_Alexa_Receiver_LBS_19000646.htm,1 7.03.2017,08:17:45,428750,19294} Zeitstempel ms PID LogLevel Meldung 2017-03-17 08:17:45 428570 19294 debug LBS19000646 [v0.3.1]: LBS started 2017-03-17 08:17:45 481868 19294 debug LBS19000646 [v0.3.1]: LBS ended 2017-03-17 08:39:09 211844 20896 debug LBS19000646 [v0.3.1]: LBS started 2017-03-17 08:39:09 273173 20896 debug LBS19000646 [v0.3.1]: LBS ended 2017-03-17 08:40:51 929683 1494 debug LBS19000646 [v0.3.1]: LBS started 2017-03-17 08:40:51 972522 1494 debug LBS19000646 [v0.3.1]: LBS ended
Einen Kommentar schreiben:
-
Technisch würde das funktionieren. Wenn allerdings jemand deinen RPi kompromitiert, dann kann er mit dem PHP Skript Befehle an deinen Alexa Receiver senden. Außerdem müsstest du diese Socket Connection in der Firewall zwischen DMZ und internem Netz öffnen. Ich halte einen geöffneten Port auf einen Apache SSL Socket für sicherer als den Socket zwischen einen Alexa Skill Skript und einem EDOMI LBS.
Wenn du keine Firewall zwischen dem RPi Reverse Proxy und dem EDOMI Server hast (also keine DMZ), dann macht es in der Tat kaum einen Unterschied, ob es auf dem EDOMI Server oder dem RPI läuft.
Gibt es denn einen Grund warum du das Skript auf dem RPi laufen lassen möchtest?
Einen Kommentar schreiben:
-
Andere Frage:
Gibt es eigentlich einen Grund, warum Du in der Anleitung das Skript alexa.php auf Edomi laufen lässt?
Könnte das nicht auch auf dem Raspberry Pi laufen. Wenn ich es richtig verstehe, dann kommuniziert alexa.php mit dem LBS doch eh über Sockets, richtig?
Einen Kommentar schreiben:
-
Hi!Zitat von jonofe Beitrag anzeigen
Womit haste das denn getestet? Eigentlich sollte das doch normales Python sein. Ggf. unterstützt nur die requests library kein IPv6.
Die socket library unterstützt es aber ganz sicher. Vielleicht solltest du es damit nochmal testen.
Der Fehler "Address family for hostname not supported" kommt vom Aufruf von getaddrinfo().
Das bedeutet, dass er den DNS-Namen zu einer IPv6-Adresse aufgelöst hat, die aber vom System nicht unterstützt wird.
Ich habe auch im Amazon Forum gelesen, dass IPv6 bei den Lambdas tatsächlich nicht geht.
Einen Kommentar schreiben:
-
Wenn in der nächsten Zeile $userIdValidation = false gesetzt wird, dann ist alles okay.Zitat von tyke Beitrag anzeigenTolle Arbeit, keine Frage!! Ich bin nun deine Anleitung durchgegangen, habe aber 2 Probleme, eines konnte ich lösen:
1. Ich musste die Zeile 2 aus den Intents entfernen (" "_comment": "Version 0.3.1",), da ich eine Fehlermeldung in der Webmaske bekommen habe und nicht zum nächsten Schritt gelangte.
2. beim Testen über den Simulator bekomme ich folgende Fehlermeldung:
"There was an error calling the remote endpoint, which returned HTTP 500 : Internal Server Error"
Alles andere hat prima nach Anleitung funktioniert.
EDIT: Hatte einen Fehler in alexa.php, der Port war nicht angegeben
Bekomme aber nun eine andere Fehlermeldung: "The remote endpoint could not be called, or the response it returned was invalid."
Ist hier etwas einzutragen: $userIdValidation = 'amzn1.ask.account.#########'; ??
Der Fehler mit dem Comment tritt bei mir jetzt auch auf. Da scheint Amazon etwas an der Validierung geändert zu haben, so dass dies jetzt nicht mehr erlaubt ist. Also einfach rausnehmen.
Bzgl. des verbleibenden Fehlers: Hier solltest du das Logfile anschauen: /usr/local/edomi/www/data/log/alexa.log, ob dort etwas erscheint. Das dann bitte mal posten.
Welchen Befehl gibst du zum Testen ein? "Starte EDOMI"?
Einen Kommentar schreiben:
-
Room_Type musst du nicht ändern. Du müsstest vermutlich nur folgende Utterances ergänzen:Zitat von Micro Beitrag anzeigenHallo,
erstmal ein riesiges Danke für die großartige Arbeit! Es funktioniert perfekt!
Ich möchte gerne alle Rolläden gleichzeitig runter oder hoch fahren lassen. Reicht es hierzu in den Slots bei Room_Type "Alle " zuzufügen und in den Utterances
"Blind_Move Fahre {Blind_Move_Room} {Blind_Move_Value}" ?
Oder musst Du da tiefer eingreifen?
Bei Validator LBS dann einfach die Location leer lassen.Code:Blind_Move Fahre die Rolläden {Blind_Move_Value} Blind_Position Fahre die Rolläden auf {Blind_Position_Value} Prozent
Dann sollten folgende Befehle möglich sein:
Alexa, starte EDOMI und fahre die Rolläden hoch/runter.
Alexa, starte EDOMI und fahre die Rolläden auf xx Prozent.
Ist jetzt ungetestet, einfach mal ausprobieren.
Einen Kommentar schreiben:
-
Tolle Arbeit, keine Frage!! Ich bin nun deine Anleitung durchgegangen, habe aber 2 Probleme, eines konnte ich lösen:
1. Ich musste die Zeile 2 aus den Intents entfernen (" "_comment": "Version 0.3.1",), da ich eine Fehlermeldung in der Webmaske bekommen habe und nicht zum nächsten Schritt gelangte.
2. beim Testen über den Simulator bekomme ich folgende Fehlermeldung:
"There was an error calling the remote endpoint, which returned HTTP 500 : Internal Server Error"
Alles andere hat prima nach Anleitung funktioniert.
EDIT: Hatte einen Fehler in alexa.php, der Port war nicht angegeben
Bekomme aber nun eine andere Fehlermeldung: "The remote endpoint could not be called, or the response it returned was invalid."
Ist hier etwas einzutragen: $userIdValidation = 'amzn1.ask.account.#########'; ??Zuletzt geändert von tyke; 17.03.2017, 08:43.
Einen Kommentar schreiben:
-
Hallo,
erstmal ein riesiges Danke für die großartige Arbeit! Es funktioniert perfekt!
Ich möchte gerne alle Rolläden gleichzeitig runter oder hoch fahren lassen. Reicht es hierzu in den Slots bei Room_Type "Alle " zuzufügen und in den Utterances
"Blind_Move Fahre {Blind_Move_Room} {Blind_Move_Value}" ?
Oder musst Du da tiefer eingreifen?
Danke!
Gruß Mirko
Einen Kommentar schreiben:

Einen Kommentar schreiben: