class Matter::MDNS::Scanner

Overview

mDNS Scanner for discovering Matter devices

Handles:

Defined in:

matter/mdns/scanner.cr

Constant Summary

MDNS_IPV4 = Socket::IPAddress.new("224.0.0.251", MDNS_PORT)
MDNS_IPV6 = Socket::IPAddress.new("ff02::fb", MDNS_PORT)
MDNS_PORT = 5353

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def close : Nil #

Close scanner


[View source]
def commissioning_devices : Array(DiscoveredDevice) #

Get commissioning devices


[View source]
def devices : Array(DiscoveredDevice) #

Get all discovered devices


[View source]
def get_device(instance_name : String) : DiscoveredDevice | Nil #

Get device by instance name


[View source]
def on_device_discovered : Proc(DiscoveredDevice, Nil) | Nil #

Callback for discovered devices Signature: (device : DiscoveredDevice) -> Nil


[View source]
def on_device_discovered=(on_device_discovered : Proc(DiscoveredDevice, Nil) | Nil) #

Callback for discovered devices Signature: (device : DiscoveredDevice) -> Nil


[View source]
def on_device_removed : Proc(String, Nil) | Nil #

Callback for device removal (goodbye or expired) Signature: (instance_name : String) -> Nil


[View source]
def on_device_removed=(on_device_removed : Proc(String, Nil) | Nil) #

Callback for device removal (goodbye or expired) Signature: (instance_name : String) -> Nil


[View source]
def on_device_updated : Proc(DiscoveredDevice, Nil) | Nil #

Callback for device updates Signature: (device : DiscoveredDevice) -> Nil


[View source]
def on_device_updated=(on_device_updated : Proc(DiscoveredDevice, Nil) | Nil) #

Callback for device updates Signature: (device : DiscoveredDevice) -> Nil


[View source]
def operational_devices : Array(DiscoveredDevice) #

Get operational devices


[View source]
def query_commissioning : Nil #

Query for commissioning devices


[View source]
def query_operational : Nil #

Query for operational devices


[View source]
def start : Nil #

Start listening for mDNS announcements


[View source]
def stop : Nil #

Stop listening


[View source]