class
Matter::Cluster::NetworkCommissioningCluster
Overview
Network Commissioning Cluster (0x0031)
Functionality to configure a network interface on a Matter device. Supports WiFi, Thread, and Ethernet network types.
Matter Spec: Core 11.8
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
Instance Method Summary
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#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)
-
#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
Attribute storage
-
#max_networks=(max_networks : UInt8)
Attribute storage
-
#name : String
Get cluster name
- #network_type : NetworkType
- #network_type=(network_type : NetworkType)
- #networks : Array(NetworkInfo)
- #networks=(networks : Array(NetworkInfo))
- #on_add_network : Proc(Bytes, Bytes, NetworkCommissioningStatus) | Nil
- #on_add_network=(on_add_network : Proc(Bytes, Bytes, NetworkCommissioningStatus) | Nil)
- #on_connect_network : Proc(Bytes, Tuple(NetworkCommissioningStatus, Int32 | Nil)) | Nil
- #on_connect_network=(on_connect_network : Proc(Bytes, Tuple(NetworkCommissioningStatus, Int32 | Nil)) | Nil)
- #on_remove_network : Proc(Bytes, NetworkCommissioningStatus) | Nil
- #on_remove_network=(on_remove_network : Proc(Bytes, NetworkCommissioningStatus) | Nil)
-
#on_scan_networks : Proc(NetworkType, Bytes | Nil, Array(WiFiInterfaceScanResult | ThreadInterfaceScanResult)) | Nil
Callbacks
-
#on_scan_networks=(on_scan_networks : Proc(NetworkType, Bytes | Nil, Array(WiFiInterfaceScanResult | ThreadInterfaceScanResult)) | Nil)
Callbacks
-
#read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes
Read an attribute value
- #scan_max_time_seconds : UInt8
- #scan_max_time_seconds=(scan_max_time_seconds : UInt8)
- #supported_thread_features : UInt16
- #supported_thread_features=(supported_thread_features : UInt16)
- #supported_wifi_bands : Array(UInt8)
- #supported_wifi_bands=(supported_wifi_bands : Array(UInt8))
-
#thread_credentials : Hash(Bytes, Bytes)
Thread-specific
-
#thread_credentials=(thread_credentials : Hash(Bytes, Bytes))
Thread-specific
-
#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)) : InteractionModel::Status | Bytes
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
def self.new(endpoint_id : DataType::EndpointNumber, network_type : NetworkType, feature_map : Feature = Feature::None)
#
Instance Method Detail
def attributes : Array(AttributeMetadata)
#
Description copied from class Matter::Cluster::Base
Get all attribute metadata
def commands : Array(CommandMetadata)
#
Description copied from class Matter::Cluster::Base
Get all command metadata
def last_networking_status=(last_networking_status : NetworkCommissioningStatus | Nil)
#
def on_add_network=(on_add_network : Proc(Bytes, Bytes, NetworkCommissioningStatus) | Nil)
#
def on_connect_network : Proc(Bytes, Tuple(NetworkCommissioningStatus, Int32 | Nil)) | Nil
#
def on_connect_network=(on_connect_network : Proc(Bytes, Tuple(NetworkCommissioningStatus, Int32 | Nil)) | Nil)
#
def on_remove_network=(on_remove_network : Proc(Bytes, NetworkCommissioningStatus) | Nil)
#
def on_scan_networks : Proc(NetworkType, Bytes | Nil, Array(WiFiInterfaceScanResult | ThreadInterfaceScanResult)) | Nil
#
Callbacks
def on_scan_networks=(on_scan_networks : Proc(NetworkType, Bytes | Nil, Array(WiFiInterfaceScanResult | ThreadInterfaceScanResult)) | Nil)
#
Callbacks
def read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes
#
Description copied from class Matter::Cluster::Base
Read an attribute value
def write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
#
Description copied from class Matter::Cluster::Base
Write an attribute value