class

Matter::MDNS::Scanner

Inherits Reference < Object

mDNS Scanner for discovering Matter devices

Handles:

  • Listening to all mDNS traffic
  • Maintaining device discovery table
  • Processing unsolicited announcements
  • Sending queries for specific services

Constants

Log = ::Log.for("matter.mdns.scanner")
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 methods

close

Close scanner

Source
commissioning_devices

Get commissioning devices

Source
devices

Get all discovered devices

Source
get_device(instance_name : String) : DiscoveredDevice | Nil

Get device by instance name

Source
on_device_discovered

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

Source
on_device_discovered=(on_device_discovered : Proc(DiscoveredDevice, Nil) | Nil)

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

Source
on_device_removed

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

Source
on_device_removed=(on_device_removed : Proc(String, Nil) | Nil)

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

Source
on_device_updated

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

Source
on_device_updated=(on_device_updated : Proc(DiscoveredDevice, Nil) | Nil)

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

Source
operational_devices

Get operational devices

Source
query_commissioning

Query for commissioning devices

Source
query_operational

Query for operational devices

Source
start

Start listening for mDNS announcements

Source
stop

Stop listening

Source