Yerel Ev SDK'sı, akıllı ev niyetlerini yönlendirmek için yerel bir sipariş karşılama yolu ekleyerek Google Asistan ile akıllı ev entegrasyonunuzu iyileştirir.
SDK, akıllı ev iş mantığınızı içeren TypeScript veya JavaScript kullanarak yerel bir sipariş karşılama uygulaması yazmanıza olanak tanır. Google Home veya Google Nest cihazlar, uygulamanızı cihazda yükleyip çalıştırabilir. Uygulamanız, mevcut protokoller üzerinden kullanıcı komutlarını yerine getirmek için yerel bir ağda (LAN) kablosuz ağ üzerinden mevcut akıllı cihazlarınızla doğrudan iletişim kurar.
SDK'nın entegrasyonu, daha düşük gecikme ve daha yüksek güvenilirlik dahil olmak üzere akıllı ev İşleminizde performans iyileştirmeleri sağlar. Yerel karşılama, ikincil kullanıcı doğrulaması kullananlar hariç tüm cihaz türleri ve cihaz özellikleri için desteklenir.
Derlemeye başlayın Örneği deneyin
İşleyiş şeklini öğrenin
Bulutta karşılama durumunuzdan SYNC
yanıtı aldıktan sonra Yerel Ev platformu, Asistan'a bağlı akıllı cihazları keşfetmek için mDNS, UDP yayını veya UPnP'yi kullanarak kullanıcının yerel alan ağını tarar.
Platform, IDENTIFY
yanıtındaki cihaz kimliğini önceki SYNC
yanıtı tarafından döndürülen cihazlarla karşılaştırarak cihazın yerel olarak kontrol edilebilir olup olmadığını belirlemek için IDENTIFY
amacı gönderir. Algılanan cihaz bir çoğaltıcı veya köprü ise platform, bir REACHABLE_DEVICES
amacı gönderir ve merkezi, yerel olarak iletişim kurmak için proxy cihaz olarak değerlendirir.
Platform, yerel cihazı onaylayan bir yanıt aldığında kullanıcının Google Home veya Google Nest cihazına yerel bir sipariş karşılama yolu oluşturur, ardından kullanıcı komutlarını yerel sipariş karşılama için yönlendirir.
Kullanıcı, yerel sipariş karşılama yolu bulunan bir akıllı ev İşlemini tetiklediğinde Asistan, buluta sipariş yerine Google Home veya Google Nest cihazına EXECUTE
niyetini veya QUERY
amacını gönderir. Ardından cihaz, isteği işlemek için yerel sipariş karşılama uygulamasını çalıştırır.

Yerel Home platformu, komutu tetikleyecek Google Home veya Google Nest cihazını seçme konusunda belirleyici değildir. EXECUTE
ve QUERY
amaçları, hedef cihazla aynı Home Graph yapısında tanımlanan herhangi bir Google Home veya Google Nest cihazından gelebilir.
Yerel sipariş karşılama uygulaması
Yerel sipariş karşılama uygulaması, Yerel Ev platformunun gönderdiği amaçları işlemek ve akıllı cihazınıza yerel alan ağı üzerinden erişmek için iş mantığını içerir. Donanımınızda, yerel sipariş karşılamayla ilgili herhangi bir değişiklik yapılması beklenmez. Uygulama; HTTP, TCP veya UDP dahil olmak üzere, uygulama katmanı protokolleri üzerinden akıllı cihaza kontrol komutları göndererek akıllı ev İşlemi isteklerini yerine getirir. Yerel sipariş karşılama yolunun başarısız olması durumunda yedek bulut yürütme yolu olarak bulut üzerinden sipariş karşılama seçeneği kullanılır.
Yerel Ev SDK'sı, uygulamanın oluşturulmasını desteklemek için şu iki ana sınıfı sağlar:
DeviceManager
: TCP, UDP soketleri veya HTTP istekleri kullanarak akıllı cihazlarla iletişim kurmak için yöntemler sağlar.App
: Google'ın, yerel olarak kontrol edilebilir cihazları (IDENTIFY
,REACHABLE_DEVICES
) keşfettikten sonra gönderdiği amaçlar için işleyiciler ekleme yöntemleri sunar. Bu sınıf, kullanıcı komutlarını da (EXECUTE
) yerine getirir ve mevcut cihaz durumundaki (QUERY
) kullanıcı sorgularını yanıtlar.
Geliştirme sırasında, uygulamayı kendi barındırma sunucunuza veya yerel geliştirme makinenize yükleyerek derleyip test edebilirsiniz. Üretimde Google, uygulamanızı kullanıcının Google Home veya Google Nest cihazında güvenli bir JavaScript korumalı alanında barındırır.
Report State API'si şu anda yerel sipariş karşılama için desteklenmemektedir. Google, bu istekleri işlemek için bulut karşılamanıza güvenir.
Uygulama yaşam döngüsü
Yerel Ana Sayfa platformu, proje tarama yapılandırmasıyla eşleşen yeni yerel cihazlar bulduğunda veya daha önce tespit edilen bir cihazla ilgili bekleyen istekler olduğunda yerel sipariş karşılama uygulamanız isteğe bağlı olarak yüklenir.
Google Home veya Google Nest cihazlar bellekle sınırlandırılmıştır ve sistemdeki bellek baskısı nedeniyle yerel sipariş karşılama uygulamanız herhangi bir zamanda sonlandırılabilir. Uygulamanız çok fazla bellek tüketmeye başlarsa veya sistemin başka bir uygulamaya yer açması gerekiyorsa bu durum yaşanabilir. Yerel Ev platformu, yalnızca yayınlanacak yeni amaçlar ve uygulamanın çalışması için yeterli bellek kaynağı olduğunda uygulamanızı yeniden başlatır.
Boşta kalma zaman aşımının ardından, kullanıcı
hesabının bağlantısını kaldırdığında veya kullanıcının agentUserId
ile ilişkilendirilmiş yerel
karşılamayı destekleyen bir cihaz olmadığında Yerel Home platformu uygulamanızın yüklemesini kaldırır.
Desteklenen cihaz sayısı
Yerel Home platformu, desteklenen Google Home veya Google Nest cihazlarda yerel sipariş karşılama uygulamanızı çalıştırır. Aşağıdaki tabloda, desteklenen cihazlar ve her bir cihazda kullanılan çalışma zamanı açıklanmaktadır. Çalışma zamanı gereksinimleri hakkında daha fazla bilgi edinmek için Yürütme ortamı'nı inceleyin.
Cihaz | Tür | Ortam |
---|---|---|
Google Home | Hoparlör | Chrome |
Google Home Mini | Hoparlör | Chrome |
Google Home Max | Hoparlör | Chrome |
Nest Mini | Hoparlör | Chrome |
Nest Hub | Ekran | Chrome |
Nest Hub Max | Ekran | Chrome |
Nest Wifi | Yönlendirici | Node.js |
Nokta | Chrome |
Yürütme ortamı
Yerel sipariş karşılama uygulamanızın yürütme ortamı cihazınıza bağlıdır. Yerel Ev platformu aşağıdaki çalışma zamanı ortamlarını destekler:
- Chrome: Yerel sipariş karşılama uygulamanız, Chrome M80 veya sonraki bir sürümü çalıştıran ECMAScript sürümü ES2018 ile birlikte
window
Chrome tarayıcısı bağlamında yürütülür. - Node.js: Yerel sipariş karşılama uygulamanız, Node v10.x LTS komutunu çalıştıran veya daha sonra ECMAScript sürüm ES2018 destekli bir Node.js işlemi içinde komut dosyası olarak yürütülür.
Kaynak kodu yapısı
Yerel Ev SDK'sı tarafından sağlanan paketleyici yapılandırmalarını kullanarak bağımlılarınızı tek bir JavaScript dosyasında paketlemenizi ve kaynak kodunuzu Hemen çağrılan İşlev İfadesi (IIFE) olarak paketlemenizi öneririz.
Uygulama yolu
Akıllı ev entegrasyonunuzda Yerel Ev SDK'sını kullanmak için aşağıdaki görevleri gerçekleştirmeniz gerekir:
1 | Tarama yapılandırmasını ayarlayın | Actions Console'u, Asistan'ın yerel olarak kontrol edilen cihazları keşfetmesi için gereken parametrelerle yapılandırın. |
2 | Bulut karşılamanızdaki SYNC yanıtını güncelleme | Bulut istek karşılama işleminizde, platformun yerel bir karşılama yolu oluşturmak için kullandığı
otherDeviceIds alanını desteklemek amacıyla SYNC istek işleyicisini değiştirin. Bu alanda, yerel olarak kontrol edilebilen cihazların kimliklerini belirtin.
|
3 | Yerel sipariş karşılama uygulamasını uygulayın | IDENTIFY ,
EXECUTE ve
QUERY amaçlarına yönelik bir JavaScript uygulaması oluşturmak için Yerel Ev SDK'sını kullanın. Hub veya köprü proxy cihazları için REACHABLE_DEVICES amacını da işlemeniz gerekir.
|
4 | Uygulamanızı test etme ve hata ayıklama | Google Home Test Paketi'ni kullanarak entegrasyonunuzu (veya içerik üretici onayı) test edin. |
Başlamadan önce
- Akıllı ev işlemi oluşturma ile ilgili temel bilgileri öğrenin.
- Actions Console konsolunda mevcut bir akıllı ev projeniz olduğundan ve hesap bağlamanın yapılandırılmış olduğundan emin olun.
- Actions konsolunda ve test cihazınızda Asistan'da aynı Google Hesabı ile giriş yaptığınızdan emin olun.
- Uygulamanızı yazmak için Node.js ortamına ihtiyacınız vardır. Node.js ve npm'yi yüklemek için Düğüm Sürümü Yöneticisi önerilir.
- Yerel Ev SDK'sının en son sürümüyle çalışmak için test cihazlarınızı Cast Önizleme Programı'na kaydetmeniz gerekir.