Cihaz keşfini destekleme

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 yerine getirme 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:

  1. Actions Console'da akıllı ev projenizi açın.
  2. Sol gezinme menüsünde İşlemler'i tıklayın.
  3. Yerel ana sayfa SDK'sını yapılandırın (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ğ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:

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 filtreleme

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 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
UDP
Özellik Açıklama Örnek Değer
Yayın 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

Cloud fulfillment'da 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 karşılama işlemini desteklemek için Yerel Ev platformu, akıllı ev İşleminizin bulut karşılama işleminden 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 üzerinden 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.

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": "..."
      }
    }]
  }
}