### Prerequisites:
- Before requesting a device addition, please ensure there i…s not already a request for the device among the open issues.
- Make sure your Homey is upgraded to firmware v5 or higher.
- You need a physical example of the device.
### Device Information
- Device Name: `ZigBee 3.0 USB Switch Module, 2-gang`
- Device Model: `TS0002`
- Device Description: `USB power on/off control`
- Link to device image: https://ae-pic-a1.aliexpress-media.com/kf/S59242b5ff1cf4994992e3dd412a4b7e6Y.jpg_220x220q75.jpg_.avif
### Device Interview
```json
{
"ids": {
"modelId": "TS0002",
"manufacturerName": "_TZ3000_h1ipgkwn"
},
"endpoints": {
"ieeeAddress": "a4:c1:38:4a:0a:99:09:f8",
"networkAddress": 34505,
"modelId": "TS0002",
"manufacturerName": "_TZ3000_h1ipgkwn",
"endpointDescriptors": [
{
"status": "SUCCESS",
"nwkAddrOfInterest": 34505,
"_reserved": 30,
"endpointId": 1,
"applicationProfileId": 260,
"applicationDeviceId": 256,
"applicationDeviceVersion": 0,
"_reserved1": 1,
"inputClusters": [
3,
4,
5,
6,
1794,
2820,
57344,
57345,
0
],
"outputClusters": [
25,
10
]
},
{
"status": "SUCCESS",
"nwkAddrOfInterest": 34505,
"_reserved": 14,
"endpointId": 2,
"applicationProfileId": 260,
"applicationDeviceId": 256,
"applicationDeviceVersion": 0,
"_reserved1": 1,
"inputClusters": [
4,
5,
6
],
"outputClusters": []
},
{
"status": "SUCCESS",
"nwkAddrOfInterest": 34505,
"_reserved": 10,
"endpointId": 242,
"applicationProfileId": 41440,
"applicationDeviceId": 97,
"applicationDeviceVersion": 0,
"_reserved1": 0,
"inputClusters": [],
"outputClusters": [
33
]
}
],
"deviceType": "router",
"receiveWhenIdle": true,
"capabilities": {
"alternatePANCoordinator": false,
"deviceType": true,
"powerSourceMains": true,
"receiveWhenIdle": true,
"security": false,
"allocateAddress": true
},
"extendedEndpointDescriptors": {
"1": {
"clusters": {
"identify": {
"attributes": []
},
"groups": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "nameSupport",
"value": {
"type": "Buffer",
"data": [
0
]
},
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"scenes": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 1,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 3,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 4,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"onOff": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "onOff",
"value": false,
"reportingConfiguration": {
"direction": "reported",
"attributeDataType": 16,
"minInterval": 60,
"maxInterval": 600,
"status": "SUCCESS"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 16385,
"name": "onTime",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 16386,
"name": "offWaitTime",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 32769,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 32770,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 20480,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"metering": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "currentSummationDelivered",
"value": 0,
"reportingConfiguration": {
"direction": "reported",
"attributeDataType": 37,
"minInterval": 60,
"maxInterval": 600,
"minChange": 1,
"status": "SUCCESS"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 512,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 768,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 771,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 774,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 1,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"electricalMeasurement": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 1285,
"name": "rmsVoltage",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 1288,
"name": "rmsCurrent",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 1291,
"name": "activePower",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 1,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"basic": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "zclVersion",
"value": 3
},
{
"acl": [
"readable",
"reportable"
],
"id": 1,
"name": "appVersion",
"value": 74
},
{
"acl": [
"readable",
"reportable"
],
"id": 2,
"name": "stackVersion",
"value": 0
},
{
"acl": [
"readable",
"reportable"
],
"id": 3,
"name": "hwVersion",
"value": 1
},
{
"acl": [
"readable",
"reportable"
],
"id": 4,
"name": "manufacturerName",
"value": "_TZ3000_h1ipgkwn"
},
{
"acl": [
"readable",
"reportable"
],
"id": 5,
"name": "modelId",
"value": "TS0002"
},
{
"acl": [
"readable",
"reportable"
],
"id": 6,
"name": "dateCode",
"value": ""
},
{
"acl": [
"readable",
"reportable"
],
"id": 7,
"name": "powerSource",
"value": "mains"
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 65502
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2
},
{
"acl": [
"readable",
"reportable"
],
"id": 65534,
"name": "attributeReportingStatus",
"value": "PENDING"
},
{
"acl": [
"readable",
"reportable"
],
"id": 65506
},
{
"acl": [
"readable",
"reportable"
],
"id": 65507
}
]
}
},
"bindings": {
"ota": {},
"time": {
"attributes": [
{
"acl": [
"readable"
],
"id": 65533,
"name": "clusterRevision",
"value": 1
}
]
}
}
},
"2": {
"clusters": {
"groups": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "nameSupport",
"value": {
"type": "Buffer",
"data": [
0
]
},
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"scenes": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 1,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 3,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 4,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"onOff": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "onOff",
"value": true,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 16385,
"name": "onTime",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 16386,
"name": "offWaitTime",
"value": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
}
},
"bindings": {}
},
"242": {
"clusters": {},
"bindings": {}
}
}
}
}
```
### Additional Comments:
> **Note:** Provide any other relevant information or requests related to the device. Link to where you bought the device can be of help
Bought the device from here (the "Zigbee 2 USB" version): https://www.aliexpress.com/item/1005007378724802.html
### How to interview a device
- Add the device as a generic Zigbee device in Homey
- Navigate to https://developer.athom.com/tools/zigbee.
- Interview the device, the button for this is to the right of the device in the list of Zigbee units.
- Click the copy button/icon to capture the device information.
- Paste the copied information above.
> **Note:** To be able to add more devices to the Tuya Zigbee app, we rely on community members like you to provide interviews of the devices you want to be added. Thank you for your contribution!