Client:
Münchner Konzern

Hersteller von Haushaltsgeräten

Project Information:
Topic
| Mit Hilfe von Alexa die passenden Ofeneinstellungen für Rezepte finden
Technology | Node.js und TypeScript, Kotlin und Spring Boot, AWS Lambda und DynamoDB

Challenge

Wer träumt nicht davon? Eine leckere Lasagne wie vom Italiener, aber von einem selbst zuhause zubereitet. Selbstverständlich gibt es dazu unzählige Rezepte in Kochbüchern oder dem Internet. Aber kann man das in Zeiten immer smarter werdender Küchen nicht vereinfachen? Ja! Damit Nutzer die perfekten Ofeneinstellungen für ihr Gericht per Sprachsteuerung finden können, ohne während des Kochens im Kochbuch nachsehen zu müssen, war das Ziel einen Alexa Skill (Skills sind wie Apps, nur für Alexa) zu entwickeln. Durch diesen Skill können die Nutzer per Sprachsteuerung für ihre Smart Home Öfen auf einen Service zugreifen, welcher die perfekten Ofeneinstellungen für ein Gericht ermittelt. Nach Möglichkeit werden diese direkt von Alexa am Ofen bequem für den Nutzer ausgewählt. Der Hersteller der Smart Home Öfen stellt hierzu das Wissen bereit, welche Einstellung für welches Gerät das optimale Ergebnis liefert.


Solution

Über eine bereits verfügbare Schnittstelle ist es möglich mit den smarten Haushaltsgeräten zu interagieren. So kann beispielsweise über diese Schnittstelle herausgefunden werden, ob ein Ofen gerade läuft oder wie heiß er aktuell ist. Ebenso können auch neue Einstellungen an den Ofen geschickt werden, um beispielsweise eine bestimmte Temperatur einzustellen. Falls die Ofeneinstellungen bekannt sind, lassen sich diese somit direkt an den Ofen schicken. Die Herausforderung besteht nun darin, aus dem Gesagten des Nutzers herauszufinden, was dieser zubereiten möchte und welche Ofeneinstellungen hierfür passend sind. In einem ersten Schritt versucht das Natural Language Understanding ("NLU") Modell von Alexa zu verstehen, welches von den verfügbaren Gerichten der Nutzer zubereiten möchte. Mit dieser Information können in einem zweiten Schritt für das Gericht, und möglicherweise für einen verbundenen Ofen, die optimalen Einstellungen ermittelt und direkt ausgeführt werden.      

Technical Solution

Alexa Skill Backend
Zur Entwicklung des Skill Backends haben wir das von Amazon bereit gestellte Alexa Skills Kit ("ASK") und das darin enthaltene ASK SDK for Node.js verwendet. Als Entwicklungssprache haben wir uns für Node.js mit TypeScript entschieden und dies als Serverless Lambda auf AWS deployed. Dieser Teil des Backends erhält das Ergebnis aus dem Alexa NLU Modell. Das Backend wertet die Eingabe des Nutzers aus (beispielsweise dass dieser eine Lasagne zubereiten möchte) und fragt die passenden Ofeneinstellungen beim Service Backend an.

Service Backend
Die Service-Komponente, die die Parameter über die empfohlenen Einstellungen für jedes Gericht und jeden Ofen enthält, wurde in Kotlin mit dem Spring Boot Framework implementiert. Für die die es vielleicht noch nicht kennen: Kotlin ist eine relativ moderne Programmiersprache welche als "besseres Java" vermarktet wird. Dieser Service sieht in der Datenbasis nach, welche Ofeneinstellungen für das Gericht (in unserem Beispiel die Lasagne) das perfekte Ergebnis liefern. Anschließend leitet der Service diese Daten an das Alexa Skill Backend zur Alexa Sprachausgabe weiter.      


Ergebnis

Steht der Nutzer mit seinem vorbereiteten Gericht, beispielsweise einer Lasagne, vor seinem Smart Home Ofen, kann er ganz einfach sagen:

"Alexa, frage den Backofenassistenten wie ich Lasagne mache!"

und bekommt folgende Antwort:

"Zum Garen von frischer Lasagne kannst du Ober- und Unterhitze für 32 Minuten bei 210 Grad verwenden."

Auf Geräten mit Display wird die Empfehlung außerdem angezeigt:


Benefits

Im Ofen werden in diesem Schritt bereits die passenden Einstellungen ausgewählt. Nun braucht der Nutzer lediglich die Lasagne in den Ofen zu stellen, auf 'Start' zu drücken und auf seine perfekte Lasagne zu warten. Guten Appetit!