class
Matter::Cluster::NetworkCommissioningCluster
Overview
Network Commissioning Cluster (0x0031)
This cluster is used to configure network interfaces on Matter devices. It supports WiFi, Thread, and Ethernet network management.
Matter Specification: Core 1.4 ยง 11.8 - Network Commissioning Cluster
Commands:
- ScanNetworks (0x00): Scan for available networks
- AddOrUpdateWiFiNetwork (0x02): Add or update WiFi network configuration
- AddOrUpdateThreadNetwork (0x03): Add or update Thread network configuration
- RemoveNetwork (0x04): Remove a network from the Networks list
- ConnectNetwork (0x06): Connect to a configured network
- ReorderNetwork (0x08): Reorder network priority
Attributes:
- MaxNetworks (0x00): Maximum number of networks
- Networks (0x01): List of configured networks
- ScanMaxTimeSeconds (0x02): Maximum scan time
- ConnectMaxTimeSeconds (0x03): Maximum connect time
- InterfaceEnabled (0x04): Network interface enabled status
- LastNetworkingStatus (0x05): Status of last operation
- LastNetworkID (0x06): Network ID of last operation
- LastConnectErrorValue (0x07): Error value from last connect
Defined in:
matter/cluster/network_commissioning_cluster.crConstant Summary
-
ATTR_CONNECT_MAX_TIME_SECONDS =
3_u32 -
ATTR_INTERFACE_ENABLED =
4_u32 -
ATTR_LAST_CONNECT_ERROR_VALUE =
7_u32 -
ATTR_LAST_NETWORK_ID =
6_u32 -
ATTR_LAST_NETWORKING_STATUS =
5_u32 -
ATTR_MAX_NETWORKS =
0_u32 -
Attributes
-
ATTR_NETWORKS =
1_u32 -
ATTR_SCAN_MAX_TIME_SECONDS =
2_u32 -
ATTR_SUPPORTED_THREAD_FEATURES =
9_u32 -
ATTR_SUPPORTED_WIFI_BANDS =
8_u32 -
CLUSTER_ID =
49_u32 -
CMD_ADD_OR_UPDATE_THREAD_NETWORK =
3_u32 -
CMD_ADD_OR_UPDATE_WIFI_NETWORK =
2_u32 -
CMD_CONNECT_NETWORK =
6_u32 -
CMD_CONNECT_NETWORK_RESPONSE =
7_u32 -
CMD_NETWORK_CONFIG_RESPONSE =
5_u32 -
CMD_REMOVE_NETWORK =
4_u32 -
CMD_REORDER_NETWORK =
8_u32 -
CMD_SCAN_NETWORKS =
0_u32 -
Commands
-
CMD_SCAN_NETWORKS_RESPONSE =
1_u32
Constructors
- .new(endpoint_id : DataType::EndpointNumber = DataType::EndpointNumber.new(0_u16), network_type : NetworkType = NetworkType::WiFi, max_networks : UInt8 = 1_u8, feature_map : Feature = Feature::None, features : Feature | Nil = nil, scan_max_time_seconds : UInt8 = 30_u8, connect_max_time_seconds : UInt8 = 60_u8, backend : Network::Backend | Nil = nil)
-
.new(endpoint_id : DataType::EndpointNumber, network_type : NetworkType, feature : Feature)
Overload for tests that pass (endpoint_id, network_type, feature)
Class Method Summary
-
.cluster_id
Network Commissioning Cluster (0x0031)
Instance Method Summary
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#backend : Network::Backend | Nil
Platform backend for network operations (required)
-
#backend=(backend : Network::Backend | Nil)
Platform backend for network operations (required)
-
#breadcrumb_callback : Proc(UInt64, Nil) | Nil
Callback for breadcrumb updates
-
#breadcrumb_callback=(breadcrumb_callback : Proc(UInt64, Nil) | Nil)
Callback for breadcrumb updates
-
#commands : Array(CommandMetadata)
Get all command metadata
- #connect_max_time_seconds : UInt8
- #connect_max_time_seconds=(connect_max_time_seconds : UInt8)
-
#connected_network : NetworkInfo | Nil
Helper: Get current connected network
- #feature_map : Feature
- #feature_map=(feature_map : Feature)
-
#handle_add_or_update_thread_network(cmd : AddOrUpdateThreadNetworkRequest, failsafe_armed : Bool) : NetworkConfigResponse
AddOrUpdateThreadNetwork command (0x03)
-
#handle_add_or_update_wifi_network(cmd : AddOrUpdateWiFiNetworkRequest, failsafe_armed : Bool) : NetworkConfigResponse
AddOrUpdateWiFiNetwork command (0x02)
-
#handle_connect_network(cmd : ConnectNetworkRequest, failsafe_armed : Bool) : ConnectNetworkResponse
ConnectNetwork command (0x06)
-
#handle_remove_network(cmd : RemoveNetworkRequest, failsafe_armed : Bool) : NetworkConfigResponse
RemoveNetwork command (0x04)
-
#handle_reorder_network(cmd : ReorderNetworkRequest, failsafe_armed : Bool) : NetworkConfigResponse
ReorderNetwork command (0x08)
-
#handle_scan_networks(cmd : ScanNetworksRequest, failsafe_armed : Bool) : ScanNetworksResponse
ScanNetworks command (0x00)
-
#has_network?(network_id : Bytes) : Bool
Helper: Check if network exists
- #interface_enabled : Bool
- #interface_enabled=(interface_enabled : Bool)
- #last_connect_error_value : Int32 | Nil
- #last_connect_error_value=(last_connect_error_value : Int32 | Nil)
- #last_network_id : Bytes | Nil
- #last_network_id=(last_network_id : Bytes | Nil)
- #last_networking_status : NetworkCommissioningStatus | Nil
- #last_networking_status=(last_networking_status : NetworkCommissioningStatus | Nil)
- #max_networks : UInt8
- #max_networks=(max_networks : UInt8)
-
#name : String
Get cluster name
-
#network_type : NetworkType
Instance variables
-
#network_type=(network_type : NetworkType)
Instance variables
- #networks : Array(NetworkInfo)
- #networks=(networks : Array(NetworkInfo))
-
#read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes
Read an attribute value
-
#restore_network_state(state : Hash(String, String)) : Nil
Restore network state from snapshot (used during failsafe rollback)
- #scan_max_time_seconds : UInt8
- #scan_max_time_seconds=(scan_max_time_seconds : UInt8)
- #supported_thread_features : ThreadCapabilitiesBitmap | Nil
- #supported_thread_features=(supported_thread_features : ThreadCapabilitiesBitmap | Nil)
- #supported_wifi_bands : Array(WiFiBandEnum) | Nil
- #supported_wifi_bands=(supported_wifi_bands : Array(WiFiBandEnum) | Nil)
-
#thread_credentials : Hash(Bytes, Bytes)
Thread-specific
-
#thread_credentials=(thread_credentials : Hash(Bytes, Bytes))
Thread-specific
- #thread_version : UInt16 | Nil
- #thread_version=(thread_version : UInt16 | Nil)
-
#wifi_credentials : Hash(Bytes, Bytes)
WiFi-specific
-
#wifi_credentials=(wifi_credentials : Hash(Bytes, Bytes))
WiFi-specific
-
#write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
Write an attribute value
Instance methods inherited from class Matter::Cluster::Base
attributes : Array(AttributeMetadata)
attributes,
cluster_id : DataType::ClusterId
cluster_id,
cluster_id=(cluster_id : DataType::ClusterId)
cluster_id=,
commands : Array(CommandMetadata)
commands,
data_version : UInt32
data_version,
data_version=(data_version : UInt32)
data_version=,
endpoint_id : DataType::EndpointNumber
endpoint_id,
endpoint_id=(endpoint_id : DataType::EndpointNumber)
endpoint_id=,
events : Array(EventMetadata)
events,
get_attribute_metadata(attribute_id : UInt32) : AttributeMetadata | Nil
get_attribute_metadata,
get_command_metadata(command_id : UInt32) : CommandMetadata | Nil
get_command_metadata,
invoke_command(command_id : UInt32, fields : Bytes = Bytes.new(0), session_id : UInt64 | Nil = nil) : InteractionModel::Status | CommandResponse
invoke_command,
name : String
name,
read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes
read_attribute,
write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
write_attribute
Constructor methods inherited from class Matter::Cluster::Base
new(endpoint_id : DataType::EndpointNumber, cluster_id : DataType::ClusterId)
new
Constructor Detail
Overload for tests that pass (endpoint_id, network_type, feature)
Class Method Detail
Network Commissioning Cluster (0x0031)
This cluster is used to configure network interfaces on Matter devices. It supports WiFi, Thread, and Ethernet network management.
Matter Specification: Core 1.4 ยง 11.8 - Network Commissioning Cluster
Commands:
- ScanNetworks (0x00): Scan for available networks
- AddOrUpdateWiFiNetwork (0x02): Add or update WiFi network configuration
- AddOrUpdateThreadNetwork (0x03): Add or update Thread network configuration
- RemoveNetwork (0x04): Remove a network from the Networks list
- ConnectNetwork (0x06): Connect to a configured network
- ReorderNetwork (0x08): Reorder network priority
Attributes:
- MaxNetworks (0x00): Maximum number of networks
- Networks (0x01): List of configured networks
- ScanMaxTimeSeconds (0x02): Maximum scan time
- ConnectMaxTimeSeconds (0x03): Maximum connect time
- InterfaceEnabled (0x04): Network interface enabled status
- LastNetworkingStatus (0x05): Status of last operation
- LastNetworkID (0x06): Network ID of last operation
- LastConnectErrorValue (0x07): Error value from last connect
Instance Method Detail
Get all attribute metadata
Callback for breadcrumb updates
Get all command metadata
AddOrUpdateThreadNetwork command (0x03)
AddOrUpdateWiFiNetwork command (0x02)
ConnectNetwork command (0x06)
RemoveNetwork command (0x04)
ReorderNetwork command (0x08)
ScanNetworks command (0x00)
Read an attribute value
Restore network state from snapshot (used during failsafe rollback)
This method restores the network configuration to a previously captured state. It's called during failsafe rollback to undo any network configuration changes made during a failed commissioning session.
@param state Snapshot of network state (key-value pairs)
Write an attribute value