İşlemleri Okuma

İşlem Okuma

Matter üzerindeki Düğümlerle etkileşimde bulunurken ilk kullanım alanlarından biri, başka bir Düğümden bir Özelliğin (ör. bir sensörden gelen sıcaklık değeri) okunmasıdır. Bu tür Etkileşimlerde gerçekleştirilmesi gereken ilk İşlem, Okuma İsteği İşlemi'dir.

Okuma İşleminin işlem sırası
Şekil 1: Okuma İşlemi

İstek İşlemini Okuma

Yön: Başlatan -> Hedef

Bu İşlemde Başlatan, şunları sağlayan bir Hedef sorgular:

  • Özellik İstekleri: Hedefin Özelliklerinden sıfır veya daha fazlasını içeren bir liste. Bu liste, Hedefin istenen Özelliklere giden bir veya daha fazla Yoldan oluşur.
  • Etkinlik İstekleri: Hedefin istediği Etkinliklere giden sıfır veya daha fazla Yolun listesi.

Okuma İsteği İşlemi Hedef tarafından alındıktan sonra, istenen bilgileri içeren bir Rapor Veri İşlemi derlenir.

Rapor Verileri İşlemi

Yön: Hedef -> Başlatıcı

Bu işlemde hedef şu şekilde yanıt verir:

  • Özellik Raporları: Okuma İşlemi İsteği'nde istenen bildirilen Özelliklerin sıfır veya daha fazlasının bir listesi.
  • Etkinlik Raporları: Sıfır veya daha fazla raporlanan Etkinlik'in listesi.
  • Yanıtı Engelle: Bu işleme yönelik durum yanıtının engellenip atlanmayacağını belirleyen bir işaret.
  • Abonelik kimliği: Bu rapor bir abonelik işleminin parçasıysa abonelik işlemini tanımlamak için kullanılan bir tam sayı içermelidir.

Durum Yanıtı İşlemi

Yön: Hedef -> Başlatıcı veya Başlatıcı -> Hedef

Başlatıcı istenen verileri aldıktan sonra, varsayılan olarak bir Durum Yanıtı İşlemi oluşturmalıdır. Bu işlem, raporlanan verilerin alındığını onaylayan Başlatıcı tarafından gönderilir. Durum Yanıtını Engelleme işareti ayarlandıysa Başlatan, Durum Yanıtı İşlemini göndermemelidir.

Durum Yanıtı İşlemi Başlatıcı tarafından gönderildikten veya Yanıtı Engelleme işareti etkin halde Başlatıcı tarafından Rapor Verisi İşlemi alındıktan sonra okuma/rapor sorgusu tamamlanır.

Durum Yanıt İşlemi yalnızca işlemin başarılı olduğunu onaylayacak veya bir hata kodu gösterecek durum alanı içerir.

Okuma Kısıtlamaları

Okuma İsteği ve Rapor Verileri İşlemi yalnızca Unicast. Dahası, bu isteklerin Yolları bir Düğüm Grubunu hedeflemeyebilir.

Durum Yanıtı İşlemi yalnızca Unicast amaçlıdır ve bir grup yayınına yanıt olarak oluşturulamaz.

Abonelik İşlemi

Abonelik İşleminin işlem sırası
Şekil 2: Abonelik İşlemi

Abone Olma İsteği İşlemi

Yön: Başlatan -> Hedef

Tek bir Okuma İsteği İşlemine ek olarak, Başlatıcı bir Özellik veya Etkinliğin düzenli güncellemelerine de abone olabilir. Dolayısıyla, bir Abonelik İşlemi'ni izleyen periyodik veri güncellemelerinin sonucunda aynı Rapor Verisi İşlemi oluşturulabilir.

Abonelik Etkileşimi, iki Düğüm arasında bir ilişki oluşturur. Bu ilişkide Hedef, düzenli aralıklarla Veri İşlemlerini Başlatıcı'ya Rapor eder. Başlatan Abone, Hedef ise Yayıncı'dır.

Abone olma isteği işlemi şunları içerir:

  • Min Aralık Tabanı: Raporlar arasındaki minimum aralık.
  • Maksimum Aralıklı Tavan: Raporlar arasındaki maksimum aralık.
  • Özellik Raporları: Okuma İşlemi İsteği'nde istenen bildirilen Özelliklerin sıfır veya daha fazlasının yer aldığı bir liste.
  • Etkinlik Raporları: sıfır veya daha fazla bildirilen Etkinlik içeren liste.

Abone Olma İsteğinden sonra Hedef, Başlatıcı'ya raporlanan ilk veri grubunu (Primed Yayınlanan Veriler) içeren bir Rapor Veri İşlemi ile yanıt verir.

Daha sonra Başlatıcı, Hedefe gönderilen bir Durum Yanıtı İşlemi ile Rapor Veri İşlemini onaylar. Hedef, hata bildirmeyen bir Durum Yanıtı İşlemi aldığında, bir Abone Ol Yanıt İşlemi gönderir.

Hedef, daha sonra müzakere edilen aralıkta düzenli olarak Rapor Verisi İşlemini gönderir ve Başlatıcı, abonelik kaybedilene veya iptal edilene kadar bu İşlemlere yanıt verir.

Abone Olma Yanıt İşlemi

Yön: Hedef -> Başlatıcı

Bu, Abonelik İşlemi'ndeki son İşlemdir ve süreci tamamlar. Şunları içermektedir:

  • Abonelik kimliği: Aboneliği tanımlayan bir tam sayı.
  • Min Aralık: Raporlar arasındaki nihai, belirlenen minimum aralık.
  • Max Interval (Maksimum Aralık): Raporlar arasındaki nihai, belirlenen maksimum aralık.

Abonelik Kısıtlamaları

  • Abone Olma İsteği İşlemi ve Abone Olma Yanıt İşlemi yalnızca Unicast işlemidir.
  • Abonelik Etkileşimindeki tüm Rapor Verisi İşlemleri aynı Abonelik Kimliğine sahip olmalıdır.
  • Abone, İşlemler arasında kararlaştırılan maksimum aralık dahilinde bir Rapor Verileri İşlemi'ni almazsa abonelik feshedilir.
  • Önceki kuralın sonucu olarak Yayıncı, düzenli Rapor Verisi İşlemleri göndermeyi durdurarak Abonelik Etkileşimini feshedebilir.
  • Abone, Rapor Veri İşlemine INACTIVE_SUBSCRIPTION durum koduyla yanıt vererek Abonelik Etkileşimini sonlandırabilir.