struct Matter::MDNS::CommissionableServiceDescription

Overview

Service description for a commissionable Matter device

Contains all information needed to advertise the device via mDNS

Defined in:

matter/mdns/service_description.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(name : String, device_type : UInt32, vendor_id : UInt16, product_id : UInt16, discriminator : UInt16, mode : Matter::MDNS::CommissioningMode, pairing_hint : Matter::MDNS::PairingHint | Nil = nil, pairing_instructions : Nil | String = nil, session_idle_interval_ms : UInt32 | Nil = nil, session_active_interval_ms : UInt32 | Nil = nil, session_active_threshold_ms : UInt16 | Nil = nil, tcp_supported : Bool = false, icd_operating_mode : UInt8 | Nil = nil) #

[View source]

Instance Method Detail

def device_type : UInt32 #

Device type (DT field) - e.g., 1 for Light, 2 for Switch


[View source]
def device_type=(device_type : UInt32) #

Device type (DT field) - e.g., 1 for Light, 2 for Switch


[View source]
def discriminator : UInt16 #

Discriminator (D field) - 12-bit value (0-4095)


[View source]
def discriminator=(discriminator : UInt16) #

Discriminator (D field) - 12-bit value (0-4095)


[View source]
def icd_operating_mode : UInt8 | Nil #

ICD (Intermittently Connected Device) operating mode - optional


[View source]
def icd_operating_mode=(icd_operating_mode : UInt8 | Nil) #

ICD (Intermittently Connected Device) operating mode - optional


[View source]
def long_discriminator : UInt16 #

Get long discriminator (full 12-bit value)


[View source]
def mode : CommissioningMode #

Commissioning mode (CM field)


[View source]
def mode=(mode : CommissioningMode) #

Commissioning mode (CM field)


[View source]
def name : String #

Device name (DN field)


[View source]
def name=(name : String) #

Device name (DN field)


[View source]
def pairing_hint : PairingHint | Nil #

Pairing hint (PH field) - optional


[View source]
def pairing_hint=(pairing_hint : PairingHint | Nil) #

Pairing hint (PH field) - optional


[View source]
def pairing_instructions : String | Nil #

Pairing instructions (PI field) - optional, required if PH has certain bits


[View source]
def pairing_instructions=(pairing_instructions : String | Nil) #

Pairing instructions (PI field) - optional, required if PH has certain bits


[View source]
def product_id : UInt16 #

Product ID (part of VP field)


[View source]
def product_id=(product_id : UInt16) #

Product ID (part of VP field)


[View source]
def session_active_interval_ms : UInt32 | Nil #

Session Active Interval in milliseconds (SAI field) - optional


[View source]
def session_active_interval_ms=(session_active_interval_ms : UInt32 | Nil) #

Session Active Interval in milliseconds (SAI field) - optional


[View source]
def session_active_threshold_ms : UInt16 | Nil #

Session Active Threshold in milliseconds (SAT field) - optional


[View source]
def session_active_threshold_ms=(session_active_threshold_ms : UInt16 | Nil) #

Session Active Threshold in milliseconds (SAT field) - optional


[View source]
def session_idle_interval_ms : UInt32 | Nil #

Session Idle Interval in milliseconds (SII field) - optional


[View source]
def session_idle_interval_ms=(session_idle_interval_ms : UInt32 | Nil) #

Session Idle Interval in milliseconds (SII field) - optional


[View source]
def short_discriminator : UInt8 #

Get short discriminator (upper 4 bits of 12-bit discriminator)


[View source]
def tcp_supported : Bool #

TCP support (T field) - optional


[View source]
def tcp_supported=(tcp_supported : Bool) #

TCP support (T field) - optional


[View source]
def vendor_id : UInt16 #

Vendor ID (part of VP field)


[View source]
def vendor_id=(vendor_id : UInt16) #

Vendor ID (part of VP field)


[View source]
def vendor_product : String #

Generate VP field value (vendor+product ID)


[View source]