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: "action.devices.SYNC")

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: false)

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"
        }
      }
    ]
  }
}