Amazon Echo bzw. Alexa verwendet Bing, um Suchanfragen zu bearbeiten. Mit Wissensfragen bzw. Trivia Facts kommt Alexa im Augenblick aber leider noch nicht so gut zurecht. Normalerweise würde ich erwarten, dass sie, wenn sie etwas nicht weiß, einfach aus Wikipedia o.ä. zitiert. So macht das Google ja schon ewig. Wir zeigen dir in diesem Artikel, wie du Alexa beibringen kannst, Google zu fragen.
Auf GitHub hat sich tartanguru die Mühe gemacht und ein Projekt erstellt, mit dem es möglich ist, die Google Suche für Amazon Echo nutzbar zu machen. Wir zeigen dir hier nun Step by Step, wie du dafür vorgehen musst:
GitHub & Amazon Web Services
Als Erstes lädst du dir das Projekt alexa-google-search von GitHub über den Button „clone or download“ als Zip-Archiv herunter und entpackst es auf deinem PC. Anschließend gehst du auf die Webseite Amazon Web Services und erstellst dir ein neues AWS-Konto. Wundere dich nicht, dass du hier deine Kreditkarte hinterlegen musst. Du registrierst dich nur für den Basic Support Plan und dieser ist für dich die ersten 12 Monate kostenlos. Es muss hier allerdings eine gültige Zahlungsinformation hinterlegt sein, falls du einen der anderen Support Plans (Developer, Business, Enterprise) verwenden möchtest.
Hast du die Registrierung erfolgreich abgeschlossen meldest du dich in der Konsole an und gibst oben in der Suche „lambda“ ein.

Auf der darauf folgenden Seite, der Lambda Management Console, klickst du auf „Get started now“ und wählst dort links im Menü „Configure trigger“ aus.

Um den Alexa-Dienst im nächsten Schritt auswählen zu können, musst du allerdings erst noch deinen Standort bzw. deine Region ändern. Dazu klickst du rechts oben auf das DropDown-Menü in der Ecke und wählst hier als Region EU (Irland) aus.

Anschließend wählst du, indem du (neben dem Lambda-Symbol) auf das Rechteck mit den abgerundeten Ecken anklickst, den „Alexa Skills Kit“ aus und klickst weiter auf den Button Next.

Im nächsten Schritt vergibst du einen Namen für diese Funktion. Wir haben sie GoogleSearch genannt.

Unter dem Punkt „Lambda function code“ ist es nun auch soweit die aus GitHub heruntergeladene Zip-Datei zu verwenden. Dazu wählst du in der Combobox den Punkt „Upload a .ZIP file“ aus.

Darunter, unter „Function package“, klickst du auf den Button Upload. Hier wählst du allerdings nicht die Zip-Datei aus, die wir heruntergeladen haben. Sondern du verwendest die Archive.zip, die du im Ordner „alexa-google-search-master/src/ findest.

Weiter unten wählst du jetzt noch in der Combobox „Role“ die Option „Create a new role from template(s)“ aus und gibst den Namen „lambda_basic_execution“ ein.

Unter „Advances Settings“ ist es nun noch wichtig den Timeout auf 10 Sekunden einzustellen, sonst wird die Verwendung der Google-Suche über Alexa nicht funktionieren.

Weiter geht es mit einem Klick auf Next und auf der nächsten Seite auf „Create function“.

Nach ca. 10 Sekunden wurde die Funktion erfolgreich angelegt. Nun ist es wichtig dir den Code, den du rechts oben in der Ecke findest, zu notieren bzw. ihn beispielsweise in Google Keep zwischenzuspeichern, da du ihn später benötigst.

[adrotate banner=“6″]
Amazon Developer
Als nächsten Schritt registrierst du dich auf der Seite Amazon Developer, meldest dich an und klickst oben im Tabreiter auf Alexa und dort unter „Alexa Skills Kit“ auf „Get started“.

Im nächsten Fenster klickst du rechts oben auf den Button „Add a New Skill“ und stellst dann die Sprache auf Deutsch um. Als Name vergibst du hier „GoogleSearch“ und als „Invocation Name“ ebenfalls „google“. Allerdings muss der Name bei „Invocation Name“ kleingeschrieben sein. Bei der Option Audio Player muss der Radio-Button „No“ angeklickt sein. Anschließend klickst du auf Next.

Im nächsten Fenster angekommen kopierst du nun den nachfolgenden Code (diesen findest du auch auf der GitHub-Seite) und fügst ihn unter „Intent Schema“ ein.
{
"intents": [
{
"intent": "SearchIntent",
"slots": [
{
"name": "search",
"type": "SEARCH"
}
]
},
{
"intent": "AMAZON.StopIntent"
}
]
}

Klicke jetzt auf den Button „Add Slot Type“ und vergib unter „Enter Type“ das Wort „SEARCH“. Dieses muss hier zwingend großgeschrieben sein. Unter „Enter values“ fügst du die folgenden beiden Zeilen ein (diese findest du ebenfalls auf der GitHub-Seite):
who is the queen
why is the sky blue
Weiter unten, unter dem Punkt „Sample Utterances“, fügst du nun nocheinmal folgende Zeile ein und klickst anschließend auf den Button Next.
SearchIntent {search}
Das Interaction Model wird jetzt noch eine Weile verarbeitet werden. Du kannst aber währenddessen an der Konfiguration weiter arbeiten. Unter dem nächsten Punkt „Configuration“ selektierst du „AWS Lambda ARN“, aktivierst darunter „Europe“ und gibst hier den Code ein, den du vorhin in Google Keep zwischengespeichert hast. Weiter geht es dann mittels Next zum nächsten Schritt.
Jetzt sind wir soweit unsere Funktion zu testen. Dazu musst du aber noch so lange warten, bis der Punkt „Interaction Model“ fertig abgearbeitet wurde. Ist dieser fertig klickst du auf den Button enable.
Weiter unten testet du deine Konfiguration, indem du z.B. eingibst, wer der Präsident der USA ist. War der Test erfolgreich klickst auf den Button Next.

Im nächsten Fenster brauchst du keine Änderungen vorzunehmen und klickst hier auch wieder auf den Button Next. Diesen Schritt musst du dann noch einmal im Dialog mit „Save“ bestätigen. Nun klickst du unter „Privacy & Compliance“ noch überall „No“ an und akzeptierst die „Export Compliance“. Hast du das getan klickst du auf den Button „Save“.
Nun bist du auch schon im letzten Schritt angelangt. Gehe in deine Alexa-App, oder in das Alexa Portal, und klicke dort links im Menü auf Skills. Unter Skills lässt du dir deine eigenen Skills anzeigen, indem du rechts oben auf „Ihre Skills“ klickst. Hier kannst du nun einen Google Skill aktivieren.

Um nun deine Google-Suche zu verwenden sagst du einfach:
„Alexa: Frag Google“
und stellst danach deine Frage.
Bleibe an der Stelle „create function“ hängen. Da kommt immer als Fehlermeldung:
„Role with name lambda_basic_execution already exists“
Was mach ich falsch?
Hallo Raik,
falls die Rolle „lambda_basic_execution“ bereits schon existiert, dann wähle in der Combobox darüber bitte „Use existing“ aus. Darunter kannst Du die Rolle dann auswählen.
Falls es dann immer noch nicht funktioniert lösche die Funktion bitte noch einmal und versuche es erneut.
Die Funktion kannst du wie folgt löschen:
Klicke auf diesen Link:
https://us-west-2.console.aws.amazon.com/lambda/home?region=us-west-2#/home
und stelle Deine Region zuerst ganz rechts oben auf US (Ireland).
Danach klickst Du auf Get Started und hier solltest Du die Option Functions sehen. Dort markierst Du Deine Funktion mittels des kleinen Kreises ganz links und über Actions oben drüber kannst Du sie wieder löschen.
Beste Grüße
Hallo,
mir ist das gleiche passiert. Wenn ich aber deiner Anweisung folge komme ich immer wieder nach dem klick auf Fiction zurück auf Get Started :(
Hallo,
leider eine Fehlermeldung bei Intent Schema in Zeile 10
Was läuft da falsch ?
Ich kann Dir leider auf Anhieb auch nicht sagen, wo da der Fehler ist. Kannst Du die Funktion bitte löschen und es noch einmal neu in der Developer Konsole versuchen?
Hatte ich auch. Probier den hier, hat bei mir dann funktioniert.
{
„intents“: [
{
„intent“: „SearchIntent“,
„slots“: [
{
„name“: „search“,
„type“: „SEARCH“
}
]
},
{
„intent“: „AMAZON.StopIntent“
}
]
}{
„intents“: [
{
„intent“: „SearchIntent“,
„slots“: [
{
„name“: „search“,
„type“: „SEARCH“
}
]
},
{
„intent“: „AMAZON.StopIntent“
}
]
}
Hallo!
Habe eine Fehlermeldung bei Intent Schema in Zeile 17, wenn ich Deine Version eingebe. Gibt es noch eine andere Variante?
Hallo,
habe im Intent Schema in Zeile 10 eine Fehlermeldung.
Parse error on line 10
Ich habe dort die Funktion reinkopiert, aber es läuft nicht
Woran könnte es liegen, dass der erstellte Skill bei mir nicht im Alexa Portal auftaucht?
Obwohl ich alle Schritte durchgegangen bin, wird mir unter Developer auch der Status „Development“ angezeigt, obwohl die Entwicklung meiner Meinung nach ja bereits abgeschlossen sein sollte?!?
Für Hilfe zur Problemlösung wäre ich sehr dankbar…
Der Status Development ist aber korrekt. Der wird bei mir auch angezeigt. Geh hier mal auf Edit. Dort sollten links im Menü überall grüne Häkchen sein. Außer bei Publishing Information. Dort ist das Häkchen bei mir grau.
Funktioniert bei Dir der Test bei AWS?
Häkchen sind bei mir wie von Dir beschrieben und der Test bei AWS verläuft auch erfolgreich…
Habe das gleiche Problem, alle Schritte scheinen erfolgreich abgeschlossen, Skill taucht bei mir nicht im Alexa Portal auf. Gibt es Lösungen?
Habe das gleiche Problem, bei mir funktioniert aber auch der Test nicht. Fehlermeldung: „errorMessage“: „RequestId: 3dc441a6-fd03-11e6-b644-958de581a600 Process exited before completing request“
Was ist zu tun?
Hast du eine Lösung für dein Problem gefunden? Bei mir geht der Test bei aws Mitt der gleichen Fehlermeldung schief.
Die E-Mail-Adressen in der Developer-Console und im Alexa-Portal müssen identisch sein, damit der Skill für dein Gerät zur Verfügung gestellt wird.
Ach ja: Sowohl bei AWS, als auch beu Developer habe ich die gleiche Mailadresse wie bei meinem Echo benutzt…
Hat bis auf den Code für das Intent Schema super funktioniert. Intent Schema Code
der bei mir funktioniert hat siehe unten. Kontext ist zwar leider wie beim echten
Google Home nicht möglich, aber auch so ist Alexa nun um einiges schlauer. Vielen Dank für die tolle Anleitung !
Bei mir erscheint nach Eingabe von Enter Type : SEARCH
ERROR SEARCH IST DOUBLE
Text
JSON
Enter Utterance
The remote endpoint could not be called, or the response it returned was invalid.
Bekomme das beim Testen kurz vor Ende im zweiten Kasten angezeigt. HILFE BITTE
Was muss bei Publishing Information eingetragen werden ?
Skill Information
Interaction Model
Configuration
Test
Publishing Information
Privacy & Compliance
Global Fields
These fields apply to all languages supported by the skill.
Category
The category that best describes your skill. This helps customers find skills like yours.
Sub Category
Testing Instructions
Please detail any special instructions to test your skill. Include any account or hardware requirements. This information is used by the certification team and is not displayed to customers.
Countries & Region:
Select „In all countries…“ to make your skill available to users worldwide. Select „Selected countries and regions“ to limit the skill to the specified countries.
Your skill needs to support the primary language for each of the specified countries to be accessible by users in those countries. E.g. customers in Germany can access your skill if it is available in German. Learn more
Where would you like this skill to be available?
In all countries and regions where Amazon distributes skills
Selected countries and regions:
Hallo, bitte um Hilfe ! Beim Test der Frage bleibt der zweite Antwort Kasten rot. Bekomme aber einen grünen Haken bei Test. Die vorletzte Position bleibt grau. Da sollen Fragen beantwortet werden. Leider finde ich in der Anleitung nichts. Nach Abschluss erscheint leider der Skill auch nicht in der App? verzweifelt.
Moin zusammen,
ich bin fast durch…aber beim Punkt Configuration AWS Lambda ARN wird immer geschrieben das der Code falsch sei. Habe rumprobiert, hänge hier nun fest. Fehler :
Error: Please make sure that „Alexa Skills Kit“ is selected for the event source type of arn:aws:lambda:eu-west-1:127312823408:function:GoogleSearch
Weis jemand Rat ?
VG von Jörg
Hallo Jörg vielleicht hast Du vergessen bei der Erstellung der Lambda Funktion alexa skill kit auszuwählen und stattdessen eine andere Art von Lambdafunktion erstellt…
Moin zusammen,
ich hänge nun beim ARN-Code fest.
Fehler :
Error: Please make sure that „Alexa Skills Kit“ is selected for the event source type of arn:aws:lambda:eu-west-1:127312823408:function:GoogleSearch
Hbe den Code mehrfach kontrolliert, habe auch die Seite mit dem Code noch offen, ich kann keinen Fehler finden.
Weis jemand Rad ?
VG von Jörg https://uploads.disquscdn.com/images/71c0b8b8daa5c3cace27ffe54b927479231a985dd91efecd739a9810507bfcb7.jpg
Im Code hier im Beitrag ist ein Fehler enthalten ,mit dem Code aus dem Github hat es sofort funktioniert.
Danke jetzt spricht Alexa auch mit Google…
Hier der Code aus dem Github:
{
„intents“: [
{
„intent“: „SearchIntent“,
„slots“: [
{
„name“: „search“,
„type“: „SEARCH“
}
]
},
{
„intent“: „AMAZON.StopIntent“
}
]
}
Hallo Max, vielen Dank für die Info. Du hast Recht! Da hat sich tatsächlich ein Fehler eingeschlichen. Und zwar standen in dem Artikel unten statt hochgestellten Anführungszeichen tiefgestellte Anführungszeichen. Ich habe den Code im Artikel korrigiert.
Hallo, also ich habe es auch versucht einzurichten, nur leider bekomme ich immer beim Testen´, wo der Frage Text stehen nur die Meldung: „Unable to generate request for your skill.“. Hab es jetzt bestimmt 10 mal neu gemacht, aber leider ohne Erfolg. :-((
Ich habe das Intent oben nochmal in einen besseren Code-Block eingefügt. Könnt ihr es bitte nochmal damit versuchen?
Leider hat es nicht geklappt. Habe alles so gemacht, sogar mehrfach. Es funktioniert alles ohne Fehlermeldung. Nur bei Test AskGoogle kommt diese Fehlermeldung „Unable to generate request for your skill.“ Ich bin echt ratlos an was es liegt. Wie gesagt, alles so wie beschrieben, habe sogar von GitHub die Anleitung probiert, auch hier mit dem Ergebnis. Woran liegt es? Danke
bei mir kommt die gleiche Fehlermeldung – auch mit dem o.g. besseren Code-Block. Ich habe aber festgestellt, dass der Test funktioniert, wenn ich die Frage auf englisch eingebe (also: who is the president of the united states?). Die Antwort erscheint dann auf deutsch. Scheint irgendein Sprachproblem zu sein. Bin alles nochmal durchgegangen.. Deutsch ist aber bei mir eingestellt als language… Weiß leider nicht, wie ich da jetzt weiterkommen soll.
Hallo zusammen, seit Tagen versuche ich mich bei AWS anzumelden, bei der telefonischen Verifierung bricht er immer ab mit Verweis auf den Support. Der Support ist das Letzte, er antwortet nicht mal. Gibt es eine andere Möglichkeit an den Lambda-Code zu kommen? Bei AWS muss ich ja mit dem selben Login angemeldet sein wie bei Amazon und Developer. Kann mit jemand helfen? Danke
Bei mir ist bei dem Schritt „Create function“ bei AWS kein weiter kommen mehr. Unten dreht sich das Symbol unendlich lange und dann bricht das System ab.
Diese Fehlermeldung erscheint: Signature expired: 20170420T133046Z is now earlier than 20170420T134850Z (20170420T135350Z – 5 min.)
Kann man die fertige Funktion nicht irgendwo kopieren und dann weiter machen?
Hallo, ich habe das Problem das ich genau nach der Anweisung gegangen bin. Es klappt soweit alles hervorragend, jetzt hänge nur bei dem Punkt das ich das nicht abschließend speichern kann.
Er verlangt jetzt das ich die Publishing Information ausfüllen muss. Jedoch in der Beschreibung hier sollte mann diese Seite nicht ausfüllen. Gibt es hier eine Lösung bzw. was habe ich hier falsch verstanden ??
Die Datei Archiv ist 10.2 MB groß und wird nicht hochgeladen. Nur über V2 wie immer das geht.
Das Archiv ist 10.2 MB groß und wir nicht upgelodet nur über V2 wie immer das geht?
Perfekt. Funktioniert. Danke.
Besten Dank für die super Anleitung! Hat auf Anhieb geklappt!
lg Wolfram
bisher total scheiße ich denk die anmeldung bei dem amazon service kostet nichts mir wurden direkt 89 cent abgebucht, und diese scheis telefon überprüfung geht auch nich , habe pin richtig eingegeben und das system sagt es is falsch
Super Anleitung, es hat auf Anhieb funktioniert. :-)
Danke
@Dirk: Warst Du dort evtl schon vorher einmal angemeldet? Laut Amazon sind die ersten 12 Monate bei Neuanmeldung immernoch kostenlos (siehe Angebotstypen):
https://aws.amazon.com/de/free/?sc_iplace=hero-static-text-link&sc_icontent=awssm-evergreen-1st-visit-text-link