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:
- Öffnen Sie Ihr Smart-Home-Projekt in der Actions Console.
- Klicken Sie im linken Navigationsbereich auf Aktionen.
- Klicken Sie unter Lokales Home SDK konfigurieren (optional) > Geräte-Scankonfiguration hinzufügen auf Neue Scankonfiguration.
- Wählen Sie einen Scan-Übereinstimmungsprotokolltyp aus der Drop-down-Liste aus und geben Sie Werte ein, die von Google gescannt werden sollen.
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:
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 |
my-device-[0-9]{4}\._http\._tcp\.local |
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. Eindeutige Kennung der Organisation. 24-Bit-Wert, der den Gerätehersteller identifiziert. In der Regel die ersten drei Oktette der MAC-Adresse des Geräts. |
1A:2B:3C |
Attribut | Beschreibung | Beispielwert |
---|---|---|
Sendeadresse | Erforderlich. Ziel-IP-Adresse für den UDP-Broadcast. | 255.255.255.255 |
Broadcast-Port | 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-Ausführung aktualisieren
Der SYNC
-Intent meldet Assistant, welche Geräte der Nutzer steuert und welche Funktionen er hat.
Zur Unterstützung der lokalen Ausführung prüft die Local Home-Plattform die SYNC
-Antwort aus der Cloud-Ausführung 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 das Feld otherDeviceIds
werden von der lokalen Auftragsausführung 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.
{ "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": "..." } }] } }