Gerätemodell und Instanzschemas

Gerätemodell

Das Gerätemodell wird durch die Felder in diesem Abschnitt definiert.

Felder des Gerätemodells dürfen nur Buchstaben, Ziffern und die folgenden Symbole enthalten: Punkt (.), Bindestrich (-), Unterstrich (_), Leerzeichen ( ) und Pluszeichen (+). Das erste Zeichen eines Felds muss ein Buchstabe oder eine Zahl sein.

Beispiel
{
  "project_id": "my-devices-project",
  "device_model_id": "my-devices-project-prototype-light-v1",
  "manifest": {
    "manufacturer": "Assistant SDK developer",
    "product_name": "Assistant SDK light",
    "device_description": "Assistant SDK light device"
  },
  "device_type": "action.devices.types.LIGHT",
  "traits": ["action.devices.traits.OnOff"]
}
Schema
{
  "project_id": string,
  "device_model_id": string,
  "manifest": {
    "manufacturer": string,
    "product_name": string,
    "device_description": string
  },
  "device_type": string,
  "traits": [ string ]
}
  • project_id: (String) Erforderlich. Die ID des Google Cloud Platform-Projekts des Actions Console-Projekts, das mit diesem Gerätemodell verknüpft werden soll. Ein Projekt kann mehrere Gerätemodelle enthalten.
  • device_model_id: (String) Erforderlich. Global eindeutige Kennung für dieses Gerätemodell. Verwenden Sie project_id als Präfix, um Kollisionen über alle Projekte hinweg zu vermeiden. Wird in Messwerten und bei der Geräteregistrierung verwendet.
  • manifest: (object(Manifest)) Erforderlich. Metadaten, die das Gerätemodell und den Hersteller beschreiben. Dies kann in der (bevorstehenden) SDK-Konsole, Messwert-Dashboards und anderen zugehörigen visuellen Oberflächen angezeigt werden.
    • manifest.manufacturer: (String) Erforderlich. Name des Geräteherstellers
    • manifest.product_name: (String) Erforderlich. An den Verbraucher gerichteter Produktname für dieses Gerätemodell.
    • manifest.device_description: (String) Optional. Beschreibung dieses Gerätemodells.
  • device_type: (String) Erforderlich. Der Typ der Gerätehardware. Wählen Sie eine der folgenden Optionen aus:
    • action.devices.types.CAMERA
    • action.devices.types.DISHWASHER
    • action.devices.types.DRYER
    • action.devices.types.LIGHT
    • action.devices.types.OUTLET
    • action.devices.types.PHONE
    • action.devices.types.REFRIGERATOR
    • action.devices.types.SCENE
    • action.devices.types.SOUNDBAR
    • action.devices.types.SPEAKER
    • action.devices.types.SWITCH
    • action.devices.types.THERMOSTAT
    • action.devices.types.TV
    • action.devices.types.VACUUM
    • action.devices.types.WASHER
  • traits: (Array<String>) Optional Liste der vom Gerät unterstützten Eigenschaften. Zu den Eigenschaften gehören die Befehle, Attribute und Status für das Gerät. Sie müssen kein Aktionspaket definieren, um integrierten Traits erstellen.

Geräteinstanz

Die Geräteinstanz wird durch die Felder in diesem Abschnitt definiert.

Die Felder der Geräteinstanz müssen mit einem Buchstaben oder einer Ziffer beginnen. Die Geräte-ID darf nur Buchstaben, Ziffern und die folgenden Symbole enthalten: Punkt (.), Bindestrich (-), Unterstrich (_) und Pluszeichen (+). Der Geräte-Alias darf nur Ziffern, Buchstaben und ein Leerzeichen ( ) enthalten.

Beispiel
  {
    "id": "my_led_1",
    "model_id": "my-devices-project-prototype-light-v1",
    "nickname": "My Assistant Light",
    "client_type": "SDK_LIBRARY"
  }
Schema
  {
    "id": string,
    "model_id": string,
    "nickname": string,
    "client_type": string
  }
  • id: (String) Erforderlich. ID für das Testgerät. Darf auf allen Geräten, die unter demselben Google-Entwicklerprojekt registriert sind, nur einmal vorkommen.
  • model_id: (String) Erforderlich. ID des Gerätemodells; muss mit dem device_model_id übereinstimmen, der diesem Testgerät zugeordnet ist. Das Gerätemodell muss zuvor registriert worden sein.
  • nickname: (String) Optional. Alias für das Gerät. Dieser Name wird in visuellen Oberflächen wie den Assistant-Einstellungen verwendet, um auf das Gerät zu verweisen.
  • client_type: (String) Erforderlich. Der Typ des Clientgeräts. Folgende Werte sind zulässig: SDK_SERVICE oder SDK_LIBRARY.