Info: Alexa Amazon Echo Integration

Hallo,

schön, dass es jetzt klappt!
War wieder mal ein paar Tage nicht da und hatte es gerade erst gelesen, deshalb keine Reaktion meinerseits auf Deine Frage…

Gruß André

Vielen Dank für die hervorragende Anleitung. Englisch läuft wie am Schnürchen, jedoch habe ich mit dem verdeutschen gerade meine Probleme.
Du schreibst:

Erstmal einen Englischen anlegen (kann man später noch ‚verdeutschen‘).

Wenn ich jedoch auf der Developer Seite von Amazon meinem erstellten Englischen Still eine neue Sprache hinzufüge scheitere ich an dem LITERAL Slot Type diese ist in der Deutschen Sprache nicht verfügbar und wird auch fürs englische demnächst abgeschaltet. Seht hier in der Doku:

Important: English (US) skills using the AMAZON.LITERAL slot type should be updated to use custom slots. Starting February 6, 2017, you will no longer be able to use AMAZON.LITERAL when saving a new or updated skill. Existing skills that already use AMAZON.LITERAL will continue to work, but you will be unable to make any changes to the skill configuration until you remove AMAZON.LITERAL.

English (UK) and German skills do not support AMAZON.LITERAL and cannot use the AMAZON.LITERAL slot type.

Jedenfalls bekomme ich bei der Deutschen Alexa den LITERAL SLOT TYPE nicht aktiviert und erhalte immer folgenden Fehler wenn ich versuche abzuspeichern:

Jetzt die frage, gibt es eine andere Möglichkeit Alexa in deutscher Sprache mit meinem IPS zu benutzen, ein andere Slot Type? Leider kenne ich mich da nicht so aus.

Grüße tasmanie

Hallo
Benutze das hier
https://www.symcon.de/forum/threads/32361-Amazon-Echo-an-Symcon-anbinden-inklusive-Proxy?p=308745#post308745

Vielen Dank,
nun auch bei mir ist Alexa eingezogen und das im Doppelpack. Lichter, Rollos und Temperatur abfragen habe ich ihr schon bei gebracht, nun folgt noch die Heizung und kleinere Spielereien.
Fazit: auch wenn irgendwelche Server ab sofort mein zuhause mithören, mir doch egal! Ich habe nichts zu verheimlichen! :wink:
Ich finde das Ding klasse!!!

Gruß und danke nochmal!

Alexa setze meinen Post ab.

Bin am verzweifeln :banghead:

Ich habe wie in Post 1 beschrieben (Vielen Dank für die ausführliche Anleitung)
alle Schritte durchgefürt. Bekomme jedoch im Simulator folgende Fehlermeldung:

The remote endpoint could not be called, or the response it returned was invalid.

Ich habe alle mehrfach überprüft und die Daten aus dem Log im Script eingetragen.

Hat jemand einen Tip für mich. Ich habe mal das Log File angehängt
_dbg.txt (2.25 KB)

Mal eine blöde Frage:

Ich habe mein Alexa bekommen, wieviel Zeitaufwand ist es nach dem bisherigen Verfahren Alexa in IP-Symcon zu intergrieren? Oder wartet man lieber gleich darauf das Alexa nativ in IP-Symcon unterstützt wird? Es scheint ja auch aktuell noch längere Befehlsketten zu geben als bei einer nativen Unterstützung? Gibt es sonst noch Nachteile?

Vielen Dank für Eure Einschätzungen!

Du hast wahrscheinlich einen Fehler im script. Die Meldung kommt in der Regel wenn IPS (PHP) einen Fehler meldet

Das kann man wahrscheinlich nicht pauschal beantworten das hängt vom Kenntnisstand des Nutzers ab und wie umfänglich die Anbindung mit Sprachsteuerung sein soll.

Auch das ist eine individuelle Entscheidung und hängt davon ab wie schnell man denn Alexa mit IP-Symcon nutzen will und wieviel Zeit man darauf verwenden will. Ein Plugin für Alexa wird es frühestens dann geben wenn die Funktionen aus der 4.1 Beta auch in in der 4.1 Stable von IP-Symcon verfügbar sind und weitere Details beim Plugin geklärt sind. Wann dies genau sein wird kann Dir keiner genau mit Gewissheit sagen aber es wird daran gearbeitet.

Bei einem Custom Skill muss immer der Invocation Name benutzt werden die Ansprache von Alexa ist also länger. Ein SmartHome Skill hat aber zur Zeit den Nachteil das er nur die von Amazon zur Zeit implementieren Funktionen unterstützt.

Bei einem Custom Skill muss immer der Invocation Name benutzt werden die Ansprache von Alexa ist also länger. Ein SmartHome Skill hat aber zur Zeit den Nachteil das er nur die von Amazon zur Zeit implementieren Funktionen unterstützt.

Danke für die Infos!

Verstehe ich das richtig, das das IP-Symcon Plugin ein SmartHome Skill wäre und man also damit nicht alles individuell ansteuern könnte?

Das OAuth Modul wäre auf alle Fälle ein SmartHome Skill hätte also den Vorteil das der Invocation Name nicht notwendig wäre. Man ist aber auf die Sprachbefehle beschränkt die Amazon vorgibt. Man kann also zur Zeit z.B. nicht sagen „Schalte auf Sender ZDF“ und der Fernseher schaltet auf den Kanal ZDF. Dafür wäre ein Custom Skill notwendig. Daher wird das Plugin sicher eine Mischung aus beiden sein, sowohl ein SmartHomeSkill als auch ein Custom Skill bei dem es dann noch die Möglichkeit gibt in IP-Symcon Anpassungen vorzunehmen. Wie dies dann jedoch im Detail aussehen wird und sich dies realisieren lässt ist aber noch nicht ganz klar.

Vielen Dank!
Kann man ungefähr abschätzen wann das kommen wird (Wochen/Monate/Jahre…) :o

Jahre kannst Du schon mal streichen ;), das hängt davon ab wann die Funktionen der 4.1 Beta ausreichend getestet wurden um in die Stable aufgenommen zu werden. Eher aber Wochen und das PHP Modul wird in der Freizeit von DaveRichter gebastelt die technischen Voraussetzungen liefert IP-Symcon. Da es ja aber in der Freizeit gemacht wird kann man nun schlecht verlangen das es bis zum Tag X fertig ist ;), sondern sich einfach freuen das es User gibt die das freiwillig übernehmen und sich dann freuen wenn es soweit ist :D.

Ich habe jetzt schon einige Stunden probiert. Leider klappt das nicht so wie gewollt.

ich bekomme immer beim Testen die Meldung:
There was an error calling the remote endpoint, which returned HTTP 405 : Method not allowed

In das Skript habe ich die Daten eingegeben, die hier in der linken Seite stehen.

Blau ist das bei $applicationIdValidation
Orange bei $userIdValidation

Die Datei wird in dem Log Ordner angelegt. In dieser erstellten Datei steht aber leider nicht das drin, wie man das eintragen sollte. Daher habe ich das aus der Amazon Skill Seite eingetragen.

Mit einem solchen Beispiel habe ich es es hin bekommen, dass ich über webhook eine anfrage in eine variable einzutragen.
https://www.symcon.de/service/dokumentation/modulreferenz/webhook-control/

Leider bekomme ich das mit dem Amazon Skill nicht hin.

Hab den Fehler gefunden:
Bei der Eintragung der Links habe ich das /hook/echo/ vergessen anzuhängen

So, bei mir ist Alexa jetzt auch testweise ins Haus eingezogen und ich muss sagen, dass sie besser funktioniert als erwartet. Auf jeden Fall gibt sie keine Widerworte und tut meistens das, was sie soll. Hier hat sie meiner Frau schon mal was voraus. :wink: :smiley:

Mangels Zeit habe ich zunächst nur einige Licht-Funktionen via emulierter Hue-Bridge umgesetzt.
Das ließe sich zwar alles noch deutlich komfortabler gestalten, aber für einen ersten Test funktioniert es erstaunlich gut und es ist schon fast etwas erschreckend festzustellen, wie schnell man sich daran gewöhnt, dass das Haus auf Zuruf reagiert.

Manchmal ertappe ich mich dabei, mein Haus in Räumen per Sprache steuern zu wollen, wo Alexa gar nicht anwesend ist. :eek:

Naja, so schön wie das Ganze auch ist, es wird wohl erst mal bei einem Test bleiben und nicht darüber hinaus gehen, sofern es keine Lösung gibt, wie man mit individuellen oder auch vorgefertigten Skills IPS steuern kann, ohne es in irgendeiner Form im Internet zugänglich zu machen. Völlig egal ob es Symcon Connect gibt und die Verbindungen mittels HTTPS gesichert sind, IPS von außen zugänglich zu machen, ist für mich ein absolutes No Go. Solange es da keine Möglichkeit gibt, die Zugriffe auf IPS direkt aus dem LAN erfolgen zu lassen, wird Alexa bei mir nur Gast sein und nicht auf Dauer einziehen.

Die Lösung mit der emulierten Hue-Bridge ist zwar zum Testen ganz nett, aber auf Dauer bietet sie mir zu wenig komfort.

Dies nur als kleiner Bericht von mir. Wirklich sehr cool, was technisch mittlerweile möglich ist. Für einen dauerhaften Einsatz muss sich für mich aber noch einiges in Punkto Sicherheit tun.

Gruß
Slummi

Naja ohne einen Internetzugang wird Echo niemals funktionieren. Symcon Connect stellt Dir nur den Token zur Verfügung zur Authorisierung weil es eine feste Redirect URL geben muss damit fest steht das es sich auch wirklich um die Software IP-Symcon handelt. Und da jede IP-Symcon Installation ja eigenständig ist lässt sich das nur so lösen. Die Kommunikation von Echo zu IP-Symcon und zurück erfolgt dann aber immer direkt zu dem installierten IP-Symcon System ohne den Umweg IP-Symcon Connect. Eine Internetverbindung ist trotzdem notwendig da Echo zunächst immer den Amazon Server kontaktiert. Wenn das nicht in Betracht kommt wird Echo zunächst auch keine Einsatzoption haben denn dann müsste man Echo irgendwie hacken und dazu zwingen zu einem simulierten Amazon Server im LAN Kontakt aufzunehmen der dann die Sprachdaten entgegennimmt.

Die Closed Beta ist angelaufen
Amazon Echo Skill & Modul
es wird auf alle Fälle Januar werden bis das final ist.

Mir geht es keineswegs darum, dass Echo keine Internetverbindung haben soll. Die Verarbeitung der Sprachdaten kann ruhig im Internet erfolgen. Ich möchte aber, dass alles weitere danach rein im LAN erfolgt, ohne jegliche Kommunikation von außen. Der IPS-Server soll also auf keinem Weg von außen erreichbar sein (VPN mal ausgenommen). Wenn also das Resultat der Audioverarbeitung ist, einen Webhook aufzurufen, so soll dieser Aufruf direkt von Echo intern im LAN an den IPS-Server erfolgen. Keine DNS-Auflösung, kein Aufruf aus dem Web etc. Sprich Echo bekommt als Resultat der Sprachverarbeitung die Anweisung, rufe die URL https://192.168.1.1 auf. Und so wie ich es bisher verstanden habe, funktioniert genau das nicht und der Aufruf des Webhooks erfolgt von außen von den Amazon-Servern. Ansonsten gibt es für mich keinen Grund, warum ich Symcon Connect oder irgendeine andere URL aus dem Web zugänglich machen sollte.
Und die SSL-Zertifikate sind für mich auch kein Grund. Zum Einen kann man vertrauenswürdige Zertifikate auch innerhalb des LANs einsetzen (setzt in der Regel voraus, dass man ein eigenes Root-Zertifikat einbinden kann, was wohl auch nicht geht). Zum Anderen kann man darüber streiten, ob SSL innerhalb eines LANs zwingend zum Einsatz kommen muss.

Vielleicht habe ich die Funktionsweise von Echo auch noch nicht huntertprozentig verstanden. Ich hatte leider noch keine Zeit, detaillierte Traces durchzuführen, wann und mit wem eine Kommunikation erfolgt. Ich lasse mich da gerne eines besseren belehren.

Im Moment hören sich die bisherigen Erklärung für mich so an, also ob jemand sagt, dass er nicht in mein Haus will, aber um sicher zu gehen, dass ich dort wohne, soll ich den Schlüssel trotzdem unter die Fußmatte legen.

Das ist ein Wiederspruch in sich und entspricht einfach nicht der Funktionsweise von Echo. Echo ist dumm wie Brot ohne eigene Intelligenz, auch kann Echo keine Daten intern im LAN an Gateways verschicken. Echo ist einfach eine Kombination aus Mikrofon und Lautsprecher mit Anschluss an Amazon Server die die ganze Intelligenz dem Gerät geben. Die Sprachauswertung erfolgt auf dem Amazon Server und irgendwie muss dieser ja die Daten ja an IP-Symcon oder andere Gateways wie HUE schicken. Der Weg wie Du ihn Dir vorstellst Echo -> Amazon -> Echo -> Gateway ist einfach so nicht von Amazon für das Gerät vorgesehen. Der Weg ist immer Echo -> Amazon -> Gateway. Also muss folglich auch das Gateway, in dem Fall IP-Symcon, auch über einen gesicherten OAuth Webhook erreichbar sein.

Ich bin bin nicht mal sicher ab ein Zugang per VPN, selbst wenn dieses Möglich wäre, ist aber von Amazon nicht vorgesehen, einen Sicherheitsvorteil hätte gegenüber einer über TLS/SSL Verbindung.

So funktioniert OAuth2
So funktioniert ein Smart Home Skill mit Echo

Hallo,

ich versuche es schon eine ganze weile aber irgendwie bekomme ich es nicht zum laufen. Wie im Beitrag 1 beschrieben alles ausgeführt. Im Service Simulator bekomme ich nur „The remote endpoint could not be called, or the response it returned was invalid.“ Installation auf Raspi. Kann mir jemand weiterhelfen?

Danke

Connect aktiviert?