Here is the output of the devices/features:
[
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:2:child_endpoint:3",
"selector": "matter:5048395297330787217:1:child_endpoint:2:child_endpoint:3",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:2:child_endpoint:3:6",
"selector": "matter:5048395297330787217:1:child_endpoint:2:child_endpoint:3:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:6",
"selector": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:6",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:6:6",
"selector": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:6:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:7",
"selector": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:7",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:7:6",
"selector": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:7:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:8",
"selector": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:8",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:8:6",
"selector": "matter:5048395297330787217:1:child_endpoint:5:child_endpoint:8:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:10",
"selector": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:10",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:10:6",
"selector": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:10:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:11",
"selector": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:11",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:11:6",
"selector": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:11:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:12",
"selector": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:12",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:12:6",
"selector": "matter:5048395297330787217:1:child_endpoint:9:child_endpoint:12:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:15:child_endpoint:16",
"selector": "matter:5048395297330787217:1:child_endpoint:15:child_endpoint:16",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:15:child_endpoint:16:6",
"selector": "matter:5048395297330787217:1:child_endpoint:15:child_endpoint:16:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:18",
"selector": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:18",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:18:6",
"selector": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:18:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:19",
"selector": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:19",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:19:6",
"selector": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:19:6",
"min": 0,
"max": 1
}
],
"params": []
},
{
"name": "Matterbridge (Matterbridge aggregator)",
"external_id": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:20",
"selector": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:20",
"service_id": "1404ff11-4863-47e4-8060-dd25844b67e4",
"should_poll": false,
"features": [
{
"name": "on_off",
"category": "switch",
"type": "binary",
"read_only": false,
"has_feedback": true,
"external_id": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:20:6",
"selector": "matter:5048395297330787217:1:child_endpoint:17:child_endpoint:20:6",
"min": 0,
"max": 1
}
],
"params": []
}
]
However, for the name, you need to retrieve it from the first level of child_endpoints if the device is an aggregator. It is the
nodeLabel. Here is the output of the clusters in MatterBridge (even if you see them in the JSON you allow to export):
Clusters for device "Pro3 L1 BĂątiment Perso" on endpoint 5
Endpoint Id Device Types Cluster Name Cluster ID Attribute Name Attribute ID Attribute Value
5 main 0x0013, 0x0011 Descriptor 0x1d deviceTypeList 0x00
[ { deviceType: 19, revision: 2 }, { deviceType: 17, revision: 1 } ]
5 main 0x0013, 0x0011 Descriptor 0x1d serverList 0x01
[ 29, 57, 47, 64 ]
5 main 0x0013, 0x0011 Descriptor 0x1d clientList 0x02
[ ]
5 main 0x0013, 0x0011 Descriptor 0x1d partsList 0x03
[ 6, 7, 8 ]
5 main 0x0013, 0x0011 Descriptor 0x1d clusterRevision 0xfffd
2
5 main 0x0013, 0x0011 Descriptor 0x1d featureMap 0xfffc
{ tagList: false }
5 main 0x0013, 0x0011 Descriptor 0x1d attributeList 0xfffb
[ 0, 1, 2, 3, 65533, 65532, 65531, 65529, 65528 ]
5 main 0x0013, 0x0011 Descriptor 0x1d acceptedCommandList 0xfff9
[ ]
5 main 0x0013, 0x0011 Descriptor 0x1d generatedCommandList 0xfff8
[ ]
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 vendorName 0x01
Shelly
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 vendorId 0x02
65521
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 productName 0x03
SPSW-003XE16EU
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 nodeLabel 0x05
Pro3 L1 Building Perso
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 hardwareVersion 0x07
1
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 hardwareVersionString 0x08
1.0.0
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 softwareVersion 0x09
1
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 softwareVersionString 0x0a
1.4.4-g6d2a586
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 productUrl 0x0d
https://www.npmjs.com/package/matterbridge
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 productLabel 0x0e
Pro3 L1 Building Perso
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 serialNumber 0x0f
shellypro3-2CBCBBA5E414
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 reachable 0x11
true
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 uniqueId 0x12
9234c6c5e1cba064abc04f37f6707ac0
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 clusterRevision 0xfffd
3
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 featureMap 0xfffc
{ }
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 attributeList 0xfffb
[ 1, 2, 3, 5, 7, 8, 9, 10, 13, 14, 15, 17, 18, 65533, 65532, 65531, 65529, 65528 ]
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 acceptedCommandList 0xfff9
[ ]
5 main 0x0013, 0x0011 BridgedDeviceBasicInformation 0x39 generatedCommandList 0xfff8
[ ]
5 main 0x0013, 0x0011 PowerSource 0x2f status 0x00
1
5 main 0x0013, 0x0011 PowerSource 0x2f order 0x01
0
5 main 0x0013, 0x0011 PowerSource 0x2f description 0x02
AC Power
5 main 0x0013, 0x0011 PowerSource 0x2f endpointList 0x1f
[ ]
5 main 0x0013, 0x0011 PowerSource 0x2f clusterRevision 0xfffd
2
5 main 0x0013, 0x0011 PowerSource 0x2f featureMap 0xfffc
{ wired: true, battery: false, rechargeable: false, replaceable: false }
5 main 0x0013, 0x0011 PowerSource 0x2f attributeList 0xfffb
[ 0, 1, 2, 31, 65533, 65532, 65531, 65529, 65528, 5 ]
5 main 0x0013, 0x0011 PowerSource 0x2f acceptedCommandList 0xfff9
[ ]
5 main 0x0013, 0x0011 PowerSource 0x2f generatedCommandList 0xfff8
[ ]
5 main 0x0013, 0x0011 PowerSource 0x2f wiredCurrentType 0x05
0
5 main 0x0013, 0x0011 FixedLabel 0x40 labelList 0x00
[ { label: 'composed', value: 'Switch' } ]
5 main 0x0013, 0x0011 FixedLabel 0x40 clusterRevision 0xfffd
1
5 main 0x0013, 0x0011 FixedLabel 0x40 featureMap 0xfffc
{ }
5 main 0x0013, 0x0011 FixedLabel 0x40 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528 ]
5 main 0x0013, 0x0011 FixedLabel 0x40 acceptedCommandList 0xfff9
[ ]
5 main 0x0013, 0x0011 FixedLabel 0x40 generatedCommandList 0xfff8
[ ]
6 switch:0 0x010a Descriptor 0x1d deviceTypeList 0x00
[ { deviceType: 266, revision: 3 } ]
6 switch:0 0x010a Descriptor 0x1d serverList 0x01
[ 29, 3, 4, 6 ]
6 switch:0 0x010a Descriptor 0x1d clientList 0x02
[ ]
6 switch:0 0x010a Descriptor 0x1d partsList 0x03
[ ]
6 switch:0 0x010a Descriptor 0x1d clusterRevision 0xfffd
2
6 switch:0 0x010a Descriptor 0x1d featureMap 0xfffc
{ tagList: false }
6 switch:0 0x010a Descriptor 0x1d attributeList 0xfffb
[ 0, 1, 2, 3, 65533, 65532, 65531, 65529, 65528 ]
6 switch:0 0x010a Descriptor 0x1d acceptedCommandList 0xfff9
[ ]
6 switch:0 0x010a Descriptor 0x1d generatedCommandList 0xfff8
[ ]
6 switch:0 0x010a Identify 0x03 identifyTime 0x00
0
6 switch:0 0x010a Identify 0x03 identifyType 0x01
0
6 switch:0 0x010a Identify 0x03 clusterRevision 0xfffd
4
6 switch:0 0x010a Identify 0x03 featureMap 0xfffc
{ }
6 switch:0 0x010a Identify 0x03 attributeList 0xfffb
[ 0, 1, 65533, 65532, 65531, 65529, 65528 ]
6 switch:0 0x010a Identify 0x03 acceptedCommandList 0xfff9
[ 0, 64 ]
6 switch:0 0x010a Identify 0x03 generatedCommandList 0xfff8
[ ]
6 switch:0 0x010a Groups 0x04 nameSupport 0x00
{ nameSupport: false, groupNames: false }
6 switch:0 0x010a Groups 0x04 clusterRevision 0xfffd
4
6 switch:0 0x010a Groups 0x04 featureMap 0xfffc
{ groupNames: true }
6 switch:0 0x010a Groups 0x04 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528 ]
6 switch:0 0x010a Groups 0x04 acceptedCommandList 0xfff9
[ ]
6 switch:0 0x010a Groups 0x04 generatedCommandList 0xfff8
[ ]
6 switch:0 0x010a OnOff 0x06 onOff 0x00
true
6 switch:0 0x010a OnOff 0x06 clusterRevision 0xfffd
6
6 switch:0 0x010a OnOff 0x06 featureMap 0xfffc
{ lighting: true, deadFrontBehavior: false, offOnly: false }
6 switch:0 0x010a OnOff 0x06 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528, 16384, 16385, 16386, 16387 ]
6 switch:0 0x010a OnOff 0x06 acceptedCommandList 0xfff9
[ 0, 64, 65, 66, 1, 2 ]
6 switch:0 0x010a OnOff 0x06 generatedCommandList 0xfff8
[ ]
6 switch:0 0x010a OnOff 0x06 globalSceneControl 0x4000
false
6 switch:0 0x010a OnOff 0x06 onTime 0x4001
0
6 switch:0 0x010a OnOff 0x06 offWaitTime 0x4002
0
6 switch:0 0x010a OnOff 0x06 startUpOnOff 0x4003
null
7 switch:1 0x010a Descriptor 0x1d deviceTypeList 0x00
[ { deviceType: 266, revision: 3 } ]
7 switch:1 0x010a Descriptor 0x1d serverList 0x01
[ 29, 3, 4, 6 ]
7 switch:1 0x010a Descriptor 0x1d clientList 0x02
[ ]
7 switch:1 0x010a Descriptor 0x1d partsList 0x03
[ ]
7 switch:1 0x010a Descriptor 0x1d clusterRevision 0xfffd
2
7 switch:1 0x010a Descriptor 0x1d featureMap 0xfffc
{ tagList: false }
7 switch:1 0x010a Descriptor 0x1d attributeList 0xfffb
[ 0, 1, 2, 3, 65533, 65532, 65531, 65529, 65528 ]
7 switch:1 0x010a Descriptor 0x1d acceptedCommandList 0xfff9
[ ]
7 switch:1 0x010a Descriptor 0x1d generatedCommandList 0xfff8
[ ]
7 switch:1 0x010a Identify 0x03 identifyTime 0x00
0
7 switch:1 0x010a Identify 0x03 identifyType 0x01
0
7 switch:1 0x010a Identify 0x03 clusterRevision 0xfffd
4
7 switch:1 0x010a Identify 0x03 featureMap 0xfffc
{ }
7 switch:1 0x010a Identify 0x03 attributeList 0xfffb
[ 0, 1, 65533, 65532, 65531, 65529, 65528 ]
7 switch:1 0x010a Identify 0x03 acceptedCommandList 0xfff9
[ 0, 64 ]
7 switch:1 0x010a Identify 0x03 generatedCommandList 0xfff8
[ ]
7 switch:1 0x010a Groups 0x04 nameSupport 0x00
{ nameSupport: false, groupNames: false }
7 switch:1 0x010a Groups 0x04 clusterRevision 0xfffd
4
7 switch:1 0x010a Groups 0x04 featureMap 0xfffc
{ groupNames: true }
7 switch:1 0x010a Groups 0x04 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528 ]
7 switch:1 0x010a Groups 0x04 acceptedCommandList 0xfff9
[ ]
7 switch:1 0x010a Groups 0x04 generatedCommandList 0xfff8
[ ]
7 switch:1 0x010a OnOff 0x06 onOff 0x00
false
7 switch:1 0x010a OnOff 0x06 clusterRevision 0xfffd
6
7 switch:1 0x010a OnOff 0x06 featureMap 0xfffc
{ lighting: true, deadFrontBehavior: false, offOnly: false }
7 switch:1 0x010a OnOff 0x06 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528, 16384, 16385, 16386, 16387 ]
7 switch:1 0x010a OnOff 0x06 acceptedCommandList 0xfff9
[ 0, 64, 65, 66, 1, 2 ]
7 switch:1 0x010a OnOff 0x06 generatedCommandList 0xfff8
[ ]
7 switch:1 0x010a OnOff 0x06 globalSceneControl 0x4000
false
7 switch:1 0x010a OnOff 0x06 onTime 0x4001
0
7 switch:1 0x010a OnOff 0x06 offWaitTime 0x4002
0
7 switch:1 0x010a OnOff 0x06 startUpOnOff 0x4003
null
8 switch:2 0x010a Descriptor 0x1d deviceTypeList 0x00
[ { deviceType: 266, revision: 3 } ]
8 switch:2 0x010a Descriptor 0x1d serverList 0x01
[ 29, 3, 4, 6 ]
8 switch:2 0x010a Descriptor 0x1d clientList 0x02
[ ]
8 switch:2 0x010a Descriptor 0x1d partsList 0x03
[ ]
8 switch:2 0x010a Descriptor 0x1d clusterRevision 0xfffd
2
8 switch:2 0x010a Descriptor 0x1d featureMap 0xfffc
{ tagList: false }
8 switch:2 0x010a Descriptor 0x1d attributeList 0xfffb
[ 0, 1, 2, 3, 65533, 65532, 65531, 65529, 65528 ]
8 switch:2 0x010a Descriptor 0x1d acceptedCommandList 0xfff9
[ ]
8 switch:2 0x010a Descriptor 0x1d generatedCommandList 0xfff8
[ ]
8 switch:2 0x010a Identify 0x03 identifyTime 0x00
0
8 switch:2 0x010a Identify 0x03 identifyType 0x01
0
8 switch:2 0x010a Identify 0x03 clusterRevision 0xfffd
4
8 switch:2 0x010a Identify 0x03 featureMap 0xfffc
{ }
8 switch:2 0x010a Identify 0x03 attributeList 0xfffb
[ 0, 1, 65533, 65532, 65531, 65529, 65528 ]
8 switch:2 0x010a Identify 0x03 acceptedCommandList 0xfff9
[ 0, 64 ]
8 switch:2 0x010a Identify 0x03 generatedCommandList 0xfff8
[ ]
8 switch:2 0x010a Groups 0x04 nameSupport 0x00
{ nameSupport: false, groupNames: false }
8 switch:2 0x010a Groups 0x04 clusterRevision 0xfffd
4
8 switch:2 0x010a Groups 0x04 featureMap 0xfffc
{ groupNames: true }
8 switch:2 0x010a Groups 0x04 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528 ]
8 switch:2 0x010a Groups 0x04 acceptedCommandList 0xfff9
[ ]
8 switch:2 0x010a Groups 0x04 generatedCommandList 0xfff8
[ ]
8 switch:2 0x010a OnOff 0x06 onOff 0x00
false
8 switch:2 0x010a OnOff 0x06 clusterRevision 0xfffd
6
8 switch:2 0x010a OnOff 0x06 featureMap 0xfffc
{ lighting: true, deadFrontBehavior: false, offOnly: false }
8 switch:2 0x010a OnOff 0x06 attributeList 0xfffb
[ 0, 65533, 65532, 65531, 65529, 65528, 16384, 16385, 16386, 16387 ]
8 switch:2 0x010a OnOff 0x06 acceptedCommandList 0xfff9
[ 0, 64, 65, 66, 1, 2 ]
8 switch:2 0x010a OnOff 0x06 generatedCommandList 0xfff8
[ ]
8 switch:2 0x010a OnOff 0x06 globalSceneControl 0x4000
false
8 switch:2 0x010a OnOff 0x06 onTime 0x4001
0
8 switch:2 0x010a OnOff 0x06 offWaitTime 0x4002
0
8 switch:2 0x010a OnOff 0x06 startUpOnOff 0x4003
null
Total child endpoints: 3
For reference, here:
- child_endpoint:2 and 13 are Shelly Pro3EM, there is indeed 1 single On_Off activated on the 2 (not on the 13)
- child_endpoint:15 is a Shelly EM3, there is indeed 1 single On_Off
- child_endpoint:5, 9 and 17 are Shelly Pro3, there are 3 On_Off switches.