Obsługa wykrywania urządzeń

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

Aby umożliwić Google wykrycie Twojego urządzenia w sieci lokalnej i ustalenie lokalnej ścieżki realizacji zamówień, musisz dodać informacje o odkrywaniu w konsoli Actions. Musisz też zaktualizować odpowiedź SYNC z realizacji w chmurze, aby poinformować Google o urządzeniu, którym można sterować lokalnie.

Konfigurowanie 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 Działania.
  3. W sekcji Skonfiguruj lokalny pakiet SDK dla domu (opcjonalnie) > Dodaj konfigurację skanowania urządzeń kliknij Nowa konfiguracja skanowania.
  4. Wybierz z menu 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óre mają być używane przez Google do skanowania w poszukiwaniu Twojego urządzenia:

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

To pole jest wymagane. Użyj filtra, aby wyświetlić unikalną instancję 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 To pole jest wymagane. Pełny i jednoznaczny identyfikator usługi UPnP w formacie domain:service:type:version. schemas-upnp-org:service:SwitchPower:1
identyfikator OUI

Opcjonalnie. Unikalny identyfikator organizacji.

Wartość 24-bitowa 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 To pole jest wymagane. Docelowy adres IP dla transmisji UDP. 255.255.255.255
Port nadawania To pole jest wymagane. Port docelowy na potrzeby transmisji UDP. 5555
Port nasłuchu To pole jest wymagane. Port nasłuchiwania odpowiedzi wykrywania UDP. 5556
Pakiet wykrywania

To pole jest wymagane. Ładunek do wysłania w transmisji UDP.

Sformatowane jako zakodowany szesnastkowo ciąg bajtów.
48454C4C4F

Aktualizowanie odpowiedzi SYNC w realizacji w chmurze

Intencja SYNC informuje Asystenta o urządzeniach, którymi zarządza użytkownik, i o ich możliwościach.

Aby obsługiwać realizację lokalną, platforma Local Home sprawdza odpowiedź SYNC z realizacji w chmurze akcji inteligentnego domu i próbuje dopasować identyfikatory urządzeń w polu otherDeviceIds do identyfikatora weryfikacji zwróconego przez moduł obsługi IDENTIFY. Wpisy o urządzeniach bez pola otherDeviceIds są wykluczone z realizacji lokalnej.

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

W polu customData możesz określić wszelkie dodatkowe dane, które Google musi połączyć z samodzielnym urządzeniem lub kierować reklamy na urządzenia końcowe za pomocą centrali (na przykład numer portu i inne informacje związane z protokołem).

Przykład

Poniższy fragment pokazuje, jak możesz utworzyć moduł obsługi SYNC.

Niezależne/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": "..."
      }
    }]
  }
}