Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Custom Skill für EDOMI (LBS 19000646 und 19000647)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • gulp2k
    antwortet
    Zitat von jonofe Beitrag anzeigen

    Hast du denn mal versucht die $userIdValidation auf false zu setzen? Eigentlich sollte das noch funktionieren. Es gar nicht zu definieren ist in der Tat nicht erlaubt, steht aber m.W. auch nicht in der Doku, oder?
    Nach nochmaligen Lesen kann ich sagen das es in der Doku steht aber zusammen mit den Screenshot etwas missverständlich ist.
    Im Screenshot ist nämlich $userIdValidation = false da und die andere Variante auskommentiert und es wird als optionla beschrieben.
    In der aktuellen Config ist aber $userIdValidation=False nicht mehr vorhanden und man muss den Beispieleintrag ändern.

    Zitat von jonofe Beitrag anzeigen
    Ist meine Vermutung korrekt, dass die zweite IP nicht existiert und dort auch kein EDOMI auf dem Port lauscht? Dann kann es daran liegen, dass beim Senden zum zweiten EDOMI (der nicht existiert) ein Timeout entsteht und somit die Antwort des ersten nicht mehr rechtzeitig empfangen wird. Das "false" beim zweiten bedeutet nicht, dass dieser Eintrag deaktiviert ist, sondern, dass diese Instanz keine Antworten senden soll. Es dürfen also nur mehrere Einträge vorhanden sein, wenn auch wirklich vorhanden. Werde mal beide Varianten in config File aufnehmen und dann die Zwei-EDOMI-Server-Variante auskommentieren. Ich denke die meisten benötigen die Config auch nur für einen EDOMI Server.
    Absolut richtig.
    Ich denke wirklich das am besten der Standard mit nur einem Eintrag sein sollte. Das ein zweiter falls nicht benötigt wirklich gelöscht werden muss hab ich so auch nicht raus gelesen

    BTW Amazon ist ja Dauerbaustelle kämpfe mich gerade durch AWS und Lambda aber ist schon wieder anders als in der Doku... Mal gespannt

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von gulp2k Beitrag anzeigen
    Über 2 Dinge bin ich gestolpert...
    1. in alexa-config.php gibt es kein $userIdValidation=false mehr man muss also zwingend die UserID angeben. Hatte ich zuerst nicht gemacht und dann beim Test immer ein leere Antwort bekommen.
    Hast du denn mal versucht die $userIdValidation auf false zu setzen? Eigentlich sollte das noch funktionieren. Es gar nicht zu definieren ist in der Tat nicht erlaubt, steht aber m.W. auch nicht in der Doku, oder?

    Zitat von gulp2k Beitrag anzeigen
    2. in alexa-config.php scheint es Probleme zu geben wenn man mehr wie ein Target hat (auch wenn nur eines aktive ist). Ich hatte bei mir nur beim ersten die IP geändert und das zweite einfach gelassen und auf "false" gesetzt. Resultat war das ich zwar schalten konnte aber Alexa keine Antwort bekommt und sich dann über einen Fehler im Skill beschwert
    Ist meine Vermutung korrekt, dass die zweite IP nicht existiert und dort auch kein EDOMI auf dem Port lauscht? Dann kann es daran liegen, dass beim Senden zum zweiten EDOMI (der nicht existiert) ein Timeout entsteht und somit die Antwort des ersten nicht mehr rechtzeitig empfangen wird. Das "false" beim zweiten bedeutet nicht, dass dieser Eintrag deaktiviert ist, sondern, dass diese Instanz keine Antworten senden soll. Es dürfen also nur mehrere Einträge vorhanden sein, wenn auch wirklich vorhanden. Werde mal beide Varianten in config File aufnehmen und dann die Zwei-EDOMI-Server-Variante auskommentieren. Ich denke die meisten benötigen die Config auch nur für einen EDOMI Server.

    Einen Kommentar schreiben:


  • gulp2k
    antwortet
    Hi, ich zähl mich jetzt auch zu den Glücklichen Alexa Besitzern und musste natürlich gleich die Edomi Integration wagen

    Erstmal großes Lob an jonofe echt supper umgesetzt!

    Danke der Super Doku ging das auch relative gut (manchmal muss man etwas mit den URL´s aufpassen und hab das dann sogar mit einem HAProxy umgesetzt.
    Bis jetzt läuft "nur" der Custom Skill und ich kann im Wohnzimmer die Lampe ein und aus schalten.

    Ich wollte nur mal Feedback zum Prozess geben.
    Über 2 Dinge bin ich gestolpert...
    1. in alexa-config.php gibt es kein $userIdValidation=false mehr man muss also zwingend die UserID angeben. Hatte ich zuerst nicht gemacht und dann beim Test immer ein leere Antwort bekommen.
    2. in alexa-config.php scheint es Probleme zu geben wenn man mehr wie ein Target hat (auch wenn nur eines aktive ist). Ich hatte bei mir nur beim ersten die IP geändert und das zweite einfach gelassen und auf "false" gesetzt. Resultat war das ich zwar schalten konnte aber Alexa keine Antwort bekommt und sich dann über einen Fehler im Skill beschwert

    Heute schau ich mir mal den SH Skill an.

    BTW wenn hier jemand die Alexa auf English umgestellt hat, kann er mal Erfahrungen posten?
    Würde das gerne machen, habe aber festgestellt das Sie dann aber auch kein Deutsch (z.B. Liedernamen) mehr erkennt... Gibts da Workarounds?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ich hatte die IP, die ich damals ausgemacht hatte, in die Anleitung geschrieben. Ich würde an deiner Stelle mal loggen, von wo die Zugriffe kommen.

    Oder eine Obermenge anhand der Region aus dieser Liste berechtigen:

    https://ip-ranges.amazonaws.com/ip-ranges.json

    Das würde dann zumindest mal alle DSL Dial-Up Script Kiddies ausschließen.

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi,

    bin gerade dabei meine DMZ aufzubauen.

    Mach das mit pfsense an opt1

    Gibt es eine möglichkeit nur den Amazon Servern zugriff auf die Portfreigabe in der DMZ zu ermöglichen?
    Oder anders gefragt ..gibt es eine Whitelist an Amazon Servern für Alexa.
    Dann könnte ich die Firewall noch feiner einstellen.
    LG

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von Hannes17 Beitrag anzeigen
    Täusch ich mich, oder ist das Anleitungs PDF nicht mehr im ersten Beitrag?
    Korrekt, da sie veraltet war. Die neue ist zu groß zum hochladen. Und ich muss noch das neue ZIP für Downloadportal zusammenbauen. Solange kannst du es aber HIER herunterladen.

    vento66 : Micha, hast du Berechtigung das File in den Anfangspost hochzuladen? Ist ca. 2MB, Limit hier im Forum ist glaube ich 1,4 oder 1,6MB.

    Einen Kommentar schreiben:


  • Hannes17
    antwortet
    Täusch ich mich, oder ist das Anleitungs PDF nicht mehr im ersten Beitrag?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    was bedeutet dir fehlt nur das Zertifikat? Hast du SSL auf EDOMI aktiviert und auch die Weiterleitung im Router eingerichtet? Und ist dein EDOMI Server per SSL von außen via DynDNS Name erreichbar? Wenn das der Fall ist, dann fehlt "nur" noch das Zertifikat.

    Dann könntest du mal das hier ausprobieren:

    https://digitz.org/blog/lets-encrypt...entos-7-setup/

    Keine Ahnung ob das funktionieren wird und ob EDOMI danach noch funktioniert, falls es schief geht. Also alles auf eigene Verantwortung...

    Einen Kommentar schreiben:


  • Lars1880
    antwortet
    Hallo,

    ok, mir fehlt nur das Zertifikat und das bekomme ich irgendwie nicht hin :-(
    VM ist auch eine Idee, da muss ich mal suchen, was ich dazu finde.

    Danke.

    Einen Kommentar schreiben:


  • tger977
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Zur zweiten Frage: Geht es um den Custom oder Smarthome Skill?

    Code:
    stream_set_timeout($client, 6);
    es geht um den Smarthome Skill. Habe bisher alles damit umgesetzt, da das "Alexa, starte EDOMI und..." kein akzeptablen WAF gefunden hat...

    timeout Erhöhung probiere ich mal aus, die targets sind richtig, es passiert ja auch nur sporadisch.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von Lars1880 Beitrag anzeigen
    soweit funktioniert ja alles, nur das mit dem SSL-Zertifikat nicht.
    Es soll erstmal ohne Raspy sein zum testen, den möchte ich jetzt noch nicht kaufen.
    Die Anleitung bin ich ja durch, nur der Part mit Reverse-Proxy nicht und somit funktioniert das mit dem Zertifikat nicht.
    Gibt es dazu eine Anleitung?
    Meines Wissens gibt es keine Anleitung dazu. Denn dann musst du zunächst SSL auf dem EDOMI Server aktivieren und auch ein öffentlich gültiges Zertifikat dafür via letsencrypt generieren und dann die enstprechenden Ports von deinem DSL Router auf den EDOMI Server weiterleiten. Diese Konfiguration würde ich aber definitv nicht empfehlen. Daher solltest du vermutlich zunächst zur Entscheidung kommen, ob auf EDOMI setzen willst, oder nicht. Danach dann einen Raspi kaufen und als Reversproxy konfigurieren.

    Alternativ könntest du natürlich auch eine VM als Reverseproxy aufsetzen.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zur ersten Frage: Nein, das geht nicht, da von Amazon nicht unterstützt.

    Zur zweiten Frage: Geht es um den Custom oder Smarthome Skill? Grundsätzlich ist das Timeout von Amazon auf 8 Sekunde fix gesetzt. Das kann man nicht ändern. Das heisst, nach Empfang einer Nachricht vonm Alexa Service, muss der Skill innerhalb von 8 Sekunden antworten. Im Smarthomeskill warte ich maximal 4 Sekunden, um auf der sicheren Seite zu sein. Das sollte eigentlich ausreichen.

    Du kannst mal im edomi-smarthome-skill.php den timeout hochsetzen, z.B. von 4 auf 6: (Edomi muss dafür nicht neu aktiviert zu werden)
    Code:
    stream_set_timeout($client, 6);
    Wichtig ist außerdem, dass du bei den $targets in alexa-config.php beim richtigen Eintrag status auf true gesetzt hast und nur bei diesem Eintrag. Wenn natürlich eine zweite EDOMI Instanz die Nachrichten vom Skill auch bekommt (mehrere Targets konfiguriert) und ausführt, dieser aber nicht mit dem Status antwortet, dann kann das genau zu dem von dir beschriebenen Fehlerbild führen. Hatte ich auch schon, d.h. ich hatte meinen Edomi Testserver so konfiguriert, dass er einen bestimmten Sprachbefehl ausführt, der nicht auf dem EDOMI Production Server konfiguriert ist. Leider war aber mein Production Server als Status-Responder in $targets konfiguriert. Dieser hat aber nicht geantwortet, da es den Befehl dort nicht gab. Der Testserver hingegen hat den Befehl korrekt empfangen und ausgeführt, aber nicht geantwortet, da ja der Production Server als Status Responder konfiguriert war.

    Einen Kommentar schreiben:


  • tger977
    antwortet
    Hallo Andre,

    eine Frage noch zum Smarthome Skill: Kann man dort irgendwie das neue Feature mit der Erkennung des sendenden Echo aus dem Custom Skill v0.7 auch ergänzen? Oder ist das technisch nicht möglich? Beispiel: Ich würde nun gerne z.B. "Deckenlampe" je nachdem von welchem Echo der Befehl kommt unterschiedlichen KO in EDOMI zuweisen / schalten.

    und dann noch eine Frage: Ich habe oft auch den Fall daß Alexa meldet "xy reagiert gerade nicht". Sehr häufig funktioniert der Befehl aber trotzdem... Muss/kann man da irgendeine timeoutzeit anpassen?

    Gruß
    Andi

    Einen Kommentar schreiben:


  • Lars1880
    antwortet
    Hallo,
    soweit funktioniert ja alles, nur das mit dem SSL-Zertifikat nicht.
    Es soll erstmal ohne Raspy sein zum testen, den möchte ich jetzt noch nicht kaufen.
    Die Anleitung bin ich ja durch, nur der Part mit Reverse-Proxy nicht und somit funktioniert das mit dem Zertifikat nicht.
    Gibt es dazu eine Anleitung?

    Einen Kommentar schreiben:


  • Teutone
    antwortet
    Der Raspy ist ein Sicherheitsaspekt, grundsätzlich ist alles möglich. Die Anleitung befindet sich im LBS Ordner und das ist alles beschrieben.

    Einen Kommentar schreiben:

Lädt...
X