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.