Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New device support]: Temperature & Humidity Sensor - Tuya based from Nova Digital #25871

Open
gui28347 opened this issue Jan 17, 2025 · 0 comments
Labels
new device support New device support request

Comments

@gui28347
Copy link

Link

https://www.lojageeksmart.com.br/sensor-inteligenter-de-temperatura-e-umidade-zigbee-com-display-nova-digital-tuya

Database entry

Device '0xa4c1382c83a7c150' with Zigbee model 'TS0601' and manufacturer name '_TZE284_hdyjyqjm' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

Zigbee2MQTT version

2.0.0

Comments

Device from "NovaDigital" is temperature & humidity sensor (Tuya based) , currently not supported.

I found in https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/devices/tuya.ts a similar one which I believe is the same hardware. TS0201.

  1. Is there any way how I can do a local test with my device (_TZE284_hdyjyqjm) forcing it to be a TS0201 to see if it can read temperature & humidity?

  2. After I test it, what would be the process to make it official support for it?

Debug Logs:

2025-01-17 15:52:15z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4c1382c83a7c150","ieee_address":"0xa4c1382c83a7c150"},"type":"device_announce"}'
info 2025-01-17 15:52:17zh:controller:device: Device '0xa4c1382c83a7c150' is only compliant to revision '21' of the ZigBee specification (current revision: 23).
info 2025-01-17 15:52:21zh:controller: Succesfully interviewed '0xa4c1382c83a7c150'
info 2025-01-17 15:52:21z2m: Successfully interviewed '0xa4c1382c83a7c150', device has successfully been paired
warning 2025-01-17 15:52:21z2m: Device '0xa4c1382c83a7c150' with Zigbee model 'TS0601' and manufacturer name '_TZE284_hdyjyqjm' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
info 2025-01-17 15:52:21z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4c1382c83a7c150","ieee_address":"0xa4c1382c83a7c150","status":"successful","supported":false},"type":"device_interview"}'

[2025-01-17 15:59:34] debug: zh:controller:endpoint: ZCL command 0xa4c1382c83a7c150/1 genBasic.defaultRsp({"cmdId":10,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"reservedBits":0,"transactionSequenceNumber":10,"writeUndiv":false})
[2025-01-17 15:59:34] debug: zh:zstack: sendZclFrameToEndpointInternal 0xa4c1382c83a7c150:23365/1 (0,0,1)
[2025-01-17 15:59:34] debug: zh:zstack:znp: --> SREQ: AF - dataRequest - {"dstaddr":23365,"destendpoint":1,"srcendpoint":1,"clusterid":0,"transid":4,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,10,11,10,0]}}
[2025-01-17 15:59:34] debug: zh:zstack:unpi:writer: --> frame [254,15,36,1,69,91,1,1,0,0,4,0,30,5,24,10,11,10,0,56]
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 15:59:34] debug: z2m: Received Zigbee message from '0xa4c1382c83a7c150', type 'attributeReport', cluster 'genBasic', data '{"65506":56,"65508":1,"appVersion":77}' from endpoint 1 with groupID 0
[2025-01-17 15:59:34] debug: z2m: Skipping message, still interviewing
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
[2025-01-17 15:59:34] debug: zh:zstack:znp: <-- SRSP: AF - dataRequest - {"status":0}
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,4,194]
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,4,194]
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,4] - 194
[2025-01-17 15:59:34] debug: zh:zstack:znp: <-- AREQ: AF - dataConfirm - {"status":0,"endpoint":1,"transid":4}
[2025-01-17 15:59:34] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: <-- [254,42,68,129,0,0,0,0,69,91,1,1,0,98,0,143,227,115,0,0,22,8,11,10,223,255,66,15,218,58,29,47,25,218,58,29,47,7,1,0,0,0,17,69,91,29,243]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --- parseNext [254,42,68,129,0,0,0,0,69,91,1,1,0,98,0,143,227,115,0,0,22,8,11,10,223,255,66,15,218,58,29,47,25,218,58,29,47,7,1,0,0,0,17,69,91,29,243]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --> parsed 42 - 2 - 4 - 129 - [0,0,0,0,69,91,1,1,0,98,0,143,227,115,0,0,22,8,11,10,223,255,66,15,218,58,29,47,25,218,58,29,47,7,1,0,0,0,17,69,91,29] - 243
[2025-01-17 16:00:53] debug: zh:zstack:znp: <-- AREQ: AF - incomingMsg - {"groupid":0,"clusterid":0,"srcaddr":23365,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":98,"securityuse":0,"timestamp":7594895,"transseqnumber":0,"len":22,"data":{"type":"Buffer","data":[8,11,10,223,255,66,15,218,58,29,47,25,218,58,29,47,7,1,0,0,0,17]}}
[2025-01-17 16:00:53] debug: zh:controller: Received payload: clusterID=0, address=23365, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=98, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":11,"commandIdentifier":10},"payload":[{"attrId":65503,"dataType":66,"attrData":" :\u001d/\u0019 :\u001d/\u0007\u0001\u0000\u0000\u0000\u0011"}],"command":{"ID":10,"name":"report","parameters":[{"name":"attrId","type":33},{"name":"dataType","type":32},{"name":"attrData","type":1000}]}}
[2025-01-17 16:00:53] debug: zh:controller:endpoint: ZCL command 0xa4c1382c83a7c150/1 genBasic.defaultRsp({"cmdId":10,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"reservedBits":0,"transactionSequenceNumber":11,"writeUndiv":false})d
[2025-01-17 16:00:53] debug: zh:zstack: sendZclFrameToEndpointInternal 0xa4c1382c83a7c150:23365/1 (0,0,1)
[2025-01-17 16:00:53] debug: zh:zstack:znp: --> SREQ: AF - dataRequest - {"dstaddr":23365,"destendpoint":1,"srcendpoint":1,"clusterid":0,"transid":5,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,11,11,10,0]}}
[2025-01-17 16:00:53] debug: zh:zstack:unpi:writer: --> frame [254,15,36,1,69,91,1,1,0,0,5,0,30,5,24,11,11,10,0,56]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:00:53] debug: z2m: Received Zigbee message from '0xa4c1382c83a7c150', type 'attributeReport', cluster 'genBasic', data '{"65503":" :\u001d/\u0019 :\u001d/\u0007\u0001\u0000\u0000\u0000\u0011"}' from endpoint 1 with groupID 0
[2025-01-17 16:00:53] debug: z2m: Skipping message, still interviewing
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
[2025-01-17 16:00:53] debug: zh:zstack:znp: <-- SRSP: AF - dataRequest - {"status":0}
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,5,195]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,5,195]
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,5] - 195
[2025-01-17 16:00:53] debug: zh:zstack:znp: <-- AREQ: AF - dataConfirm - {"status":0,"endpoint":1,"transid":5}
[2025-01-17 16:00:53] debug: zh:zstack:unpi:parser: --- parseNext []

[2025-01-17 16:01:31] debug: zh:controller:endpoint: ZCL command 0xa4c1382c83a7c150/1 genTime.readRsp({"localTime":790444892}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":1,"reservedBits":0,"transactionSequenceNumber":200,"writeUndiv":false})
[2025-01-17 16:01:31] debug: zh:zstack: sendZclFrameToEndpointInternal 0xa4c1382c83a7c150:23365/1 (0,0,1)
[2025-01-17 16:01:31] debug: zh:zstack:znp: --> SREQ: AF - dataRequest - {"dstaddr":23365,"destendpoint":1,"srcendpoint":1,"clusterid":10,"transid":6,"options":0,"radius":30,"len":11,"data":{"type":"Buffer","data":[24,200,1,7,0,0,35,92,59,29,47]}}
[2025-01-17 16:01:31] debug: zh:zstack:unpi:writer: --> frame [254,21,36,1,69,91,1,1,10,0,6,0,30,11,24,200,1,7,0,0,35,92,59,29,47,151]
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:01:31] debug: z2m: Received Zigbee message from '0xa4c1382c83a7c150', type 'read', cluster 'genTime', data '["localTime"]' from endpoint 1 with groupID 0
[2025-01-17 16:01:31] debug: z2m: Skipping message, still interviewing
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
[2025-01-17 16:01:31] debug: zh:zstack:znp: <-- SRSP: AF - dataRequest - {"status":0}
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,6,192]
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,6,192]
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,6] - 192
[2025-01-17 16:01:31] debug: zh:zstack:znp: <-- AREQ: AF - dataConfirm - {"status":0,"endpoint":1,"transid":6}
[2025-01-17 16:01:31] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: <-- [254,28,68,129,0,0,0,0,69,91,1,1,0,94,0,29,253,152,0,0,8,8,201,10,207,255,33,64,56,69,91,29,72]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext [254,28,68,129,0,0,0,0,69,91,1,1,0,94,0,29,253,152,0,0,8,8,201,10,207,255,33,64,56,69,91,29,72]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --> parsed 28 - 2 - 4 - 129 - [0,0,0,0,69,91,1,1,0,94,0,29,253,152,0,0,8,8,201,10,207,255,33,64,56,69,91,29] - 72
[2025-01-17 16:01:32] debug: zh:zstack:znp: <-- AREQ: AF - incomingMsg - {"groupid":0,"clusterid":0,"srcaddr":23365,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":94,"securityuse":0,"timestamp":10026269,"transseqnumber":0,"len":8,"data":{"type":"Buffer","data":[8,201,10,207,255,33,64,56]}}
[2025-01-17 16:01:32] debug: zh:controller: Received payload: clusterID=0, address=23365, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=94, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":201,"commandIdentifier":10},"payload":[{"attrId":65487,"dataType":33,"attrData":14400}],"command":{"ID":10,"name":"report","parameters":[{"name":"attrId","type":33},{"name":"dataType","type":32},{"name":"attrData","type":1000}]}}
[2025-01-17 16:01:32] debug: zh:controller:endpoint: ZCL command 0xa4c1382c83a7c150/1 genBasic.defaultRsp({"cmdId":10,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"reservedBits":0,"transactionSequenceNumber":201,"writeUndiv":false})
[2025-01-17 16:01:32] debug: zh:zstack: sendZclFrameToEndpointInternal 0xa4c1382c83a7c150:23365/1 (0,0,1)
[2025-01-17 16:01:32] debug: zh:zstack:znp: --> SREQ: AF - dataRequest - {"dstaddr":23365,"destendpoint":1,"srcendpoint":1,"clusterid":0,"transid":7,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,201,11,10,0]}}
[2025-01-17 16:01:32] debug: zh:zstack:unpi:writer: --> frame [254,15,36,1,69,91,1,1,0,0,7,0,30,5,24,201,11,10,0,248]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:01:32] debug: z2m: Received Zigbee message from '0xa4c1382c83a7c150', type 'attributeReport', cluster 'genBasic', data '{"65487":14400}' from endpoint 1 with groupID 0
[2025-01-17 16:01:32] debug: z2m: Skipping message, still interviewing
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
[2025-01-17 16:01:32] debug: zh:zstack:znp: <-- SRSP: AF - dataRequest - {"status":0}
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,7,193]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,7,193]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,7] - 193
[2025-01-17 16:01:32] debug: zh:zstack:znp: <-- AREQ: AF - dataConfirm - {"status":0,"endpoint":1,"transid":7}
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext []
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: <-- [254,35,68,129,0,0,0,0,69,91,1,1,0,98,0,147,28,153,0,0,15,8,202,10,1,0,32,77,226,255,32,56,228,255,32,1,69,91,29,27]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --- parseNext [254,35,68,129,0,0,0,0,69,91,1,1,0,98,0,147,28,153,0,0,15,8,202,10,1,0,32,77,226,255,32,56,228,255,32,1,69,91,29,27]
[2025-01-17 16:01:32] debug: zh:zstack:unpi:parser: --> parsed 35 - 2 - 4 - 129 - [0,0,0,0,69,91,1,1,0,98,0,147,28,153,0,0,15,8,202,10,1,0,32,77,226,255,32,56,228,255,32,1,69,91,29] - 27
[2025-01-17 16:01:32] debug: zh:zstack:znp: <-- AREQ: AF - incomingMsg - {"groupid":0,"clusterid":0,"srcaddr":23365,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":98,"securityuse":0,"timestamp":10034323,"transseqnumber":0,"len":15,"data":{"type":"Buffer","data":[8,202,10,1,0,32,77,226,255,32,56,228,255,32,1]}}
[2025-01-17 16:01:32] debug: zh:controller: Receiv

External definition

const definition = {
    zigbeeModel: ['TS0601'],
    model: 'TS0601',
    vendor: '_TZE284_hdyjyqjm',
    description: 'Automatically generated definition',
    extend: [],
    meta: {},
};

What does/doesn't work with the external definition?

Tuya based device?

@gui28347 gui28347 added the new device support New device support request label Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new device support New device support request
Projects
None yet
Development

No branches or pull requests

1 participant