Obsługa wykrywania urządzeń

Ścieżka lokalnego przetwarzania jest ustalana, gdy Google dopasuje urządzenie z kontrolą lokalną do urządzenia zwróconego w odpowiedzi SYNC z Twojego przetwarzania w chmurze.

Aby umożliwić Google wykrywanie Twojego urządzenia w sieci lokalnej i ustalenie lokalnego sposobu realizacji, musisz dodać informacje o wykrywalności w konsoli Actions. Musisz też zaktualizować odpowiedź SYNC z usługi w chmurze, aby powiadomić Google o urządzeniu sterowanym lokalnie.

Konfigurowanie informacji o konfiguracji skanowania

Aby określić informacje o poszukowaniu:

  1. Otwórz projekt inteligentnego domu w konsoli Actions.
  2. W panelu użytkownika po lewej stronie kliknij Działania.
  3. W sekcji Skonfiguruj lokalny SDK domowego (opcjonalnie) > Dodaj konfigurację skanowania urządzenia kliknij Nowa konfiguracja skanowania.
  4. W menu wybierz typ protokołu dopasowania skanowania i wpisz wartości, które Google ma skanować.

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 w poszukiwaniu Twojego urządzenia:

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

Wymagane. Filtruj według unikalnej instancji usługi w formacie instance.service.domain.

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

Opcjonalnie: Unikalny identyfikator organizacji.

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

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

Sformatowany jako szesnastkowy ciąg bajtów.
48454C4C4F

Aktualizowanie odpowiedzi SYNC w wypełnianiu w chmurze

Intencja SYNC przekazuje Asystentowi informacje, którymi urządzeniami steruje użytkownik i jakie ma możliwości.

Aby obsługiwać realizację lokalną, platforma Local Home sprawdza odpowiedź SYNC z realizacji w chmurze działania inteligentnego domu i próbuje dopasować identyfikatory urządzeń w polu otherDeviceIds do identyfikatora weryfikacyjnego zwróconego przez moduł obsługi IDENTIFY. Wpisy urządzeń bez pola otherDeviceIds są wykluczane z wypełniania lokalnego.

W polu SYNC odpowiedzi SYNC musisz podać identyfikatory urządzeń inteligentnego domu, którymi można sterować lokalnie.otherDeviceIds Pole to pojawia się na poziomie device w odpowiedzi. Google może ustalić lokalną ścieżkę realizacji na dowolnym urządzeniu z podanym identyfikatorem.

W polu customData możesz podać dodatkowe dane, których Google potrzebuje, aby połączyć się z samodzielnym urządzeniem lub kierować reklamy na urządzenia końcowe za pomocą koncentratora (np. numer portu i inne informacje oparte na protokole).

Przykład

W tym fragmencie kodu pokazujemy, jak utworzyć element obsługi SYNC.

Samodzielny/centralny
{
  "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": "..."
      }
    }]
  }
}