Matter içindeki cihazların iyi tanımlanmış bir veri modeli (DM) vardır. Bu model, bir cihazın özelliklerinin hiyerarşik olarak modellenmesidir. Bu hiyerarşinin en üst düzeyinde bir Cihaz bulunur.
Cihazlar ve uç noktalar
Akıllı telefonlar ve ev asistanları da dahil olmak üzere tüm cihazlar düğümlerden oluşur1. Düğüm, bir ağda benzersiz şekilde tanımlanabilen ve adreslenebilen, kullanıcının işlevsel olarak bütün algılayabileceği bir kaynaktır. Matter içindeki ağ iletişimi bir düğümde başlar ve sonlanır.
Düğümler, bir uç nokta koleksiyonudur. Her uç nokta bir özellik kümesini kapsar. Örneğin, bir uç nokta aydınlatma işleviyle, başka bir uç nokta hareket algılama işleviyle, bir diğeri ise Cihaz OTA gibi yardımcı programlarla ilgili olabilir.

Düğüm rolleri
Düğüm rolü, ilgili davranışlar kümesidir. Her düğümün bir veya daha fazla rolü olabilir. Düğüm rolleri şunlardır:
- Delege: Devreye alma işlemini gerçekleştiren bir düğüm.
- Denetleyici: Bir veya daha fazla düğümü kontrol edebilen bir düğüm. Örnekler arasında Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen) yer alır. Açma/Kapama Işık Anahtarı gibi bazı cihaz türleri, Kontrol Cihazı rolüne sahiptir.
- Kontrol edilen: Bir veya daha fazla düğüm tarafından kontrol edilebilen düğüm. Açma/Kapama Işık Anahtarı gibi denetleyici rolüne sahip bazı cihaz türleri hariç çoğu cihaz türü, Kontrol Edilen Cihaz olabilir. Açma/Kapatma Işık Anahtarı yalnızca Denetleyici olabilir. Kontrol edilen taraf olamaz.
- OTA Sağlayıcı: OTA yazılım güncellemeleri sağlayabilen bir düğüm.
- OTA İstek Sahibi: OTA yazılım güncellemeleri isteyebilen bir düğüm.
Kümeler
Bir uç nokta içinde bir düğümün bir veya daha fazla kümesi vardır. Bunlar, cihaz hiyerarşisinde başka bir adımdır. Örneğin, akıllı bir prizdeki açma/kapama kümesi veya kısılabilir bir ışık uç noktasındaki seviye kontrolü kümesi gibi belirli işlevleri gruplandırır.
Bir düğümün, her biri aynı işlevselliğin bir örneğini oluşturan birkaç uç noktası da olabilir. Örneğin, bir ışık armatürü ayrı ayrı ışıkların bağımsız kontrolünü, bir uzatma kablosu ise ayrı ayrı prizlerin kontrolünü sunabilir.
Özellikler
Son düzeyde, düğümün tuttuğu durumlar olan Özellikler bulunur. Örneğin, seviye kontrolü kümesinin mevcut seviye özelliği. Özellikler; uint8, dizeler veya diziler gibi farklı veri türleri olarak tanımlanabilir.

Komutlar
Niteliklerin yanı sıra kümelerde, gerçekleştirilebilecek işlemler olan Komutlar da bulunur. Bunlar, Matter'ın DM'sindeki uzak prosedür çağrısına eşdeğerdir. Komutlar, fiil gibi olup Kapı Kilidi kümesinde kapıyı kilitle gibi bir komut verilir. Komutlar yanıtlar 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 geçmiş durum geçişlerinin kaydı olarak düşünülebilecek Etkinlikler de olabilir. Özellikler mevcut durumları temsil ederken etkinlikler geçmişin bir kaydıdır ve tekdüze artan bir sayaç, zaman damgası ve öncelik içerir. Durum geçişlerinin yakalanmasını ve özelliklerle kolayca elde edilemeyen veri modellemesini sağlarlar.

Endpoint 0, Utility Clusters (Yardımcı Program Kümeleri) için ayrılmıştır. Yardımcı program kümeleri bir uç noktadaki hizmet işlevlerini (ör. keşif, adresleme, teşhis ve yazılım güncelleme) kapsayan belirli kümelerdir. Diğer yandan, Uygulama Grupları, açma/kapama veya sıcaklık ölçümü gibi birincil işlemleri destekler.
Cihaz Türleri
Bir cihaz üreticisi yeni bir cihaz planlarken hangi küme kombinasyonları dahil edilmelidir?
Matter spesifikasyonu, cihazın bir veya daha fazla Cihaz Türü'nü uygulaması ya da genişletmesini gerektirir. Cihaz türü, Dim Edilebilir Işık, Kapı Kilidi veya Video Oynatıcı gibi fiziksel bir cihazın üst düzey özelliklerini tanımlayan zorunlu ve isteğe bağlı kümelerin bir koleksiyonudur.
Cihaz Türleri, Matter şartname ana dokümanında değil, eşlik eden bir dokümanda (Cihaz Kitaplığı) belirtilir. Benzer şekilde, tüm uygulama kümeleri Application Cluster Library'de tanımlanır. Bu üç belgeyi Connectivity Standards Alliance (Alliance)üye web sitesinde bulabilirsiniz.
Cihaz Türü uygulayan her Uç Nokta, bu Cihaz Türünü tanımlayan zorunlu Kümeleri uygulamalıdır. Uç nokta, zorunlu kümelerin yanı sıra Cihaz Türü'nün isteğe bağlı kümelerinden bir veya daha fazlası ya da Cihaz Türü'nün parçası olmayan kümeler de dahil olmak üzere ek kümeler uygulayabilir.
İstemciler ve Sunucular
Kümeler İstemci Kümesi veya Sunucu Kümesi olabilir. Sunucu durumlu olup Özellikler, Etkinlikler ve Komutlar içerirken İstemci durumsuz olup uzak bir Sunucu Kümesi ile Etkileşimler başlatmakla sorumludur. Bu nedenle, aşağıdaki işlemleri gerçekleştirir:
- Uzak özelliklerinden okur ve uzak özelliklerine yazar.
- Uzak etkinliklerinin okunması.
- invocation of its remote Commands.
DM, bir düğüm içinde hiyerarşik olsa da düğümler arasındaki ilişki hiyerarşik değildir. Matter içindeki düğümlerin dikey denetleyici/çevre birimi veya lider/takipçi ilişkileri yoktur. Aksine, ilişki yataydır: Herhangi bir küme Sunucu veya İstemci olabilir. Bu nedenle, bir düğüm farklı kümeler ve işlevler açısından hem sunucu hem de istemci olabilir.
Örneğin, A düğümü ve B düğümü olmak üzere iki masa lambamız olabilir. Her iki düğüm de Açma/Kapama Işığı Cihaz Türü'nü uygular. Bu Cihaz Türü, ilgili fiziksel ışık çıkışlarını kontrol eden bir Açma/Kapama Sunucusu kümesi içerir.
Ancak, normal masa lambalarında olduğu gibi fiziksel cihazlarımızda da yerel açma/kapama anahtarları için bir Açma/Kapama Işık Anahtarı Cihaz Türü bulunur. Bu Cihaz Türü, Sunucu Kümelerini kontrol edebilmesi için bir Açma/Kapama İstemcisi Kümesi uygulamalıdır.

Bu örnekte, A düğümündeki Açma/Kapama İstemci Kümesi, A ve B düğümlerindeki Açma/Kapama Sunucu Kümesi'nin özelliklerini değiştirirken B düğümünün İstemci Kümesi yalnızca B düğümündeki Sunucu Kümesi'ni değiştiriyor.
Bir sonraki bölümde, istemci ve sunucu kümelerinin nasıl etkileşimde bulunduğunu (Etkileşim Modeli) ayrıntılı olarak açıklayacağız.
Tanımlayıcı Kümesi
Adından da anlaşılacağı gibi, Descriptor Cluster Server, iç gözlem bilgileri sağlar. Uç noktayı açıklayarak aşağıdaki özelliklerini listeler:
- Sunucu kümeleri.
- Müşteri Kümeleri
- Cihaz türleri
- Parçalar olarak bilinen ek uç noktalar.
Her Cihaz Türü için Tanımlayıcı Kümeleri'nin uygulanması gerekir. Kök Cihaz Türü, Uç Nokta 0'da tanımlanır. Açıklama Kümesi'nin okunması, istemciye mevcut uç noktaların tam ağacını geçme ve geçerli işlemleri gerçekleştirme görünürlüğü sağlar.
Telefon veya hub gibi bir Komisyon Üyesi ya da Kontrol Cihazı, Cihazı (ışık, anahtar, pompa, termostat) ve Cihazın söz konusu örneği tarafından uygulanan belirli özellikleri modellemek için Tanımlayıcı Kümesinde bulunan bilgileri kullanabilir ve kullanıcıya doğru kullanıcı arayüzünü gösterebilir.
Sunucu Kümeleri
ServerList
özelliği, uç noktadaki küme sunucularını listeler.
Müşteri Kümeleri
ClientList
özelliği, uç noktadaki küme istemcilerini listeler.
Cihaz Türü Listesi
DeviceTypeList
özelliği, Endpoint tarafından desteklenen Cihaz Türlerinin ve ilgili düzeltmelerinin 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ın listesini içerir.
Uç nokta 0'ın (kök düğüm) PartsList
, cihazın kendisi (uç nokta 0) dışındaki tüm uç noktalarını içerir.
Diğer uç noktaların PartsList
genellikle boş olur. Örneğin, bir sıcaklık sensörü yalnızca sıcaklık ölçümü sunucusu kümesi gerektirir.
Diğer cihaz türleri, birden fazla DeviceType örneğinin ağaç yapısında oluşturulabilir. Örneğin, bir Video Oynatıcı Cihaz türü; TV, Video Oynatıcı, Hoparlör ve farklı İçerik Uygulaması Cihaz Türleri'nden oluşabilir. Bunların her biri farklı bir uç noktadadır.
-
Matter spesifikasyonu, bir Cihazın birden fazla Düğümü olabileceğini belirler. Örneğin, akıllı telefonlarda birden fazla uygulama olabilir ve her uygulama farklı bir düğümdür. Bu kılavuzda, tüm Cihazlar tek bir Düğüm içerir. Çoğu fiziksel cihazın bu modeli izlemesi beklenir. ↩