class

Matter::Device::LifecycleManager

Inherits Reference < Object

Wires fabric lifecycle events (commissioning/operational transitions) to:

  • mDNS advertisements
  • protocol session/subscription cleanup
  • OperationalCredentials trusted root restoration

The device/application can still hook into these events, but does not need to manually persist sessions/subscriptions or manage advertisement state.

Constants

Log = ::Log.for("matter.device.lifecycle")

Constructors

new(fabric_table : FabricTable, message_handler : Protocol::SessionManager, operational_credentials : Cluster::OperationalCredentialsCluster, responder : MDNS::ResponderInterface, commissioning_info : Proc(MDNS::CommissioningInfo), port : Int32 = 5540, operational_info_factory : Proc(Fabric, MDNS::OperationalInfo) | Nil = nil, fabric_session_cleanup_delay : Time::Span = 1.second)
Source

Instance methods

commissioned?
Source
install!

Installs cluster callbacks. Safe to call multiple times.

Source
mode
Source
on_commissioned

Called when transitioning from 0 -> 1 fabrics.

Source
on_commissioned=(on_commissioned : Proc(Fabric, Nil) | Nil)

Called when transitioning from 0 -> 1 fabrics.

Source
on_decommissioned

Called when transitioning from 1 -> 0 fabrics.

Source
on_decommissioned=(on_decommissioned : Proc(Nil) | Nil)

Called when transitioning from 1 -> 0 fabrics.

Source
on_fabric_added

Called for every fabric added.

Source
on_fabric_added=(on_fabric_added : Proc(Fabric, Nil) | Nil)

Called for every fabric added.

Source
on_fabric_removed

Called for every fabric removed.

Source
on_fabric_removed=(on_fabric_removed : Proc(UInt8, Nil) | Nil)

Called for every fabric removed.

Source
sync_advertisements

Ensures mDNS advertisements match current commissioned state.

Source

Nested types