Cihaz keşfini destekleme

Google, yerel olarak kontrol edilebilir bir cihazı bulut karşılamanızdan gelen SYNC yanıtında döndürülen cihazla eşleştirdiğinde yerel istek karşılama yolu oluşturulur.

Google'ın cihazınızı yerel ağda keşfetmesini ve yerel sipariş karşılama yolunu oluşturmasını sağlamak için Actions konsoluna keşif bilgilerini eklemeniz gerekir. Ayrıca, Google'a yerel olarak kontrol edilebilir cihazı bildirmek için bulut istek karşılamanızdan SYNC yanıtını da güncellemeniz gerekir.

Tarama yapılandırması bilgilerini ayarlayın

Keşif bilgilerini belirtmek için şu adımları uygulayın:

  1. Actions konsolunda akıllı ev projenizi açın.
  2. Sol gezinme menüsünde İşlemler'i tıklayın.
  3. Yerel ev SDK'sını yapılandır (isteğe bağlı) > Cihaz tarama yapılandırması ekle bölümünde Yeni tarama yapılandırması'nı tıklayın.
  4. Açılır menüden bir tarama eşleştirme protokolü türü seçin ve Google'ın taraması için değerler girin.

Aşağıdaki tablolarda, Google'ın cihazınızı taramak için kullanmasını istediğiniz protokollere bağlı olarak ekleyebileceğiniz özellikler gösterilmektedir:

mDNS
Ö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. instance.service.domain biçiminde benzersiz bir hizmet örneği için filtre uygulayın.

Platform, bu değeri normal ifade olarak değerlendirir ve eşleşen tüm cihazları döndürür.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
Özellik Açıklama Örnek Değer
Hizmet Türü Zorunlu. UPnP hizmetinin domain:service:type:version biçimindeki tam nitelikli tanımlayıcısı. schemas-upnp-org:service:SwitchPower:1
OUI

İsteğe bağlı. Kuruluş Olarak Benzersiz Tanımlayıcı.

Cihaz üreticisini tanımlayan 24 bit değer. Genellikle cihaz MAC adresinin ilk üç sekizlisidir.
1A:2B:3C
UDP
Özellik Açıklama Örnek Değer
Yayın Adresi Zorunlu. UDP yayını için hedef IP adresi. 255.255.255.255
Yayın Bağlantı Noktası Zorunlu. UDP yayını için hedef bağlantı noktası. 5555
Dinleme Bağlantı Noktası Zorunlu. UDP keşif yanıtı için bağlantı noktasını dinleme. 5556
Keşif Paketi

Zorunlu. UDP yayınında gönderilecek yük.

Baytlardan oluşan on altılı kodlanmış dize olarak biçimlendirilmiş.
48454C4C4F

Bulut istek karşılamadaki SENKRONİZASYON yanıtını güncelleme

SYNC amacı, kullanıcının kontrol ettiği cihazları ve bunların özelliklerini Asistan'a bildirir.

Yerel Home platformu, yerel sipariş karşılamayı desteklemek için akıllı ev İşleminizin bulut istek karşılamasından SYNC yanıtını kontrol eder ve otherDeviceIds alanındaki cihaz kimliklerini IDENTIFY işleyici tarafından döndürülen doğrulama kimliğiyle eşleştirmeye çalışır. otherDeviceIds alanı olmayan cihaz girişleri yerel istek karşılamanın dışında tutulur.

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ıtın device düzeyinde görünür. Google, verilen kimliğe sahip herhangi bir cihazda yerel bir sipariş karşılama yolu oluşturabilir.

Google'ın bağımsız bir cihaza bağlanması veya son cihazları bir merkez aracılığıyla hedeflemek için ihtiyaç duyduğu ek verileri (örneğin, bağlantı noktası numarası ve protokole özgü diğer bilgiler) belirtmek için customData alanını kullanın.

Örnek

Aşağıdaki snippet'te SYNC işleyicinizi nasıl oluşturabileceğiniz gösterilmektedir.

Bağımsız/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": "..."
      }
    }]
  }
}