[RELEASE] Tuya Zigbee Multi-Sensor 4 In 1 (PIR motion sensors) w/ healthStatus

Be careful when purchasing 'NEO Coolcam 3-in-1' sensors.

It turns out that there are at least 2 or 3 different models, all looking the same.
But only one model reports all Motion, temperature and humidity!
image

The cheaper model does not have the T/H measurement chip inside!
image

Purchased here. It was advertised as 3in1 but I probably received the simpler (only pir) version.
Apart from the NEO mark on the sensor, there are no other identifying codes on the package or leaflet, however, in the battery compartment can be glimpsed a code that begins with NAS than covered numbers and ends with 20211109.

fingerprint profileId:"0104", endpointId:"01", inClusters:"0001,0500,0003,0000", outClusters:"1000,0006,0019,000A", model:"TS0202", manufacturer:"_TZ3000_kmh5qpmb"

Never seen temperature or humidity data, even with tuya hub, so it is definitely the PIR-only model.
With dev driver now I get powerSource : ?
On alexa it is still seen as a temperature sensor.

Hi @kkossev I have 4 motion sensors migrated to a C8 with your Tuya Zigbee 4 in 1 driver.


All are working fine.
I'm trying to pair another one with the same model, the correct driver is installed but no motion events occur no matter how many times it it repaired. Nothing shows up in the logs after the pairing. PS this motion sensor worked perfectly fine on a different C7 and readily pairs with it again.

Summary

dev:69752023-03-10 11:23:02.152 AMinfoHall motion (closet) Detected motion

dev:69752023-03-10 11:23:02.148 AMdebugHall motion (closet) Zone status: zone status 0x0001 -- extended status 0x00 - sourceEndpoint:01, zoneId:00, delay:0000

dev:69752023-03-10 11:23:02.145 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:59.428 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:59.425 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:58.373 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:58.370 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:58.267 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:58.264 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:58.140 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:58.138 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:58.122 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:58.120 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:57.733 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:57.730 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:57.611 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:57.608 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:57.509 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:57.506 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:57.492 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:57.489 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:57.476 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:57.472 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:57.457 AMdebugHall motion (closet) Zone State repot ignored value= 1

dev:69752023-03-10 11:22:57.454 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540105000A00003001, dni:1A54, endpoint:01, cluster:0500, size:0A, attrId:0000, encoding:30, command:01, value:01, clusterInt:1280, attrInt:0]

dev:69752023-03-10 11:22:56.640 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:56.637 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:56.628 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:56.624 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:56.105 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:56.101 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.878 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.875 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.764 AMinfoHall motion (closet) Tuya check-in

dev:69752023-03-10 11:22:55.761 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A5401000076DFFF4237EE0B9E2B121200000012850000001950020000125402000016C302000019B406000012B80600001627070000196C090000126F09000016, dni:1A54, endpoint:01, cluster:0000, size:76, attrId:FFDF, encoding:42, command:0A, value:îž+…PTô¸'al o , clusterInt:0, attrInt:65503]

dev:69752023-03-10 11:22:55.750 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.747 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.637 AMinfoHall motion (closet) battery is 100%

dev:69752023-03-10 11:22:55.634 AMdebugHall motion (closet) Battery Percentage rawValue = 200 -> 100%

dev:69752023-03-10 11:22:55.631 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A5401000110210020C82000201D, dni:1A54, endpoint:01, cluster:0001, size:10, attrId:0021, encoding:20, command:0A, value:C8, clusterInt:1, attrInt:33, additionalAttrs:[[value:1D, encoding:20, attrId:0020, consumedBytes:4, attrInt:32]]]

dev:69752023-03-10 11:22:55.622 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.619 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.529 AMinfoHall motion (closet) Tuya check-in (application version is 46)

dev:69752023-03-10 11:22:55.526 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A540100001801002046E2FF2033E4FF2000, dni:1A54, endpoint:01, cluster:0000, size:18, attrId:0001, encoding:20, command:0A, value:46, clusterInt:0, attrInt:1, additionalAttrs:[[value:33, encoding:20, attrId:FFE2, consumedBytes:4, attrInt:65506], [value:00, encoding:20, attrId:FFE4, consumedBytes:4, attrInt:65508]]]

dev:69752023-03-10 11:22:55.516 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.513 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.398 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.395 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.387 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:55.384 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:55.366 AMdebugHall motion (closet) NOT PARSED : descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.363 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:69752023-03-10 11:22:55.218 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:55.215 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:55.212 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:55.209 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:54.496 AMdebugHall motion (closet) write attribute response is success

dev:69752023-03-10 11:22:54.493 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0000 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:54.486 AMinfoHall motion (closet) Tuya device manufacturer is _TZ3000_mcxw5ehu

dev:69752023-03-10 11:22:54.483 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:1A5401000068040042105F545A333030305F6D637877356568750000002003010000204605000042065453303230320700003003FEFF003000, dni:1A54, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZ3000_mcxw5ehu, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:46, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:TS0202, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]

dev:69752023-03-10 11:22:54.311 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:54.308 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:54.305 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:54.302 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:54.296 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:54.294 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:54.174 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:54.172 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:54.169 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:54.167 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:54.160 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:54.158 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.936 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:53.933 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:53.930 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:53.928 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:53.921 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:53.919 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.808 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:53.805 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:53.803 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:53.800 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:53.794 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:53.792 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.661 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:53.658 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:53.655 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:53.653 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:53.646 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:53.644 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.544 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:53.541 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:53.538 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:53.536 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:53.527 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:53.524 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.402 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:53.400 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:53.397 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:53.395 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:53.388 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:53.386 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.264 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:53.262 AMdebugHall motion (closet) enroll response: [he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:53.259 AMinfoHall motion (closet) Sending IAS enroll response...

dev:69752023-03-10 11:22:53.256 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [:]

dev:69752023-03-10 11:22:53.250 AMdebugHall motion (closet) IAS enroll write attribute response is success

dev:69752023-03-10 11:22:53.248 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0104 0500 01 01 0040 00 1A54 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:69752023-03-10 11:22:53.120 AMinfoHall motion (closet) Received device announcement, data=[31, 54, 1A, 52, BE, 1D, F3, B0, 38, C1, A4, 80] (Sequence Number:31, Device network ID: 1A54, Capability Information: 80)

dev:69752023-03-10 11:22:53.116 AMdebugHall motion (closet) parse(_TZ3000_mcxw5ehu) descMap = [raw:catchall: 0000 0013 00 00 0040 00 1A54 00 00 0000 00 00 31541A52BE1DF3B038C1A480, profileId:0000, clusterId:0013, clusterInt:19, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:1A54, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[31, 54, 1A, 52, BE, 1D, F3, B0, 38, C1, A4, 80]]

dev:69752023-03-10 11:22:52.667 AMdebugHall motion (closet) sendZigbeeCommands (cmd=[he raw 0x1A54 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0x1A54 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200, he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000])

dev:69752023-03-10 11:22:52.664 AMdebugHall motion (closet) IAS device: [he raw 0x1A54 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0x1A54 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200, he wattr 0x1A54 0x01 0x0500 0x0010 0xF0 {680FC816006F0D00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {01 23 00 00 00}, delay 2000, he raw 0x1A54 1 0x01 0x0500 {10 00 00 00 00}, delay 2000]

dev:69752023-03-10 11:22:52.602 AMinfoHall motion (closet) configure()..

Hi @kkossev - any more ideas about exposing this reporting time parameter in your driver?

Cheers

I would avoid purchasing anything from this seller. If you have the time and the patience, you can open a case and ask for a refund. This item description is made intentionally misleading on the sellers site, there are many proofs that can be screenshotted and provided as a proof. If you have just one ( €12.74 + free shipping is an unrealistically low price for a 3-in-1 sensor!) it may be not worth the time and the effort...

Thank you for the device fingerprint, I can confirm it is now OK in the driver version 1.2.2

Honestly, I don't know how to proceed with this device support.. I can't distinguish between the original models that are true 3-in-1 sensors (motion, temperature and humidity) and the 'cost reducted' version that has only the PIR sensor.

Have you already tried the HE inbuilt 'Generic Zigbee Motion Sensor (no temp)' driver?

@bbholthome many thanks for the detailed debug logs!
I will analyze it and come back later.

It may be a common hiccup issue after the latest platform updates, I am monitoring also the Philips Hue Gen2 Zigbee driver problems.

This device should be recognized as a 4-in-1 type of sensor in the latest driver versions, can you update to the latest dev. branch version ver. 1.2.2 (the link in the second post) and check again?

I found that -for what its worth- you cannot distinguish on description. If the seller purpously puts misleading descriptions in the add, your stuck and all you can do is open a case.

However, i found that the driver accurately exposes functionality and you can rely on this. Also i found that the led colour on both types differ. Again, for what its worth, but i found models with only pir light up blue and with illuminance light up red upon detection.

1 Like

Hold off I found something.
Odd zigbee behavior

Unfortunately, I took 8. There was no way to get a refund because they did not consider evidence via screenshots and videos of the smartlife app not displaying temperature and humidity sufficient. The return shipping costs are almost as much as I spent on the purchase, so here I am. I hope the single negative review (mine) is helpful to others.

Yes, with that I get the Alexa integration right, but the powerSource data is still wrong and that's my primary interest, otherwise I can't get power failure notifications (or is there another way?).

Anyway, thank you for your work.

Hi @kkossev - it was correctly detected as a Tuya 4 in 1 with the 1.2.1 driver I was using. I just updated to the latest 1.2.2 driver anyway, but there is no “reporting time” parameter available in set par or elsewhere. Assume that hasn’t been added to the driver as yet?

Not yet, I hope that during the weekend will be able to compare it with Zigbee2MQTT implementation.

Hello.
I am trying to apply your driver to my sensor. Could you help me? I always appreciate your dedication because I use your drivers.

https://a.aliexpress.com/_msYlWAA

  • endpointId: 01
  • application: 46
  • driver: v1.0.1.1123
  • manufacturer: _TZE200_xpq2rzhq
  • model: TS0601

Device pairing info

Manufacturer: _TZE200_xpq2rzhq
Endpoint 01 application: 46
Endpoint 01 endpointId: 01
Endpoint 01 idAsInt: 1
Endpoint 01 inClusters: 0000,0004,0005,EF00
Endpoint 01 initialized: true
Endpoint 01 manufacturer: _TZE200_xpq2rzhq
Endpoint 01 model: TS0601
Endpoint 01 outClusters: 0019,000A
Endpoint 01 profileId: 0104
Endpoint 01 stage: 4
2 Likes

Hi @user3644 ,

_TZE200_xpq2rzhq radar was added to the latest dev. branch version 1.2.2 "2023/03/17 7:46 AM".
You can update to it from the link in the second post, or from within HE driver editor - click on the 'Import' button.

I am planning in the next driver major change version to add an option 'Device Profile'. This will allow new devices to be configured manually from the HE users, without waiting for the developer to add the new device fingerprint into the driver.

1 Like

using your driver and it is not doing anything after joining.. except one sense of motion that never cleared.. and using the clear function returned a null in the logs.. in addition i have it on usb power and it is showing battery..

ie

did a rejoin and it found it in place and promptly reported temp the first time and now at least motion appears to be working..

ie


Screenshot 2023-03-17 175806

still doesnt know its on usb power though.

also getting constant battery reports not needed for a usb powered device.. is there any way to turn that off and also configure the temp reporting interval or increment before it reports? obviously not worried about battery dieing since on usb, but too many messages on the mesh.

Seems like you are using an old version of this driver, and your device is not recognized as a 4-in-1 sensor. Do you see any illuminance readings?

TS0202 _TZ3210_wuhzzfqg is a new manufacturer and it was added to this driver on the 25th of December last year (starting from version 1.1.0).

No its the latest driver. Yes there is illuminance. Just not seeing it in those events as its not changing in a dark basement.

1 Like

OK, I will check and comment on the issues reported some time later today or tomorrow.

1 Like