Ś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ług wdrożonych w chmurze, aby poinformować Google o urządzeniu sterowanym lokalnie.
Konfigurowanie informacji o konfiguracji skanowania
Aby określić informacje o poszukowaniu:
Otwórz integrację Cloud-to-cloud w sekcji Google Home Developer Console:
Po lewej stronie ekranu kliknij Projekt > Zdjęcia z chmury do chmury, a następnie wybierz Edytuj dla integracji. Na stronie Konfiguracja i ustawienia przewiń do sekcji Realizacja lokalna i włącz to ustawienie. W każdym polu testowego adresu URL wpisz ten adres URL, wstaw identyfikator projektu i kliknij Zapisz:
https://<project-id>.web.app/local-home/index.html
Aby dodać nową konfigurację skanowania, w sekcji Wykrywanie urządzeń kliknij + Dodaj konfigurację skanowania.
W menu wybierz typ protokołu dopasowania skanowania i wpisz wartości, które Google ma skanować.
W tabeli poniżej znajdziesz atrybuty, które możesz dodać w zależności od protokołów, których Google ma użyć do skanowania urządzenia:
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 |
my-device-[0-9]{4}\._http\._tcp\.local |
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: Organizacyjnie unikalny identyfikator. 24-bitowa wartość identyfikująca producenta urządzenia. Zwykle są to pierwsze 3 oktety adresu MAC urządzenia. |
1A:2B:3C |
Atrybut | Opis | Przykładowa wartość |
---|---|---|
Adres Discovery | Wymagane. Docelowy adres IP dla transmisji UDP. | 255.255.255.255 |
Port nadawania | Wymagane. Port docelowy dla transmisji UDP. | 5555 |
Port nasłuchujący | Wymagane. Port nasłuchiwania odpowiedzi na zapytanie o usługę 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
informuje Asystenta, jakie urządzenia kontroluje użytkownik i jakie mają one możliwości.
Aby obsługiwać realizację lokalną, platforma Local Home sprawdza odpowiedź SYNC
z urządzenia z obsługą w chmurze i próbuje dopasować identyfikatory urządzenia w polu otherDeviceIds
do identyfikatora weryfikacyjnego zwróconego przez element 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 danym identyfikatorem.
W polu customData
możesz podać dodatkowe dane, których Google potrzebuje, aby połączyć się z samodzielnym urządzeniem, lub docelowe urządzenia końcowe za pomocą koncentratora (np. numer portu i inne informacje o protokołach).
Przykład
W tym fragmencie kodu pokazujemy, jak utworzyć element obsługi 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": "..." } }] } }