Lokalna ścieżka realizacji jest uzyskiwana, gdy Google połączy urządzenie, którym można sterować z urządzeniami, z urządzeniem zwróconym 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 dotyczące wykrywania w konsoli Actions.
Musisz też zaktualizować odpowiedź SYNC
po spełnieniu wymagań chmury, aby poinformować Google o urządzeniu, którym można sterować lokalnie.
Ustawianie informacji o konfiguracji skanowania
Aby określić informacje o wykrywaniu, wykonaj te czynności:
- Otwórz projekt inteligentnego domu w konsoli Actions.
- W panelu nawigacyjnym po lewej stronie kliknij Czynności.
- W sekcji Skonfiguruj lokalny pakiet SDK do użytku lokalnego (opcjonalnie) > Dodaj konfigurację skanowania urządzeń kliknij Nowa konfiguracja skanowania.
- 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ć, określone na podstawie protokołów, których Google ma używać do skanowania Twojego urządzenia:
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. Filtruj niepowtarzalną instancję usługi w formacie |
my-device-[0-9]{4}\._http\._tcp\.local |
Atrybut | Opis | Przykładowa wartość |
---|---|---|
Typ usługi |
Wymagany. Pełny identyfikator usługi UPnP w formacie domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
interfejs użytkownika |
Opcjonalnie. Unikalny identyfikator organizacji. Wartość 24-bitowa identyfikująca producenta urządzenia. Zwykle pierwsze trzy oktety adresu MAC urządzenia. |
1A:2B:3C |
Atrybut | Opis | Przykładowa wartość |
---|---|---|
Adres transmisji | Wymagany. Docelowy adres IP dla transmisji UDP. | 255.255.255.255 |
Port transmisji | Wymagany. Port docelowy dla transmisji UDP. | 5555 |
Port nasłuchiwania | Wymagany. Port nasłuchiwania odpowiedzi odpowiedzi Discovery. | 5556 |
Pakiet Discovery | Wymagany. Ładunek do wysłania w transmisji UDP. Formatowany jako szesnastkowy ciąg bajtów. |
48454C4C4F |
Zaktualizuj odpowiedź SYNC w ramach realizacji chmury
Intencja SYNC
przekazuje Asystentowi informacje o tym, jakie urządzenia kontroluje i jakie ma możliwości.
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
. Wpisy na urządzeniu bez pola otherDeviceIds
są wykluczone 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 zamówienia na dowolnym urządzeniu o podanym identyfikatorze.
Pole customData
pozwala określić dodatkowe dane, które Google musi połączyć z samodzielnym urządzeniem lub kierować treści na urządzenia końcowe za pomocą hubu (np. numer portu i inne informacje związane z protokołem).
Przykład
Fragment kodu poniżej pokazuje, jak utworzyć moduł obsługi żądania SYNC
.
{ "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": "..." } }] } }