Skip to main content

Matter Nodes

After commissioning, devices appear as Matter-aware nodes. The SDK exposes ESPRMMatterNode (extends base ESPRMNode) with endpoint devices, cluster params, and Matter metadata from the RainMaker API.

Use fabric methods to list nodes; use node properties and helpers to inspect capabilities.

Device params (names, UI types, Matter attribute IDs) are built from your cluster config when node details are loaded — that is what drives the device control screen (toggles, sliders, modes).


List nodes

import { ESPRMMatterNode } from "@espressif/rainmaker-matter-sdk";

const nodes = await fabric.getNodesWithDetails();

for (const node of nodes) {
if (node instanceof ESPRMMatterNode) {
console.log(node.id, node.matterNodeId, node.matterDeviceName);
}
}

Returns ESPRMMatterNode for pure Matter nodes and ESPRMNode for RainMaker nodes on the same fabric.

const node = await userInstance.getNodeDetails("<RAINMAKER_NODE_ID>");

Key properties

PropertyDescription
matterNodeIdMatter node ID for local control
matterDeviceName / matterDeviceTypeFrom Basic Information
endpointsParsed list with serverClusters / clientClusters
matterMetadataRaw metadata.Matter from the API
nodeTypepure_matter or RainMaker + Matter

Endpoint 0 is root (utility clusters); endpoint 1+ map to ESPRMMatterDevice on nodeConfig.devices.


Cluster helpers

import { ESPRMMatterClusterId } from "@espressif/rainmaker-matter-sdk";

const metadata = await matterNode.getMatterMetadata();
const supportsOnOff = await matterNode.hasCluster(ESPRMMatterClusterId.OnOff);
const onOffEndpoint = await matterNode.getEndpointWithCluster(ESPRMMatterClusterId.OnOff);
const clusters = await matterNode.getServerClusters(1);
MethodPurpose
getMatterMetadata()Raw metadata.Matter (e.g. check isRainmaker)
hasCluster(clusterId)Cluster on any endpoint
hasCluster(endpointId, clusterId)Cluster on one endpoint
getEndpointWithCluster(clusterId)First endpoint with a server cluster
getServerClusters(endpointId?)Server cluster IDs
getClientClusters(endpointId?)Client cluster IDs

Use ESPRMMatterClusterId (e.g. OnOff, LevelControl, ColorControl) or raw numeric IDs.

For how Matter clusters become control-screen features, see Cluster config and device params.

For local or remote read/write on params, see Controlling.

On this page