Ein Pfad für die lokale Ausführung wird festgelegt, wenn Google ein lokal steuerbares Gerät einem Gerät zuordnet, das in der SYNC
-Antwort von Ihrer Cloud-Auftragsausführung zurückgegeben wird.
Damit Google dein Gerät im lokalen Netzwerk erkennen und den lokalen Auftragsausführungspfad ermitteln kann, musst du in der Actions Console Informationen zur Erkennung hinzufügen.
Sie müssen auch die SYNC
-Antwort aus Ihrer Cloud-Auftragsausführung aktualisieren, um Google über das lokal steuerbare Gerät zu informieren.
Informationen zur Scankonfiguration einrichten
So geben Sie die Informationen zur Auffindbarkeit an:
- Öffnen Sie Ihr Smart-Home-Projekt in der Actions Console.
- Klicken Sie in der linken Navigationsleiste auf Aktionen.
- Klicken Sie unter Local Home SDK konfigurieren (optional) > Gerätescankonfiguration hinzufügen auf Neue Scankonfiguration.
- Wählen Sie im Drop-down-Menü einen Protokollabgleichstyp aus und geben Sie Werte ein, die von Google gescannt werden sollen.
In den folgenden Tabellen sind die Attribute aufgeführt, die Sie basierend auf den Protokollen hinzufügen können, die Google zum Scannen auf Ihrem Gerät verwenden soll:
Attribut | Beschreibung | Beispielwert |
---|---|---|
Dienstname |
Erforderlich. Vom Gerät veröffentlichter Dienstname im Format service.domain .
|
_http._tcp.local |
Name |
Erforderlich. Nach einer eindeutigen Dienstinstanz im Format |
my-device-[0-9]{4}\._http\._tcp\.local |
Attribut | Beschreibung | Beispielwert |
---|---|---|
Diensttyp |
Erforderlich. Voll qualifizierte Kennung des UPnP-Dienstes im Format domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
UI |
Optional. Organisatorische eindeutige Kennung. 24-Bit-Wert zur Identifizierung des Geräteherstellers. Normalerweise die ersten drei Oktetts der MAC-Adresse des Geräts. |
1A:2B:3C |
Attribut | Beschreibung | Beispielwert |
---|---|---|
Übertragungsadresse | Erforderlich. Ziel-IP-Adresse für die UDP-Übertragung | 255.255.255.255 |
Übertragungsport | Erforderlich. Zielport für die UDP-Übertragung. | 5555 |
Port erfassen | Erforderlich. Port für die UDP-Discovery-Antwort beobachten. | 5556 |
Discovery-Paket | Erforderlich. Nutzlast, die in der UDP-Übertragung gesendet werden soll. Formatiert als hexadezimal codierter String aus Byte. |
48454C4C4F |
SYNC-Antwort in der Cloud-Auftragsausführung aktualisieren
Der Intent SYNC
meldet Assistant, welche Geräte der Nutzer steuert und welche Funktionen er hat.
Zur Unterstützung der lokalen Auftragsausführung prüft die lokale Startseite die SYNC
Antwort der Cloud-Auftragsausführung Ihrer Smart-Home-Aktion und versucht, die Geräte-IDs im Feld otherDeviceIds
mit der vom Handler zurückgegebenen IDENTIFY
-ID abzugleichen. Geräteeinträge ohne das Feld otherDeviceIds
sind von der lokalen Auftragsausführung ausgeschlossen.
Im Feld otherDeviceIds
der SYNC
-Antwort müssen Sie die Geräte-IDs von Smart-Home-Geräten festlegen, die lokal gesteuert werden können. Das Feld wird in der Antwort auf der Ebene device
angezeigt. Google kann einen lokalen Auftragsausführungspfad auf jedem Gerät mit der angegebenen ID einrichten.
Verwenden Sie das Feld customData
, um alle zusätzlichen Daten anzugeben, die Google benötigt, um eine Verbindung zu einem eigenständigen Gerät herzustellen, oder um das Targeting auf Endgeräte über einen Hub festzulegen (z. B. die Portnummer und andere protokollspezifische Informationen).
Beispiel
Das folgende Snippet zeigt, wie du deinen SYNC
-Handler erstellen kannst.
{ "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": "..." } }] } }