Willkommen beim Google Home Developer Center, der neuen Anlaufstelle für Informationen über Smart-Home-Aktionen. Hinweis:Die Aktionen in der Actions Console werden weiterhin erstellt.

Intents

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

Alle smart home-Intents befinden sich im action.devices-Namespace und müssen für sie bereitgestellt werden. Immer dann, wenn Google Assistant einen Intent an die Auftragsausführung sendet, wird das OAuth 2-Zugriffstoken eines Nutzers im Autorisierungsheader übergeben.

Diese smart home-Intents werden unterstützt:

SYNCHRONISIEREN

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

Wenn ein Nutzer seine Geräte mit Google Home app (GHA) einrichtet, werden sie auch bei Ihrer Cloud-Infrastruktur authentifiziert. Dann empfängt Assistant ein OAuth2-Token. Assistant sendet nun einen action.devices.SYNC-Intent an die Auftragsausführung, um die erste Liste der Nutzergeräte und -funktionen aus Ihrer Cloud-Infrastruktur abzurufen.

Diese Abbildung zeigt die Interaktion zwischen der Google-Infrastruktur und der Partnerinfrastruktur. In der Google-Infrastruktur ist eine Liste der Partner verfügbar, die für die Assistant-Client-App verfügbar sind und dann an die Partnerinfrastruktur weitergeleitet werden, um die OAuth-Authentifizierung abzuschließen. Die OAuth-Authentifizierung auf Partnerseite besteht aus der WebView für Partner, dem OAuth-WebView, den optionalen Einstellungen und Nutzungsbedingungen sowie den Cloud-Diensten des Partners. Die Partnerinfrastruktur 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 Assistant-Dienste, die die Informationen dann in der Home Graph-Konfiguration speichern.
Abbildung 1: Interaktion zwischen der Google- und der Partnerinfrastruktur

Damit die Verknüpfung eines Nutzerkontos nicht aufgehoben wird, können Sie eine Anfragesynchronisierung mit Assistant senden. Dadurch wird der Intent action.devices.SYNC an die 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

Bei der lokalen Ausführung prüft die lokale Startseite die Antwort SYNC der Cloud-Auftragsausführung der Aktion smart home. Weitere Informationen zum Ändern der SYNC-Antwort für die lokale Auftragsausführung finden Sie unter SYNC Response 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 Lichter sind in der Küche an? zu beantworten, Assistant sendet einen action.devices.QUERY-Intent an Ihre Auftragsausführung.

Flussdiagramm eines QUERY-Intents
Abbildung 3: QUERY-Intent

Für eine optimale Nutzerfreundlichkeit solltest du den Berichtsstatus implementieren, damit der aktuelle Status der Geräte eines Nutzers direkt an Google Home Graph gemeldet wird. Dadurch weiß Assistant beispielsweise, ob der Nutzer eine intelligente Lampe mit einem physischen Lichtschalter aktiviert hat.

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

EXECUTE

Mit dem Intent action.devices.EXECUTE werden Befehle ausgeführt, die auf smart home-Geräten ausgeführt werden sollen.

Wenn Nutzer Befehle mit Assistant an Geräte senden, erhält die Auftragsausführung einen action.devices.EXECUTE-Intent an die Auftragsausführung, in der die Aktion und die Geräte beschrieben werden, auf die reagiert 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 eines EXECUTE-Intents
Abbildung 5: AUSFÜHRUNG

VERBINDUNG TRENNEN

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