Obsługa wykrywania urządzeń

Lokalna ścieżka realizacji jest tworzona, gdy Google dopasowuje urządzenie kontrolowane lokalnie do urządzenia zwróconego w odpowiedzi SYNC z Twojej realizacji w chmurze.

Aby umożliwić Google wykrycie Twojego urządzenia w sieci lokalnej i ustalenie lokalnej ścieżki realizacji, musisz dodać informacje o odkrywaniu w konsoli Actions. Musisz też zaktualizować odpowiedź SYNC z Twojej realizacji w chmurze, aby poinformować Google o urządzeniu lokalnym.

Ustawianie informacji o konfiguracji skanowania

Aby określić informacje o odkrywaniu, wykonaj te czynności:

  1. Otwórz projekt inteligentnego domu w konsoli Actions.
  2. W menu po lewej stronie kliknij Czynności.
  3. W sekcji Skonfiguruj lokalny pakiet SDK lokalnego (opcjonalne) > Dodaj konfigurację skanowania urządzeń kliknij Nowa konfiguracja skanowania.
  4. Wybierz z menu odpowiedni typ protokołu skanowania i wpisz wartości, które Google ma przeskanować.

W tabelach poniżej znajdziesz atrybuty, które możesz dodać, w zależności od protokołów, których Google ma używać do skanowania urządzenia:

mDNS
Atrybut Opis Przykładowa wartość
Nazwa usługi Wymagany. Nazwa usługi opublikowana przez urządzenie w formacie service.domain. _http._tcp.local
Nazwa

Wymagany. Ustaw filtr unikalnej instancji usługi w formacie instance.service.domain.

Platforma traktuje tę wartość jako wyrażenie regularne i zwraca wszystkie pasujące urządzenia.
my-device-[0-9]{4}\._http\._tcp\.local
UPNP
Atrybut Opis Przykładowa wartość
Typ usługi Wymagany. Pełny i jednoznaczny identyfikator usługi UPnP w formacie domain:service:type:version. schemas-upnp-org:service:SwitchPower:1
UI

Opcjonalnie. Unikalny identyfikator organizacyjny.

Wartość 24-bitowa identyfikująca producenta urządzenia. Zwykle pierwsze 3 oktety adresu MAC urządzenia.
1A:2B:3C
UDP
Atrybut Opis Przykładowa wartość
Adres transmisji Wymagany. Docelowy adres IP dla transmisji UDP. 255.255.255.255
Port transmisji Wymagany. Port docelowy transmisji UDP. 5555
Port nasłuchiwania Wymagany. Port nasłuchiwania odpowiedzi wykrywania UDP. 5556
Pakiet Discovery

Wymagany. Ładunek do wysłania w transmisji UDP.

Sformatowany w postaci szesnastkowej ciągu bajtów.
48454C4C4F

Aktualizowanie odpowiedzi SYNC w realizacji w chmurze

Intencja SYNC przekazuje Asystentowi informacje o tym, jakie urządzenia kontroluje i jakie ma uprawnienia.

Aby umożliwić realizację lokalną, platforma lokalna sprawdza odpowiedź SYNC z realizacji w chmurze Smart Action i próbuje dopasować identyfikatory urządzeń w polu otherDeviceIds do identyfikatora weryfikacji zwróconego przez moduł obsługi IDENTIFY. Pozycje urządzenia bez pola otherDeviceIds są wykluczane z lokalnej realizacji.

W polu otherDeviceIds w odpowiedzi SYNC musisz ustawić identyfikatory inteligentnych urządzeń domowych, którymi można sterować lokalnie. Pole jest widoczne w odpowiedzi na poziomie device. Google może utworzyć lokalną ścieżkę realizacji na każdym urządzeniu o podanym identyfikatorze.

W polu customData określ dodatkowe dane, które Google ma połączyć z samodzielnym urządzeniem, albo ustaw kierowanie na urządzenia końcowe za pomocą huba (np. numer portu i inne informacje związane z protokołem).

Przykład

Ten fragment kodu pokazuje, jak utworzyć moduł obsługi SYNC.

Samodzielne/centrum
{
  "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": "..."
      }
    }]
  }
}