Alexa Skills selbst programmieren - so geht's

2022-10-08 22:53:50 By : Mr. Jimmy Deng

Alexa Skills sind Anwendungen von Drittanbietern, die ihre Services über Amazons Sprachassistentin Alexa zur Verfügung stellen wollen. Vom Pupsgenerator zum Smart Home-Skill: Jeder kann mit dem Alexa Skills Kit selbst einen Skill programmieren. Unser Alexa Skill Experte Roman Alexander erklärt, wie das geht und was dazu nötig ist.

Um mit Alexa als Entwickler zu beginnen, muss man zuerst die verschiedenen Möglichkeiten verstehen, wie man an Alexa und die Alexa Entwicklerumgebung, und vor allem an das „Alexa Skills Kit“ herangehen kann.

Zunächst ist es wichtig zu wissen, dass Amazon mehrere Skill-„Vorlagen“ bereitstellt. Je nachdem, welche Vorlage man verwendet, kann man sich dann Programmieraufwand sparen, da man eventuell bereits auf Vorarbeit von Amazon zurückgreifen kann. So kann man den eigenen Skill in einigen Fällen sehr schnell entwickeln. Das gilt sowohl für die Flash Briefing Skills als auch die Smart Home Skills, die mit Hilfe einer bereitgestellten API erstellt werden. Für sie existieren bereits APIs, die weniger Kontrolle über den Skill erlauben, aber die Entwicklung auch vereinfachen. Es gibt folgende Skill-Arten:

Skill Interface und Skill Service: Ein Alexa Skill besteht aus dem Skill Service und dem Skill Interface. Vereinfacht könnte man sagen, das Frontend ist die Sprachschnittstelle (Voice User Interface oder VUI), die über das Sprachinteraktionsmodell konfiguriert wird. Das Backend, der Skill Service, ist der Ort, an dem die Logik der Skills liegt und ausgeführt wird. Das passiert in der Praxis meist in AWS Lambda.

Flash Briefing Skills verwenden entweder einen RSS- oder JSON-Feed, der die neuen Elemente enthält, die als Teil des Flash Briefings vorgelesen werden. Solche Skills sind einfach zu entwickeln und eignen sich gut für Zeitungen und Blogger. Der Skill Service ist in diesem Fall keine Lambda-Funktion, sondern der RSS- oder JSON-Feed. Diese Art von Skills hat allerdings auch nur wenige Zusatzfunktionen.

Smart Home Skills hingegen haben eine Benutzerschnittstelle (API), welche eine AWS Lambda-Funktion erfordert, die als Adapter für die Integration des Endgeräts fungiert. Vorteil dabei ist, dass man kein eigenes VUI entwickeln muss, sondern auf Amazon zurückgreifen kann. Anhand dieser API kann dann ein Smart Home-Befehl richtig interpretiert werden, und der Smart Home Anbieter kann sich auf die eigentliche Arbeit mit seinen Geräten konzentrieren.

Video Skills wurden entwickelt, um es Nutzern zu ermöglichen, Videos (und Filme) zu finden und anzusehen, ohne eine bestimmte Fähigkeit aufrufen zu müssen. Ein Nutzer könnte beispielsweise sagen: „Alexa, spiel Batman Returns“, ohne einen Anbieter oder ein Gerät anzugeben. Durch die Video Skill API ist Alexa über Videogeräte und -dienste informiert, die ein Benutzer besitzt oder abonniert hat, und ermöglicht es so, Videos zu zeigen.

Custom Skills sind die flexibelste, aber auch komplexeste Variante, da der Entwickler selber das Interaktionsmodell bereitstellen muss. Das Interaktionsmodell ist im Wesentlichen das „Gespräch“, der Dialog zwischen Alexa und dem Benutzer. Es bildet die verschiedenen Arten ab, wie Benutzer ihre Frage stellen, wie Alexa die Informationen sammelt und wie Alexa die Anfrage beantwortet.

Custom Skills werden entweder in AWS Lambda gehostet, bei Amazon Alexa oder in einem selbst festgelegten HTTPS-fähigen Webserver. Ein eigener Server muss allerdings von Amazon geprüft werden, um mit dem notwendigen Zertifikat ausgestattet zu werden.

Custom Skills unterstützen auch die sogenannten Slots, die im Grunde Benutzereingaben darstellen, mit denen der Skill weiter arbeiten kann. Slots sind analog zur Programmierung Variablen, die einen Datentyp, einen Slot type haben. Beispiel dafür sind die Slot types AMAZON.NUMBER oder AMAZON.DURATION. Als Entwickler kann man auch eigene Slot types festlegen.

Bei der Programmierung von Alexa Skills muss man sich vorher im Klaren sein, welche Funktionen der Skill genau haben soll und zu welchem Zweck er dient. Die gerade beschriebenen Skill-Templates können als Hilfe dienen, da für viele Zwecke eine der bereitgestellten Vorlagen von Amazon geeignet ist.

Für alle anderen muss allerdings ein Custom Skill entwickelt werden. Bei dessen Entwicklung sollte man allerdings häufige Fehler vermeiden. Darunter fallen zum Beispiel:

Das Skill Interface eines Alexa Skills wird zunächst in der Alexa Developer Console entwickelt, wohingegen der Skill Service, wie  vorhin beschrieben, entweder in AWS Lambda gehostet wird, oder in einem eigenen Webservice.

Funktionen für Alexa-Skills, die in AWS Lambda gehostet werden, kann man in Node.js, Java oder Python schreiben, während ein eigener Webservice in jeder geeigneten Sprache erstellt werden kann, solange die Amazon API damit erreicht werden kann. Für die drei genannten Programmiersprachen steht jeweils ein Software Development Kit (SDK) zur Verfügung. 

Ebenfalls hilfreich ist im Umgang mit Alexa das Speech Synthesis Markup Language (SSML). Mit SSML kann man Alexas Antworten selber anpassen, da Alexa ansonsten die Antwort mit ihrem eigenen Standardverfahren durchführt.

Mehr zur Alexa Skill Entwicklung findet sich unter smart-home-system.org, dem Expertenblog von Roman Alexander - oder in seinem Buch "Alexa Skills entwickeln".

Lesenswerte Expertenblogs finden Sie in unserem Experten Blog-Verzeichnis Weitere Experten-Beiträge finden Sie in unserem Experten-Verzeichnis

Alexa Skills aktivieren und verwalten - so geht 's Alexa Skills richtig anwenden Alexa und Skills im Browser testen und nutzen 7 IFTTT Rezepte für Amazon Echo | Programmieren war gestern Alexa FAQ: Häufige Fragen zur Nutzung von Amazon Echo und Alexa Anleitung: Amazon Echo zurücksetzen bei Problemen How-To: Sonos Multiroom Lautsprecher mit Alexa steuern How-To: Google Suche mit dem Amazon Echo verwenden

Mehr Trends und Smart Home News

Die mit * gekennzeichneten Links sind sogenannte Affiliate Links. Kommt über einen solchen Link ein Einkauf zustande, werden wir mit einer Provision beteiligt. Für Sie entstehen dabei keine Mehrkosten.

Roman Alexander beschäftigt sich gerne mit neuesten Technologien und liebt es, innovative Dinge auszuprobieren. Dabei fokussiert er sich vor allem auf verteilte Technologien und das Smart Home. Zum Thema Smart Home ist er auch als Buchautor erfolgreich mit seinen Büchern "Alexa Skills entwickeln" und "Amazon Echo – das Handbuch für Alexa, Echo Dot und Smart Home".

Erleben Sie alle Smart Home-Produkte und Geräte mit Sprachsteuerung bei Amazon zu unschlagbaren Preisen.

Bei Amazon aktuelle Smart Home Angebote finden und sparen! 

Über uns & Jobs