abstract class Matter::Device::Base

Overview

Base class for Matter device applications.

Provides:

Subclasses typically implement:

Defined in:

matter/device/base.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(ip_addresses : Array(Socket::IPAddress) | Nil = nil, port : Int32 = 5540, hostname : String | Nil = nil) #

[View source]

Instance Method Detail

def access_control : Cluster::AccessControlCluster #

[View source]

[View source]
abstract def device_name : String #

Required device identity


[View source]
abstract def discriminator : UInt16 #

[View source]
def fabric_table : FabricTable #

[View source]
def general_commissioning : Cluster::GeneralCommissioningCluster #

[View source]
def hardware_version : UInt16 #

[View source]
def hardware_version_string : String #

[View source]
def hostname : String #

[View source]
def ip_addresses : Array(Socket::IPAddress) #

[View source]
def lifecycle : LifecycleManager #

[View source]
def message_handler : Protocol::MessageHandler #

[View source]
def operational_credentials : Cluster::OperationalCredentialsCluster #

[View source]
def port : Int32 #

[View source]
abstract def primary_device_type_id : UInt16 #

[View source]

[View source]
abstract def product_id : UInt16 #

[View source]
def product_name : String #

[View source]
def responder : MDNS::Responder #

[View source]
def serial_number : String | Nil #

[View source]
abstract def setup_pin : UInt32 #

[View source]
def software_version : UInt32 #

[View source]
def software_version_string : String #

[View source]
def start : Nil #

Starts mDNS and UDP transport and syncs advertisements for the current fabric set.


[View source]
def stop : Nil #

[View source]
def storage_manager : Storage::Manager #

[View source]
def transport : Transport::UDPTransport #

[View source]
def unique_id : String | Nil #

[View source]
def update_hostname(hostname : String) : Nil #

Updates the default commissioning target hostname used for mDNS advertisements. This is useful for platforms that rotate link-layer identifiers or for hosting multiple virtual devices in one executable.


[View source]
abstract def vendor_id : UInt16 #

[View source]
def vendor_name : String #

Optional identity / BasicInformation fields


[View source]