Hello Johan,
I bought a 4 channel relay device, that would be nice to see supported. I thought i would try myself to find some code from a similar appliance and make it work, but i have to learn javascript first. I dont have any programming experience. so at this moment ill put in this feature request.
aliexpress link: https://nl.aliexpress.com/item/1005002538327373.html?spm=a2g0o.productlist.0.0.6b795366qq10Pl&algo_pvid=null&algo_expid=null&btsid=2100bdd516218808865822711e3775&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
`"ids": { "modelId": "TS0004", "manufacturerName": "_TZ3000_hdlpifbk" }, "endpoints": { "endpointDescriptors": [ { "endpointId": 1, "applicationProfileId": 260, "applicationDeviceId": 256, "applicationDeviceVersion": 0, "_reserved1": 1, "inputClusters": [ 0, 3, 4, 5, 6, 57344, 57345 ], "outputClusters": [ 25, 10 ] }, { "endpointId": 2, "applicationProfileId": 260, "applicationDeviceId": 256, "applicationDeviceVersion": 0, "_reserved1": 1, "inputClusters": [ 3, 4, 5, 6, 57344, 57345 ], "outputClusters": [] }, { "endpointId": 3, "applicationProfileId": 260, "applicationDeviceId": 256, "applicationDeviceVersion": 0, "_reserved1": 1, "inputClusters": [ 3, 4, 5, 6, 57344, 57345 ], "outputClusters": [] }, { "endpointId": 4, "applicationProfileId": 260, "applicationDeviceId": 256, "applicationDeviceVersion": 0, "_reserved1": 1, "inputClusters": [ 3, 4, 5, 6, 57344, 57345 ], "outputClusters": [] }, { "endpointId": 242, "applicationProfileId": 41440, "applicationDeviceId": 97, "applicationDeviceVersion": 0, "_reserved1": 0, "inputClusters": [], "outputClusters": [ 33 ] } ], "endpoints": { "1": { "clusters": { "basic": { "attributes": [ { "acl": [ "readable", "reportable" ], "id": 0, "name": "zclVersion", "value": 3, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 1, "name": "appVersion", "value": 71, "reportingConfiguration": { "direction": "reported", "attributeDataType": 32, "minInterval": 1, "maxInterval": 150, "minChange": 0, "status": "SUCCESS" } }, { "acl": [ "readable", "reportable" ], "id": 2, "name": "stackVersion", "value": 0, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 3, "name": "hwVersion", "value": 1, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 4, "name": "manufacturerName", "value": "_TZ3000_hdlpifbk", "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 5, "name": "modelId", "value": "TS0004", "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 6, "name": "dateCode", "value": "", "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 7, "name": "powerSource", "value": "mains", "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "writable", "reportable" ], "id": 65502, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65533, "name": "clusterRevision", "value": 2, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65534, "name": "attributeReportingStatus", "value": "PENDING", "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65504, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65505, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65506, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65507, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "identify": { "attributes": [ { "acl": [ "readable", "writable", "reportable" ], "id": 0, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65533, "name": "clusterRevision", "value": 1, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "onOff": { "attributes": [ { "acl": [ "readable", "reportable" ], "id": 0, "name": "onOff", "value": false, "reportingConfiguration": { "direction": "reported", "attributeDataType": 16, "minInterval": 1, "maxInterval": 65534, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" } }, "bindings": { "ota": { "attributes": [], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "time": { "attributes": [], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" } } }, "2": { "clusters": { "identify": { "attributes": [ { "acl": [ "readable", "writable", "reportable" ], "id": 0, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65533, "name": "clusterRevision", "value": 1, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "onOff": { "attributes": [ { "acl": [ "readable", "reportable" ], "id": 0, "name": "onOff", "value": false, "reportingConfiguration": { "direction": "reported", "attributeDataType": 16, "minInterval": 1, "maxInterval": 65534, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" } }, "bindings": {} }, "3": { "clusters": { "identify": { "attributes": [ { "acl": [ "readable", "writable", "reportable" ], "id": 0, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65533, "name": "clusterRevision", "value": 1, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "onOff": { "attributes": [ { "acl": [ "readable", "reportable" ], "id": 0, "name": "onOff", "value": false, "reportingConfiguration": { "direction": "reported", "attributeDataType": 16, "minInterval": 1, "maxInterval": 65534, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" } }, "bindings": {} }, "4": { "clusters": { "identify": { "attributes": [ { "acl": [ "readable", "writable", "reportable" ], "id": 0, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } }, { "acl": [ "readable", "reportable" ], "id": 65533, "name": "clusterRevision", "value": 1, "reportingConfiguration": { "status": "NOT_FOUND", "direction": "reported" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" }, "onOff": { "attributes": [ { "acl": [ "readable", "reportable" ], "id": 0, "name": "onOff", "value": false, "reportingConfiguration": { "direction": "reported", "attributeDataType": 16, "minInterval": 1, "maxInterval": 65534, "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" } } ], "commandsGenerated": "UNSUP_GENERAL_COMMAND", "commandsReceived": "UNSUP_GENERAL_COMMAND" } }, "bindings": {} }, "242": { "clusters": {}, "bindings": {} } } }`
i hope you can idd it some time, it would be nice.