Intents

Smart-Home-Intents sind einfache Messaging-Objekte, die beschreiben, welche Cloud-to-cloud Integration ausgeführt werden soll, z. B. das Einschalten eines Lichts oder das Streamen von Audio auf einen Lautsprecher.

Alle smart home Intents befinden sich im action.devices Namespace und Sie müssen eine Fulfillment-Implementierung dafür bereitstellen. Wenn Google Assistant einen Intent an die Fulfillment-Implementierung sendet, wird das OAuth 2-Zugriffstoken eines Drittanbieters im Autorisierungsheader übergeben.

Dies sind die unterstützten smart home Intents:

SYNC

Mit dem action.devices.SYNC Intent 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 dem Google Home app (GHA) einrichtet, wird er auch bei Ihrer Cloud-Infrastruktur authentifiziert. Anschließend, Assistant erhält ein OAuth 2-Token. An diesem Punkt sendet einen Intent an Ihre Fulfillment-Implementierung, um die erste Liste der Nutzergeräte und -funktionen aus Ihrer Cloud-Infrastruktur abzurufen.Assistantaction.devices.SYNC

Diese Abbildung zeigt die Interaktion zwischen der Google-Infrastruktur und der Partnerinfrastruktur. Über die Google-Infrastruktur ist eine Liste von Partnern verfügbar, die für die Assistant-Client-App zugänglich ist. Diese wird dann an die Partnerinfrastruktur weitergeleitet, um die OAuth-Authentifizierung abzuschließen. Die OAuth-Authentifizierung auf Partnerseite umfasst die Webansicht für die Partnereinrichtung, die OAuth-Webansicht, optionale Einstellungen und Nutzungsbedingungen sowie Partner-Clouddienste. Die Partnerinfrastruktur gibt die OAuth-Anmeldedaten dann an die Assistant-Client-App zurück. Die Partner-Clouddienste senden verfügbare Geräte und Funktionen an die Assistant-Dienste, die die Informationen dann im Home Graph speichern.
Abbildung 1: Interaktion zwischen Google und Partner Infrastruktur

Um die Verknüpfung des Kontos eines Nutzers aufzuheben und wieder zu verknüpfen, können Sie eine Synchronisierungsanfrage an Assistant senden an Assistant. Dadurch wird der Intent action.devices.SYNC an Ihre Fulfillment-Implementierung gesendet, um die Liste der Geräte und Funktionen zu synchronisieren. Weitere Informationen finden Sie unter Synchronisierungsanfrage implementieren.

Flussdiagramm für einen SYNC-Intent
Abbildung 2: SYNC-Intent

Bei der Einrichtung der lokalen Ausführung prüft die Local Home-Plattform die SYNC-Antwort der smart home Cloud-Ausführung Ihrer Aktion. Weitere Informationen zum Ändern der SYNC-Antwort zur Unterstützung der lokalen Fulfillment-Implementierung finden Sie unter SYNC-Antwort in der Cloud-Fulfillment-Implementierung aktualisieren.

QUERY

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

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

Flussdiagramm für einen QUERY-Intent
Abbildung 3: QUERY-Intent

Für eine optimale Nutzerfreundlichkeit sollten Sie Report State implementieren, um den aktuellen Status der Geräte eines Nutzers proaktiv direkt an Google Home Graph zu senden. So kann Assistant beispielsweise erkennen, ob ein Nutzer ein Smart-Light mit einem physischen Lichtschalter eingeschaltet hat.

Gerätestatus mit „Report State“ melden
Abbildung 4: Gerätestatus melden

EXECUTE

Mit dem action.devices.EXECUTE Intent werden Befehle für die Ausführung auf smart home Geräten bereitgestellt.

Wenn Nutzer Befehle an Geräte mit Assistant senden, erhält Ihre Fulfillment-Implementierung einen action.devices.EXECUTE Intent, der die Aktion und die Geräte beschreibt, auf die sie angewendet werden soll. Ein Nutzer kann eine Aktion auf einem Gerät mit einem Befehl wie Hey Google, schalte das Licht im Wohnzimmer ein ausführen.

Flussdiagramm für einen EXECUTE-Intent
Abbildung 5: EXECUTE-Intent

VERBINDUNG TRENNEN

Der Intent action.devices.DISCONNECT wird ausgelöst, um Sie darüber zu informieren, dass ein Nutzer die Verknüpfung des App-Kontos mit Assistant aufgehoben hat. Nachdem Sie einen action.devices.DISCONNECT-Intent erhalten haben, sollten Sie den Status der Geräte dieses Nutzers nicht mehr melden.