Geräteerkennung unterstützen

Es wird ein Pfad für die lokale Ausführung festgelegt, wenn Google ein lokal steuerbares Gerät zuordnen kann an ein Gerät, das in der SYNC zurückgegeben wurde Antwort auf die Cloud-Auftragsausführung.

Um es Google zu ermöglichen, Ihr Gerät im lokalen Netzwerk zu finden und eine lokalen Pfad für die Auftragsausführung hinzufügen, müssen Sie Erkennungsinformationen in der Actions Console hinzufügen. Sie müssen auch die SYNC-Antwort aus Ihrer Cloud-Auftragsausführung aktualisieren, um Google das lokal steuerbare Gerät kennt.

Informationen zur Scankonfiguration einrichten

So geben Sie die Erkennungsinformationen an:

  1. Öffnen Sie Ihr Smart-Home-Projekt in der Actions Console.
  2. Klicken Sie im linken Navigationsmenü auf Aktionen.
  3. Unter Local Home SDK konfigurieren (optional) > Fügen Sie eine Scankonfiguration für das Gerät hinzu und klicken Sie auf Neue Scankonfiguration.
  4. Wählen Sie einen mit Scan übereinstimmenden Protokolltyp aus der Drop-down-Liste aus und geben Sie Werte für zum Scannen mit Google.

In den folgenden Tabellen sind die Attribute aufgeführt, die Sie basierend auf den Protokollen hinzufügen können die Google für Ihr Gerät verwenden soll:

<ph type="x-smartling-placeholder">
</ph>
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 passende Geräte finden.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
Attribut Beschreibung Beispielwert
Diensttyp Erforderlich. Voll qualifizierte Kennung des UPnP-Dienstes im Format domain:service:type:version schemas-upnp-org:service:SwitchPower:1
OUI

Optional. <ph type="x-smartling-placeholder"></ph> Eindeutige Kennung (Organisation).

24-Bit-Wert zur Identifizierung des Geräteherstellers. In der Regel die ersten drei Oktette der MAC-Adresse des Geräts.
1A:2B:3C
UDP
Attribut Beschreibung Beispielwert
Sendeadresse Erforderlich. Ziel-IP-Adresse für den UDP-Broadcast. 255.255.255.255
Übertragungsport Erforderlich. Zielport für den UDP-Broadcast. 5555
Überwachungsport Erforderlich. Überwachungsport für die UDP-Erkennungsantwort. 5556
Discovery-Paket

Erforderlich. Im UDP-Broadcast zu sendende Nutzlast.

Als hexadezimal codierter String von Byte formatiert.
48454C4C4F

SYNC-Antwort in der Cloud-Ausführung aktualisieren

Die SYNC-Intent-Berichte Assistant, welche Geräte der Nutzer steuert und welche Funktionen er verwendet.

Die Local Home-Plattform prüft die SYNC-Antwort, um die lokale Ausführung zu unterstützen aus der Cloud-Auftragsausführung deines Smart Homes und versucht, IDs im Feld otherDeviceIds mit der Bestätigungs-ID, die vom IDENTIFY-Handler. Geräteeinträge ohne otherDeviceIds-Feld sind von der lokalen Auftragsausführung ausgeschlossen.

Im otherDeviceIds der SYNC-Antwort müssen Sie die Geräte-IDs für das Smart Home festlegen. Geräte, die lokal gesteuert werden können. Das Feld wird auf device-Ebene angezeigt in der Antwort angeben. Google kann einen lokalen Pfad für die Auftragsausführung auf jedem Gerät mit die angegebene ID.

Geben Sie im Feld customData zusätzliche Daten an, die Google benötigt, um Verbindung zu einem eigenständigen Gerät oder über einen Hub mit Endgeräten herstellen (z. B. die Portnummer und andere protokollspezifische Informationen).

Beispiel

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

<ph type="x-smartling-placeholder">
</ph>
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": "..."
      }
    }]
  }
}