Voici la sortie des 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": []
}
]
Par contre pour le nom il faut aller le chercher dans le 1er niveau de child_endpoints si le device est un aggregator. Et il sâagit du
nodeLabel. Voici la sorties des clusters dans MatterBridge (mĂȘme si tu les vois dans le JSON que tu permets dâexporter) :
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 BĂątiment 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 BĂątiment 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
Pour rappel, ici :
- child_endpoint:2 et 13 sont des Shelly Pro3EM, il y a bien 1 seul On_Off activé sur le 2 (pas sur le 13)
- child_endpoint:15 est un Shelly EM3, il y a bien 1 seul On_Off
- child_endpoint:5, 9 et 17 sont des Shelly Pro3, il y a 3 commutateurs On_Off.