Intents

Smart-Home-Intents sind einfache Nachrichtenobjekte, die beschreiben, welche smart home-Aktion ausgeführt werden soll, z. B. das Licht einschalten oder Audio auf einen Lautsprecher streamen.

Alle smart home-Intents sind im Namespace action.devices enthalten und Sie müssen die Auftragsausführung für sie bereitstellen. Immer, wenn Google Assistant einen Intent zur Auftragsausführung sendet, wird das OAuth 2-Zugriffstoken eines Nutzers von einem Drittanbieter im Autorisierungsheader übergeben.

Dies sind die unterstützten smart home-Intents:

SYNCHRONISIEREN

Mit dem Intent action.devices.SYNC wird die Liste der smart home-Geräte angefordert, die der Nutzer verbunden hat und die verwendet werden können.

Wenn ein Nutzer seine Geräte mit Google Home app (GHA) einrichtet, wird er auch bei Ihrer Cloud-Infrastruktur authentifiziert. Anschließend erhält Assistant ein OAuth2-Token. An dieser Stelle sendet Assistant den Intent action.devices.SYNC an Ihre Auftragsausführung, um die anfängliche Liste der Nutzergeräte und -funktionen aus Ihrer Cloudinfrastruktur abzurufen.

Diese Abbildung zeigt die Interaktion zwischen der Google-Infrastruktur und der Partnerinfrastruktur. Von der Google-Infrastruktur aus steht eine Liste von Partnern für die Assistant-Clientanwendung zur Verfügung, die dann zur Partnerinfrastruktur für die OAuth-Authentifizierung geleitet wird. Die OAuth-Authentifizierung auf Partnerseite umfasst die WebView für die Partnereinrichtung, die OAuth-WebView, optionale Einstellungen und Nutzungsbedingungen sowie die Partner-Cloud-Dienste. Die Infrastruktur des Partners gibt dann die OAuth-Anmeldedaten an die Assistant-Client-App zurück. Die Cloud-Dienste des Partners senden die verfügbaren Geräte und Funktionen an die Assistant-Dienste, die die Informationen dann in Home Graph speichern.
Abbildung 1: Interaktion zwischen der Google- und der Partnerinfrastruktur

Um das Aufheben der Verknüpfung und die erneute Verknüpfung eines Nutzerkontos zu vermeiden, können Sie eine Synchronisierungsanfrage an Assistant senden. Dadurch wird der Intent action.devices.SYNC an Ihre Auftragsausführung gesendet, um die Liste der Geräte und Funktionen zu synchronisieren. Weitere Informationen finden Sie unter Anfragesynchronisierung implementieren.

Flussdiagramm eines SYNC-Intents
Abbildung 2: SYNC-Intent

Während der Einrichtung der lokalen Auftragsausführung prüft die Plattform „Lokale Startseite“ die SYNC-Antwort aus der Cloud-Auftragsausführung der smart home-Aktion. Weitere Informationen zum Ändern der SYNC-Antwort zur Unterstützung der lokalen Auftragsausführung finden Sie unter SYNC-Antwort in der Cloud-Auftragsausführung aktualisieren.

ABFRAGE

Mit dem Intent action.devices.QUERY wird der aktuelle Status von smart home-Geräten abgefragt.

Wenn Nutzer den Gerätestatus abfragen, um eine Frage wie Hey Google, welche Lampen sind in der Küche an? zu beantworten, Assistant sendet einen action.devices.QUERY-Intent zur Auftragsausführung.

Flussdiagramm eines QUERY-Intents
Abbildung 3: QUERY-Intent

Für eine optimale Nutzererfahrung sollten Sie den Berichtsstatus implementieren, um den aktuellen Status der Geräte eines Nutzers proaktiv direkt an Google Home Graph zu melden. Dadurch erfährt Assistant beispielsweise, ob der Nutzer eine intelligente Lampe mit einem physischen Lichtschalter eingeschaltet hat.

Gerätestatus mithilfe von „Berichtsstatus“ melden
Abbildung 4: Gerätestatus melden

EXECUTE

Mit dem Intent action.devices.EXECUTE werden Befehle zur Ausführung auf smart home-Geräten bereitgestellt.

Wenn Nutzer Befehle an Geräte mit Assistant senden, erhält die Auftragsausführung den Intent action.devices.EXECUTE für die Auftragsausführung, in dem die Aktion und die zu verarbeitenden Geräte beschrieben werden. Ein Nutzer kann mit einem Befehl wie Hey Google, schalte das Licht im Wohnzimmer ein auf einem Gerät eine Aktion aus.

Flussdiagramm eines EXECUTE-Intents
Abbildung 5: Intent AUSFÜHREN

VERBINDUNG TRENNEN

Der Intent action.devices.DISCONNECT wird ausgelöst und informiert Sie, wenn ein Nutzer die Verknüpfung des App-Kontos mit Assistant aufgehoben hat. Nach Erhalt des Intents action.devices.DISCONNECT sollten Sie den Status für die Geräte dieses Nutzers nicht mehr melden.