Google, yerel olarak kontrol edilebilir bir cihazı bulut sipariş tamamlamanızdan gelen SYNC
yanıtında döndürülen bir cihazla eşleştirdiğinde yerel sipariş tamamlama yolu oluşturulur.
Google'ın cihazınızı yerel ağda keşfetmesini ve yerel sipariş tamamlama yolunu oluşturmasını sağlamak için Actions konsoluna keşif bilgileri eklemeniz gerekir.
Ayrıca, Google'a yerel olarak kontrol edilebilir cihaz hakkında bilgi vermek için bulut karşılama işleminizden gelen SYNC
yanıtını da güncellemeniz gerekir.
Tarama yapılandırması bilgilerini ayarlama
Keşif bilgilerini belirtmek için aşağıdaki adımları uygulayın:
Google Home Developer Console'da Cloud-to-cloud entegrasyonunuza gidin:
Ekranın sol tarafında Proje > Buluttan buluta'ya gidin, ardından entegrasyon için Düzenle'yi seçin. Kurulum ve yapılandırma sayfasında Yerel sipariş tamamlama'ya gidin ve ayarı etkinleştirin. Her test URL alanına aşağıdaki URL'yi girin, proje kimliğinizi ekleyin ve Kaydet'i tıklayın:
https://<project-id>.web.app/local-home/index.html
Yeni bir tarama yapılandırması eklemek için Cihaz bulma bölümünde + Tarama yapılandırması ekle'yi tıklayın.
Açılır menüden bir tarama eşleştirme protokolü türü seçin ve Google'ın taraması için değerleri girin.
Aşağıdaki tablolarda, Google'ın cihazınızı taramak için kullanmasını istediğiniz protokollere göre ekleyebileceğiniz özellikler gösterilmektedir:
Özellik | Açıklama | Örnek Değer |
---|---|---|
Hizmet Adı |
Zorunlu. Cihaz tarafından service.domain biçiminde yayınlanan hizmet adı.
|
_http._tcp.local |
Ad |
Zorunlu. |
my-device-[0-9]{4}\._http\._tcp\.local |
Özellik | Açıklama | Örnek Değer |
---|---|---|
Hizmet Türü |
Zorunlu. UPnP hizmetinin tam nitelikli tanımlayıcısı (domain:service:type:version biçiminde).
|
schemas-upnp-org:service:SwitchPower:1 |
OUI |
İsteğe bağlı. Kuruluş Benzersiz Tanımlayıcısı. Cihaz üreticisini tanımlayan 24 bitlik değer. Genellikle cihaz MAC adresinin ilk üç okteti. |
1A:2B:3C |
Özellik | Açıklama | Örnek Değer |
---|---|---|
Discovery Adresi | Zorunlu. UDP yayınının hedef IP adresi. | 255.255.255.255 |
Yayın Bağlantı Noktası | Zorunlu. UDP yayınının hedef bağlantı noktası. | 5555 |
Dinleme Bağlantı Noktası | Zorunlu. UDP keşif yanıtı için dinleme bağlantı noktası. | 5556 |
Keşif Paketi | Zorunlu. UDP yayınında gönderilecek yük. Onaltılık kodlanmış bir bayt dizesi olarak biçimlendirilir. |
48454C4C4F |
Buluttan sipariş tamamlama işleminde SYNC yanıtını güncelleme
SYNC
intent'i, kullanıcının hangi cihazları kontrol ettiğini ve bu cihazların özelliklerini Asistan'a bildirir.
Yerel yerine getirmeyi desteklemek için yerel Home platformu, akıllı ev işleminizin bulut yerine getirme özelliğinden gelen SYNC
yanıtını kontrol eder ve otherDeviceIds
alanındaki cihaz kimliklerini IDENTIFY
işleyicisi tarafından döndürülen doğrulama kimliğiyle eşleştirmeye çalışır. otherDeviceIds
alanı olmayan cihaz girişleri yerel sipariş karşılama işlemine dahil edilmez.
SYNC
yanıtının otherDeviceIds
alanında, yerel olarak kontrol edilebilen akıllı ev cihazlarının cihaz kimliklerini ayarlamanız gerekir. Alan, yanıtta device
seviyesinde görünür. Google, belirtilen kimliğe sahip herhangi bir cihazda yerel bir sipariş tamamlama yolu oluşturabilir.
Google'ın bağımsız bir cihaza bağlanmak veya bir hub kullanarak son cihazları hedeflemek için ihtiyaç duyduğu ek verileri (ör. bağlantı noktası numarası ve protokole özgü diğer bilgiler) belirtmek üzere customData
alanını kullanın.
Örnek
Aşağıdaki snippet'te, SYNC
işleyicinizi nasıl oluşturabileceğiniz gösterilmektedir.
{ "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": "..." } }] } }