Matter içindeki cihazlar, bir Cihaz özelliklerinin hiyerarşik modellemesi olan iyi tanımlanmış bir veri modeline (DM) sahiptir. Bu hiyerarşinin en üst seviyesinde Cihaz bulunur.
Cihazlar ve Uç Noktalar
Akıllı telefonlar ve ev asistanları dahil olmak üzere tüm cihazlar Düğümlerden1 oluşur. Düğüm, bir ağda kullanıcının işlevsel olarak bütün olarak algılayabileceği, tanımlanabilir ve adreslenebilir benzersiz bir kaynaktır. Matter içindeki ağ iletişimi bir Düğümde başlar ve sona erer.
Düğümler, Uç Noktalar koleksiyonudur. Her uç nokta, bir özellik grubu içerir. Örneğin bir uç nokta, aydınlatma işleviyle, bir diğeri ise hareket algılamayla, bir diğeri ise Cihaz OTA'sı gibi yardımcı programlar ile ilgili olabilir.
Düğüm rolleri
Düğüm rolü, ilgili davranışlardan oluşan bir gruptur. Her Düğümün bir veya daha fazla rolü olabilir. Düğüm rolleri şunlardır:
- Komisyoncu: Komisyon işlemi gerçekleştiren bir düğüm.
- Denetleyici: Bir veya daha fazla Düğümü kontrol edebilen bir düğüm. Örnek olarak Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen) verilebilir. Açık/Kapalı Işık Anahtarı gibi bazı cihaz türleri Denetleyici rolüne sahiptir.
- Controlee (Denetleyici): Bir veya daha fazla Düğüm tarafından kontrol edilebilen bir düğüm. Açma/Kapatma Işık Anahtarı gibi Denetleyici rolüne sahip bazı cihaz türleri dışında çoğu cihaz türü Denetleyici olabilir. Açma/kapatma anahtarı yalnızca bir kumanda olabilir. Denetleyici bir kişi olamaz.
- OTA Sağlayıcısı: OTA yazılım güncellemeleri sağlayabilen bir düğüm.
- OTA İsteği Sahibi: OTA yazılım güncellemeleri isteyebilen bir düğüm.
Kümeler
Uç nokta dahilindeki bir Düğüm, bir veya daha fazla Küme'ye sahiptir. Bunlar, akıllı prizdeki açma/kapatma kümesi veya kısılabilir bir ışık uç noktasında seviye kontrol kümesi gibi belirli işlevleri gruplandırdığından Cihaz hiyerarşisinde başka bir adımdır.
Bir düğümde aynı işlevin bir örneğini oluşturan birden fazla Uç Nokta da bulunabilir. Örneğin bir armatür, bağımsız ışıkların bağımsız kontrolünü açığa çıkarabilir veya bir elektrik prizi, ayrı ayrı soketlerin kontrolünü açığa çıkarabilir.
Özellikler
Son düzeyde, bir seviye kontrol kümesinin mevcut seviye özelliği gibi, düğümün sahip olduğu durumlar olan Özellikler'i buluruz. Özellikler uint8, dizeler veya diziler gibi farklı veri türleri olarak tanımlanabilir.
Komutlar
Kümelerde, Özellikler'in yanı sıra Komutlar da bulunur. Bunlar, gerçekleştirilebilecek işlemlerdir. Bunlar, bir uzak prosedür çağrısının Matter DM'sindeki eşdeğerdir. Komutlar fiil benzeridir. Örneğin, bir Kapı Kilidi kümesindeki kilit kapısı. Komutlar yanıt ve sonuçlar oluşturabilir. Matter içinde bu tür yanıtlar, ters yönde giden Komutlar olarak da tanımlanır.
Etkinlikler
Son olarak, Kümelerde Etkinlikler de bulunabilir. Bunlar, geçmiş durum geçişlerinin bir kaydı olarak düşünülebilir. Özellikler mevcut durumları temsil ederken etkinlikler geçmişin bir günlüğüdür ve monoton olarak artan bir sayaç, zaman damgası ve öncelik içerir. Bunlar, özellikler kullanılarak halihazırda gerçekleştirilemeyen veri modellemenin yanı sıra durum geçişlerinin yakalanmasını sağlar.
Uç Nokta 0, Yardımcı Program Kümeleri için ayrılmıştır. Yardımcı Hizmet Kümeleri; keşif, adresleme, teşhis ve yazılım güncelleme gibi hizmet işlevlerini bir uç nokta üzerinde içeren belirli kümelerdir. Uygulama Kümeleri ise açma/kapatma veya sıcaklık ölçümü gibi birincil işlemleri destekler.
Cihaz Türleri
Cihaz üreticisi yeni bir Cihaz planlarken toplamda hangi Küme kombinasyonları dahil edilmelidir?
Matter spesifikasyonu, cihazın bir veya daha fazla Cihaz Türü uygulamasını veya kapsamını genişletmesini gerektirir. Cihaz Türü, fiziksel bir cihazın üst düzey özelliklerini tanımlayan zorunlu ve isteğe bağlı bir kümedir (ör. Kısılabilir Işık, Kapı Kilidi veya Video Oynatıcı).
Cihaz Türleri, Matter spesifikasyonu ana dokümanında değil, beraberindeki bir doküman olan Cihaz Kitaplığı tarafından belirtilir. Benzer şekilde, tüm Uygulama Kümeleri Uygulama Kümesi Kitaplığı'nda tanımlanır. Bu üç belgeyi Connectivity Standards Alliance (Alliance) üye web sitesinde bulabilirsiniz.
Bir Cihaz Türünü uygulayan her Uç Nokta, söz konusu Cihaz Türünü tanımlayan zorunlu Kümeleri uygulamalıdır. Zorunlu Kümelere ek olarak Uç Nokta, Cihaz Türüne ait isteğe bağlı kümelerden biri veya birkaçı ya da Cihaz Türüne dahil olmayan Kümeler de dahil olmak üzere ek Kümeler uygulayabilir.
İstemciler ve Sunucular
Kümeler, bir İstemci Kümesi veya Sunucu Kümesi olabilir. Bir Sunucu durum bilgili olup Özellikler, Etkinlikler ve Komutları bulundursa da İstemci durum bilgisizdir ve sorumluluğu bir Uzak Sunucu Kümesi ile Etkileşimler başlatarak aşağıdaki işlemleri gerçekleştirir:
- okuma ve bunlara yazma işlemlerini gerçekleştirir.
- okur.
- çağrısı olabilir.
DM, Düğüm içinde hiyerarşik olsa da Düğümler arasındaki ilişki aynı değildir. Matter içindeki düğümlerin dikey denetleyici/çevre birimi veya lider/takipçi ilişkisi yok. Tersine, ilişki yataydır: Herhangi bir Küme, Sunucu veya İstemci olabilir. Dolayısıyla bir Düğüm, farklı Kümeler ve işlevler açısından hem Sunucu hem de İstemci olabilir.
Örneğin, iki masa lambamız olabilir: Düğüm A ve Düğüm B. Her iki düğüm de bir Açık/Kapalı Işık Cihaz Türü uygular. Bu Cihaz Türü, ilgili fiziksel ışık çıkışlarını kontrol eden bir Açık/Kapalı Sunucu Kümesi içerir.
Ancak tipik masa lambalarında olduğu gibi fiziksel cihazlarımızda yerel açma/kapatma anahtarları için bir Açma/Kapatma Işık Anahtarı Cihaz Türü de bulunur. Bu Cihaz Türü'nün Sunucu Kümelerini kontrol edebilmesi için Açık/Kapalı İstemci Kümesi uygulamalıdır.
Bu örnekte, A Düğümündeki Açık/Kapalı İstemci Kümesi; A Düğümü ve B Düğümü'ndeki Açık/Kapalı Sunucu Kümesinin özelliklerini değiştirirken B Düğümünün İstemci Kümesi yalnızca Düğüm B'deki Sunucu Kümesini değiştirmektedir.
Bir sonraki bölümde İstemci ve Sunucu Kümelerinin nasıl etkileşimde bulunduğunu açıklayacağız: Etkileşim Modeli.
Açıklayıcı Kümesi
Adından da anlaşılacağı gibi, Descriptor Cluster Server, içgözlem bilgilerini sağlar. Aşağıdaki bilgileri içeren uç nokta açıklanır:
- Sunucu Kümeleri.
- İstemci Kümeleri.
- Cihaz Türleri.
- "Bölümler" olarak bilinen ek uç noktalar.
Her Cihaz Türü, Açıklayıcı Kümelerinin uygulanmasını gerektirir. Kök Cihaz Türü, Uç Nokta 0'da tanımlanır. Açıklayıcı Kümesini okumak, istemciye kullanılabilir Uç Noktalar ağacının tamamını çekme ve geçerli işlemleri gerçekleştirme görünürlüğü sağlar.
Yetkili cihaz veya telefon ya da merkez gibi bir denetleyici cihaz, cihazı (lamba, anahtar, pompa, termostat) ve cihazın o örneğindeki belirli özellikleri modellemek ve böylece kullanıcıya doğru kullanıcı arayüzünü göstermek için Açıklayıcı Kümesi'nde bulunan bilgileri kullanabilir.
Sunucu Kümeleri
ServerList özelliği, Uç Noktadaki Küme Sunucularını listeler.
İstemci Kümeleri
ClientList özelliği, Uç Noktadaki Küme İstemcilerini listeler.
Cihaz Türü Listesi
DeviceTypeList Özelliği, Uç Nokta tarafından desteklenen Cihaz Türlerinin ve ilgili düzeltmelerin listesidir. En az bir Cihaz Türü içermelidir.
Parça Listesi
PartsList, bu Cihaz Türünü uygulamak için kullanılan Uç Noktalar listesini içerir.
Uç Nokta 0'ın
PartsList (Kök Düğüm), kendisinden farklı olarak cihazın tüm Uç Noktalarını içerir (Uç nokta 0).
Diğer uç noktaların
PartsList değeri genellikle boş olur. Örneğin, bir Sıcaklık Sensörü bir Sıcaklık Ölçüm Sunucusu Kümesi zorunlu kılar ancak başka bir zorunluluk yapmaz.
Diğer cihaz türleri, birden fazla Cihaz Türü örneğinden oluşan bir ağaç yapısında oluşturulabilir. Örneğin, Video Oynatıcı Cihaz türü TV, Video Oynatıcı, Hoparlör ve her biri farklı bir Uç Noktada bulunan farklı İçerik Uygulama Cihazı Türlerinden oluşabilir.
-
Matter spesifikasyonu bir Cihazın birden fazla Düğümü olabileceğini belirler. Örneğin, akıllı telefonlarda her uygulama farklı bir Düğüm olan birden çok uygulama olabilir. Bu birincil politikanın amaçları doğrultusunda tüm Cihazlar tek bir Düğüm içerir. Çoğu fiziksel cihazın bu kalıbı takip etmesi beklenir. ↩