İşlemleri Okuma

İşlem Okuma

Matter içindeki düğümlerle etkileşimde bulunurken ilk kullanım alanlarından biri, başka bir düğümden (ör. bir sensörden alınan sıcaklık değeri) özellik okumaktır. Bu tür etkileşimlerde gerçekleştirilmesi gereken ilk işlem, okuma isteği işlemidir.

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

Okuma İsteği İşlemi

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

Bu işlemde Başlatan, bir Hedef'e aşağıdaki bilgileri sağlayarak sorgu gönderir:

  • Özellik İstekleri: Hedefin sıfır veya daha fazla özelliğinin listesi. Bu liste, hedefin istenen özelliklerine giden sıfır veya daha fazla yoldan oluşur.
  • Etkinlik İstekleri: Hedefin istenen Etkinliklerine giden sıfır veya daha fazla Yolun listesi.

Hedef, Okuma İsteği İşlemi'ni aldıktan sonra istenen bilgileri içeren bir Rapor Veri İşlemi oluşturur.

Rapor Verileri İşlemi

Yön: Hedef -> Başlatan

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

  • Özellik Raporları: Okuma İşlemi İsteği'nde istenen, bildirilen özelliklerin sıfır veya daha fazla öğeden oluşan listesi.
  • Etkinlik Raporları: Sıfır veya daha fazla bildirilen Etkinliğin listesi.
  • Suppress Response: Bu işleme yönelik status response'un bastırılıp bastırılmayacağını belirleyen bir işaret.
  • Abonelik kimliği: Bu rapor bir abonelik işlemi kapsamında oluşturuluyorsa abonelik işlemini tanımlamak için kullanılan bir tam sayı içermelidir.

Durum Yanıtı İşlemi

Yön: Hedef -> Başlatan veya Başlatan -> Hedef

Başlatan taraf, istenen verileri aldıktan sonra varsayılan olarak bir Durum Yanıtı İşlemi oluşturmalıdır. Bu işlem, bildirilen verilerin alındığını onaylayan Başlatan tarafından gönderilir. Suppress Status Response işareti ayarlanmışsa Başlatan, Status Response Action'ı göndermemelidir.

Durum Yanıtı İşlemi Başlatan tarafından gönderildikten veya Başlatan tarafından Yanıtı Engelleme işareti etkinleştirilmiş bir Rapor Verileri İşlemi alındıktan sonra okuma/rapor sorgusu tamamlanır.

Durum yanıtı işlemi, yalnızca status alanını içerir. Bu alan, işlemin başarılı olduğunu onaylar veya bir hata kodu sunar.

Okuma Kısıtlamaları

Okuma İsteği İşlemi ve Rapor Verileri İşlemi yalnızca Unicast için geçerlidir. Ayrıca, bu isteklerin yolları bir düğüm grubunu hedeflemeyebilir.

Durum yanıtı işlemi yalnızca Unicast'dır ve grup yayınına yanıt olarak oluşturulamaz.

Abonelik İşlemi

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

Abone Olma İsteği İşlemi

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

Başlatan, tek bir Okuma İsteği İşlemi'ne ek olarak bir Özellik veya Etkinlik'in periyodik güncellemelerine de abone olabilir. Bu nedenle, abonelik işlemi sonrasında yapılan düzenli veri güncellemeleri sonucunda aynı rapor verileri işlemi oluşturulabilir.

Abonelik Etkileşimi, iki Düğüm arasında bir ilişki oluşturur. Bu ilişkide Hedef, Başlatıcı için düzenli olarak Rapor Verisi İşlemleri oluşturur. Başlatan taraf Abone, hedef ise Yayıncı'dır.

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

  • Minimum aralık tabanı: Raporlar arasındaki minimum aralık.
  • Maksimum Aralık Sınırı: Raporlar arasındaki maksimum aralık.
  • Özellik Raporları: Okuma İşlemi İsteği'nde istenen, bildirilen özelliklerin sıfır veya daha fazla öğeden oluşan listesi.
  • Etkinlik Raporları: Sıfır veya daha fazla sayıda bildirilen Etkinliğin listesi.

Hedef, abone olma isteğinden sonra ilk raporlanan veri grubunu (Primed Published Data) içeren bir Report Data Action ile Başlatıcı'ya yanıt verir.

Başlatan, Rapor Verileri İşlemi'ni İşlem Hedefe Gönderildi Durum Yanıtı ile onaylar. Hedef, hata içermeyen bir Durum Yanıtı İşlemi aldıktan sonra Abone Olma Yanıtı İşlemi gönderir.

Hedef daha sonra, üzerinde anlaşmaya varılan aralıkta düzenli olarak Rapor Verisi İşlemi 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şlatan

Bu, abonelik işlemiyle ilgili son eylemdir ve süreci tamamlar. Şunları içermektedir:

  • Abonelik kimliği: Aboneliği tanımlayan bir tam sayı.
  • Min Interval: Raporlar arasındaki nihai, belirlenmiş minimum aralık.
  • Maksimum aralık: Raporlar arasındaki nihai, belirlenmiş maksimum aralık.

Abonelik Kısıtlamaları

  • Abone Olma İsteği İşlemi ve Abone Olma Yanıtı İşlemi yalnızca Unicast işlemleridir.
  • Bir abonelik etkileşimindeki tüm rapor verisi işlemlerinin aynı abonelik kimliğine sahip olması gerekir.
  • Abone, İşlemler arasındaki maksimum anlaşmalı aralık içinde bir Rapor Verisi İşlemi almazsa abonelik feshedilir.
  • Önceki kuralın bir sonucu olarak Yayıncı, yalnızca periyodik Rapor Verileri İşlemleri göndermeyi durdurarak bir Abonelik Etkileşimi'ni sonlandırabilir.
  • Abone, bir INACTIVE_SUBSCRIPTION durum koduyla Veri İşleme Raporu'na yanıt vererek Abonelik Etkileşimi'ni sonlandırabilir.