action.devices.SYNC
Dieser Intent fordert die Liste der Geräte an, die dem angegebenen Nutzer und dessen Funktionen zugeordnet sind.
Sie wird während der Kontoverknüpfung oder von einem Nutzer ausgelöst ihre Geräte manuell neu synchronisiert. Die Auftragsausführung sollte mit dem Eigenschaften und Attribute für jedes Gerät unterstützt.
Die SYNC
-Antwort sollte alle mit dem Nutzer verknüpften Geräte zurückgeben.
Dadurch wird nicht ermittelt, ob ein bestimmtes Gerät erreichbar ist. Dies wird vom
QUERY
und
EXECUTE
Antworten.
Weitere Informationen finden Sie unter Identifizieren und synchronisieren.
Anfrageformat
Felder | Typ | Beschreibung |
---|---|---|
requestId |
String |
Erforderlich. ID der Anfrage. |
inputs |
Array |
Erforderlich. Liste der Eingaben, die der Intent-Anfrage entsprechen. |
[item, ...] |
Objekt |
Typ und Nutzlast, die der Intent-Anfrage zugeordnet sind. |
intent |
Erforderlich. (Konstanter Wert: Intent-Anfragetyp. |
Beispiele
Intent-Anfrage synchronisieren
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
Antwortformat
Felder | Typ | Beschreibung |
---|---|---|
requestId |
String |
Erforderlich. ID der entsprechenden Anfrage. |
payload |
Objekt |
Erforderlich. Nutzlast der Intent-Antwort. |
agentUserId |
String |
Erforderlich. Gibt die eindeutige (und unveränderliche) Nutzer-ID auf der Plattform des Agents wieder. Der String ist für Google nicht transparent. Wenn auf der Seite des Agents also eine unveränderliche und eine änderbare Form vorhanden ist, verwenden Sie die unveränderliche Form (z. B. eine Kontonummer statt einer E-Mail-Adresse). |
errorCode |
String |
Für systematische Fehler in SYNC |
debugString |
String |
Detaillierter Fehler, der Nutzern nie angezeigt wird, aber protokolliert oder während der Entwicklung verwendet werden kann. |
devices |
Array |
Erforderlich. Liste der Geräte, die dem Nutzer gehören. Es werden keine oder mehr Geräte zurückgegeben, d. h., der Nutzer hat keine Geräte oder hat alle getrennt. |
[item, ...] |
Objekt |
Gerätemetadaten. |
id |
String |
Erforderlich. Die ID des Geräts in der Cloud des Entwicklers. Dieser Wert muss für den Nutzer und den Entwickler eindeutig sein, da wir ihn bei der gemeinsamen Nutzung verwenden können, um mehrere Ansichten desselben Geräts zu deduplizieren. Sie sollte für das Gerät unveränderlich sein. Wenn es sich ändert, behandelt Assistant es als neues Gerät. |
type |
String |
Erforderlich. Der Hardwaretyp des Geräts. |
traits |
Array |
Erforderlich. Liste der Traits dieses Geräts. Hiermit werden die Befehle, Attribute und Status definiert, die das Gerät unterstützt. |
[item, ...] |
String |
Name des unterstützten Merkmals. |
name |
Objekt |
Erforderlich. Namen dieses Geräts. |
defaultNames |
Array |
Liste mit Namen, die vom Entwickler und nicht vom Nutzer angegeben werden, häufig Herstellernamen, Artikelnummern usw. |
[item, ...] |
String |
Standardname des Geräts. |
name |
String |
Erforderlich. Primärer Name des Geräts, in der Regel vom Nutzer angegeben. Das ist auch der Name, den Assistant das Gerät in Antworten bevorzugt. |
nicknames |
Array |
Zusätzliche vom Nutzer für das Gerät angegebene Namen. |
[item, ...] |
String |
Gerätealias. |
willReportState |
Boolesch |
Erforderlich. Gibt an, ob der Status dieses Geräts durch den Echtzeitfeed aktualisiert wird. („true“, um den Echtzeitfeed für den Berichtsstatus zu verwenden, und „false“, um das Umfragemodell zu verwenden.) |
notificationSupportedByAgent |
Boolesch |
(Standardeinstellung: Gibt an, ob Benachrichtigungen für das Gerät aktiviert sind. |
roomHint |
String |
Stellt den aktuellen Raum des Geräts im Zuhause des Nutzers bereit, um die Einrichtung zu vereinfachen. |
deviceInfo |
Objekt |
Enthält Felder zur Beschreibung des Geräts zur Verwendung in einmaliger Logik, falls erforderlich (z.B. „Fehlerhafte Firmwareversion X von Lampe Y erfordert Anpassung der Farbe“ oder „Sicherheitsproblem erfordert die Benachrichtigung aller Nutzer von Firmware Z“). |
manufacturer |
String |
Das ist besonders nützlich, wenn der Entwickler ein Hub für andere Geräte ist. Google kann hier eine Standardliste mit Herstellern bereitstellen, damit z.B. TP-Link und Smartthings beschreiben „Osram“ auf die gleiche Weise. |
model |
String |
Die Modell- oder Artikelnummer-ID des jeweiligen Geräts. |
hwVersion |
String |
Falls verfügbar, spezifische Versionsnummer an die Hardware angehängt |
swVersion |
String |
Falls verfügbar, spezifische Versionsnummer an die Software/Firmware. |
attributes |
Objekt |
Ausgerichtet auf die Attribute pro Merkmal, die in jeder Referenzschemareferenz beschrieben sind. |
customData |
Objekt |
Vom Entwickler definiertes Objekt, das zukünftigen QUERY- und EXECUTE-Anfragen angehängt wird (maximal 512 Byte pro Gerät). Verwenden Sie dieses Objekt, um zusätzliche Informationen über das Gerät zu speichern, das Ihr Cloud-Dienst möglicherweise benötigt, z. B. die globale Region des Geräts. Daten in diesem Objekt unterliegen einigen Einschränkungen: keine vertraulichen Informationen, einschließlich, aber nicht beschränkt auf personenidentifizierbare Informationen. |
otherDeviceIds |
Array |
Liste alternativer IDs, mit denen ein mit der Cloud synchronisiertes Gerät für die lokale Ausführung identifiziert wird. |
[item, ...] |
Objekt |
Alternative Geräte-ID. |
agentId |
String |
Die Agent-ID. In der Regel ist dies die Projekt-ID in der Actions Console. |
deviceId |
String |
Erforderlich. Vom Agent definierte Geräte-ID. Die Geräte-ID muss eindeutig sein. |
Beispiele
Intent-Antwort synchronisieren
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [ { "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "defaultNames": [ "My Outlet 1234" ], "name": "Night light", "nicknames": [ "wall plug" ] }, "willReportState": false, "roomHint": "kitchen", "deviceInfo": { "manufacturer": "lights-out-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" }, "otherDeviceIds": [ { "deviceId": "local-device-id" } ], "customData": { "fooValue": 74, "barValue": true, "bazValue": "foo" } }, { "id": "456", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.Brightness", "action.devices.traits.ColorSetting" ], "name": { "defaultNames": [ "lights out inc. bulb A19 color hyperglow" ], "name": "lamp1", "nicknames": [ "reading lamp" ] }, "willReportState": false, "roomHint": "office", "attributes": { "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 }, "commandOnlyColorSetting": false }, "deviceInfo": { "manufacturer": "lights out inc.", "model": "hg11", "hwVersion": "1.2", "swVersion": "5.4" }, "customData": { "fooValue": 12, "barValue": false, "bazValue": "bar" } } ] } }