Start Magazin Tipp: Google Sprach-Suche mit Amazon Alexa und Echo Dot benutzen

Tipp: Google Sprach-Suche mit Amazon Alexa und Echo Dot benutzen

27865
37
Teilen

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 vollkommen 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.

Als Suchbegriff gibst du lambda bei Amazon Web Services 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.

Die Lambda Management Console.

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.

Wechsle die Region in EU (Irland).

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.

Wähle das Alexa Skills Kit aus.

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

Gib der Funktion einen Namen.

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.

Lade die Zip-Datei hoch.

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.

Lade die Archive.zip hoch.

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.

Erstelle eine neue Rolle und gebe ihr den Namen lambda_basic_execution.

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.

Setze den Timeout auf 10 Sekunden.

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

Erzeuge die Funktion

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.

Die Funktion wurde erfolgreich angelegt. Kopiere dir die Phrase rechts oben in der Ecke.

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“.

Klicke im Tabreiter auf Alexa.

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.

Setze die Sprache und vergebe einen Namen.

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"
    }
  ]
}
Wir erzeugen einen neuen Intent-Filter.

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.

Wer ist der Präsident der USA?

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.

Aktiviere deinen Google Search Skill.

Um nun deine Google-Suche zu verwenden sagst du einfach:

„Alexa: Frag Google“

und stellst danach deine Frage.

  • Raik Kaiser

    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

  • Udo Dehnert

    Hallo,
    leider eine Fehlermeldung bei Intent Schema in Zeile 10

    Parser erforderlich in line10
    …“search“}]
    ———————
    Expertin ,}‘,‘,‘, Gott ‚EOF‘

    Was läuft da falsch ?

  • Udo Dehnert

    Hallo,

    habe im Intent Schema in Zeile 10 eine Fehlermeldung.

    Parse erforderlich on linear 10

    Ich habe dort die Funktion reinkopiert, aber es läuft nicht

  • K79lle

    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…

  • K79lle

    Ach ja: Sowohl bei AWS, als auch beu Developer habe ich die gleiche Mailadresse wie bei meinem Echo benutzt…

  • 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?

  • 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?

  • K79lle

    Häkchen sind bei mir wie von Dir beschrieben und der Test bei AWS verläuft auch erfolgreich…

  • sesamsamen

    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“
    }
    ]
    }

  • sesamsamen

    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 !

  • Dieter de Mar

    Hallo!
    Habe eine Fehlermeldung bei Intent Schema in Zeile 17, wenn ich Deine Version eingebe. Gibt es noch eine andere Variante?

  • Karsten Bock

    Bei mir erscheint nach Eingabe von Enter Type : SEARCH
    ERROR SEARCH IST DOUBLE

  • Karsten Bock

    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

  • Karsten Bock

    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:

  • Karsten Bock

    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.

  • Udo Breidung

    Habe das gleiche Problem, alle Schritte scheinen erfolgreich abgeschlossen, Skill taucht bei mir nicht im Alexa Portal auf. Gibt es Lösungen?

  • Udo Breidung

    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?

  • Jörg Ladwig

    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

  • Jörg Ladwig

    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

  • Tobias Teichmann

    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.

  • Max Speedy

    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“
    }
    ]
    }

  • Sven Hoffmann

    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…

  • 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.

  • Tobias Nierstenhöfer

    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. :-((

  • bliblabl

    Hast du eine Lösung für dein Problem gefunden? Bei mir geht der Test bei aws Mitt der gleichen Fehlermeldung schief.

  • Ich habe das Intent oben nochmal in einen besseren Code-Block eingefügt. Könnt ihr es bitte nochmal damit versuchen?

  • Andreas

    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

  • mail

    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?

  • Andreas

    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

  • Nadine

    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?). 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.

  • Thomas

    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 ??

  • Christian Suchy

    Die Datei Archiv ist 10.2 MB groß und wird nicht hochgeladen. Nur über V2 wie immer das geht.

  • Christian Suchy

    Das Archiv ist 10.2 MB groß und wir nicht upgelodet nur über V2 wie immer das geht?

  • Peter Nicolaus

    Perfekt. Funktioniert. Danke.

  • Wolfram Mitbach

    Besten Dank für die super Anleitung! Hat auf Anhieb geklappt!
    lg Wolfram

  • Hans Schmidt

    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 🙁