Geräteerkennung unterstützen

Ein lokaler Erfüllungspfad wird eingerichtet, wenn Google ein lokal steuerbares Gerät mit einem Gerät abgleicht, das in der SYNC-Antwort von Ihrem Cloud-Fulfillment-Anbieter zurückgegeben wurde.

Damit Google Ihr Gerät im lokalen Netzwerk finden und den lokalen Auftragsausführungspfad herstellen kann, müssen Sie in der Actions Console Informationen zur Erkennung hinzufügen. Außerdem musst du die SYNC-Antwort aus deiner Cloud-Ausführung aktualisieren, um Google über das lokal steuerbare Gerät zu informieren.

Informationen zur Scankonfiguration einrichten

So geben Sie die Informationen zur Entdeckung an:

  1. Rufen Sie Ihre Cloud-to-cloud-Integration in der Google Home Developer Console auf:

    Rufen Sie die Developers Console auf.

  2. Klicken Sie links auf dem Bildschirm auf Projekt > Cloud-zu-Cloud und wählen Sie dann für die Integration die Option Bearbeiten aus. Scrollen Sie auf der Seite Einrichtung und Konfiguration zu Lokale Auftragsausführung und aktivieren Sie die Einstellung. Geben Sie die folgende URL in jedes Feld für die Test-URL ein, fügen Sie Ihre Projekt-ID ein und klicken Sie auf Speichern:

    https://<project-id>.web.app/local-home/index.html

  3. Klicken Sie unter Gerätesuche auf + Scankonfiguration hinzufügen, um eine neue Scankonfiguration hinzuzufügen.

  4. Wählen Sie im Drop-down-Menü einen Protokolltyp für die Abgleichssuche aus und geben Sie Werte für die Google-Suche ein.

In den folgenden Tabellen sind die Attribute aufgeführt, die Sie je nach Protokoll hinzufügen können, mit dem Google nach Ihrem Gerät suchen soll:

mDNS
Attribut Beschreibung Beispielwert
Dienstname Erforderlich. Vom Gerät veröffentlichter Dienstname im Format service.domain. _http._tcp.local
Name

Erforderlich. Filtern Sie nach einer eindeutigen Dienstinstanz im Format instance.service.domain.

Die Plattform behandelt diesen Wert als regulären Ausdruck und gibt alle übereinstimmenden Geräte zurück.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
Attribut Beschreibung Beispielwert
Diensttyp Erforderlich. Vollständig qualifizierte Kennzeichnung des UPnP-Dienstes im Format domain:service:type:version. schemas-upnp-org:service:SwitchPower:1
OUI

Optional. Organizationally Unique Identifier.

24-Bit-Wert, der den Gerätehersteller identifiziert. In der Regel die ersten drei Oktette der MAC-Adresse des Geräts.
1A:2B:3C
UDP
Attribut Beschreibung Beispielwert
Adresse zur Geräteerkennung Erforderlich. Ziel-IP-Adresse für die UDP-Broadcast-Nachricht. 255.255.255.255
Port für die Übertragung Erforderlich. Zielport für die UDP-Broadcasts. 5555
Überwachungsport Erforderlich. Überwachungsport für die UDP-Erkennungsantwort. 5556
Discovery-Paket

Erforderlich. Nutzlast, die im UDP-Broadcast gesendet werden soll.

Als hexadezimal codierter Byte-String formatiert.
48454C4C4F

SYNC-Antwort in der Cloud-Auftragsausführung aktualisieren

Die SYNC-Intent-Berichte informieren Assistant darüber, welche Geräte der Nutzer steuert und welche Funktionen sie haben.

Zur Unterstützung der lokalen Auslieferung prüft die Local Home-Plattform die SYNC-Antwort aus der Cloud-Auslieferung Ihrer Smart-Home-Aktion und versucht, die Geräte-IDs im Feld otherDeviceIds mit der Bestätigungs-ID abzugleichen, die vom IDENTIFY-Handler zurückgegeben wird. Geräteeinträge ohne otherDeviceIds-Feld sind von der lokalen Abwicklung ausgeschlossen.

Im Feld otherDeviceIds der SYNC-Antwort müssen Sie die Geräte-IDs der Smart-Home-Geräte festlegen, die lokal gesteuert werden können. Das Feld wird in der Antwort auf device-Ebene angezeigt. Google kann auf jedem Gerät mit der angegebenen ID einen lokalen Erfüllungspfad einrichten.

Geben Sie im Feld customData alle zusätzlichen Daten an, die Google benötigt, um eine Verbindung zu einem eigenständigen Gerät herzustellen oder Endgeräte über einen Hub anzusteuern (z. B. die Portnummer und andere protokollspezifische Informationen).

Beispiel

Das folgende Snippet zeigt, wie Sie einen SYNC-Handler erstellen können.

Eigenständig/Hub
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [{
      "id": "123",
      "type": "action.devices.types.OUTLET",
      "traits": [
        "action.devices.traits.OnOff"
      ],
      "name": {
        "name": "Night light"
      },
      "willReportState": false,
      "otherDeviceIds": [{
        "deviceId": "local-device-id"
      }],
      "customData": {
        "port": 5555,
        "authToken": "..."
      }
    }]
  }
}