[RELEASE] Tuya Zigbee Smoke & Gas Detectors

Hi @kkossev any chance to add my model to your driver or is it not possible. Thank you

1 Like

Please update the driver to the dev. branch ver. 1.2.0 from the link on the second post.
Then remove the device, and pair it again to the hub.

Let me know if this works.

@delima.smarthome, this Aqara smoke detector is very different than the rest of the smoke detectors supported in this driver. It will require a new driver, but I can start such one no sooner than a month from now.

2 Likes

Hi @kkossev , I have updated to dev branch 1.2.0 and removed device and repaired. It looks good now. Thank you very much.

2 Likes

Adding the Neximus smoke detector to the driver, as it appears to work. Battery, smoke, status, rtt working. PR incoming.

Purchased here:

1 Like

@kkossev I've got a couple of _TZE200_yvx5lh6k devices. Not sure how feasible these are to add. They're very chatty in their current state, I'm noticing.

Here's what they log as a generic device.


[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:12.959[info](http://10.0.0.103/logs#)Zigbee parsed:[raw:catchall: 0104 EF00 01 01 0040 00 7984 01 00 0000 02 01 000102020004000002C0, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7984, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 01, 02, 02, 00, 04, 00, 00, 02, C0]]

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:12.910[info](http://10.0.0.103/logs#)Zigbee parsed:[raw:catchall: 0104 EF00 01 01 0040 00 7984 01 00 0000 02 01 00011502000400000011, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7984, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 01, 15, 02, 00, 04, 00, 00, 00, 11]]

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:12.872[info](http://10.0.0.103/logs#)Zigbee parsed:[raw:catchall: 0104 EF00 01 01 0040 00 7984 01 00 0000 02 01 00011602000400000009, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7984, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 01, 16, 02, 00, 04, 00, 00, 00, 09]]

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.618[info](http://10.0.0.103/logs#)Zigbee parsed:[raw:catchall: 0104 EF00 01 01 0040 00 7984 01 00 0000 02 01 0000130200040000041A, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7984, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 00, 13, 02, 00, 04, 00, 00, 04, 1A]]

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.577[info](http://10.0.0.103/logs#)Zigbee parsed:[raw:catchall: 0104 EF00 01 01 0040 00 7984 01 00 0000 02 01 0000120200040000010A, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7984, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 00, 12, 02, 00, 04, 00, 00, 01, 0A]]

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.193[info](http://10.0.0.103/logs#)fingerprint profileId:"0104", endpointId:"01", inClusters:"0004,0005,EF00,0000", outClusters:"0019,000A", model:"TS0601", manufacturer:"_TZE200_yvx5lh6k", controllerType: "ZGB"

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.114[trace](http://10.0.0.103/logs#)ZCL version:03

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.103[trace](http://10.0.0.103/logs#)Software Build Id:unknown

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.099[trace](http://10.0.0.103/logs#)Model:TS0601

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:11.089[trace](http://10.0.0.103/logs#)Manufacturer:_TZE200_yvx5lh6k

[dev:477](http://10.0.0.103/logs#)2024-06-11 11:55:10.998[debug](http://10.0.0.103/logs#)getting info for unknown Zigbee device...

@adamkempenich - this is not a smoke detector, but a device to test how robust your Zigbee network is! I have one similar spammer that I keep locked in a driver and I turn it on occasionaly for a few minutes only for stress-tesing my Zigbee network!

Seriously, my recommendation is to not use this device. It is 5 times more spammy than the spammiest Tuya mmWave sensor.

1 Like

Wow -- they were sold as smoke detectors. Even come in a smoke detector shroud. Explains why they're using that cluster.

I'd already removed it again from my network after posting that info, but appreciate the heads up.

1 Like

The real smoke detectors are just the opposite - very quiet...
Check with the seller, they may have sent you a wrong device, or there was a mistake when placing the purchase order.

DO NOT BUY!

Hi

I have paired a Moes HS2A-1 Smoke Detector to HE, and it came up as a Zeissmart 4-gang switch. Changing the driver to the Tuya one, I deleted the child devices, and repaired without deleting the parent. It comes up and appears to be a smoke detector, but it doesn't show all the displays earlier in the thread. The device type is also not noted from what I can tell. Here is the log:

dev:1602025-02-07 03:34:57.901 PM

debug

Moes HS2A-1 Smoke Detector description is read attr - raw: E16E0100001801002049E2FF2038E4FF2000, dni: E16E, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 49E2FF2038E4FF2000

dev:1602025-02-07 03:34:57.706 PM

debug

Moes HS2A-1 Smoke Detector Model is : TS0601

dev:1602025-02-07 03:34:57.705 PM

debug

Moes HS2A-1 Smoke Detector Tuya check-in message (attribute 0001 reported: 49)

dev:1602025-02-07 03:34:57.704 PM

debug

Moes HS2A-1 Smoke Detector zclVersion is : 03

dev:1602025-02-07 03:34:57.702 PM

debug

Moes HS2A-1 Smoke Detector Manufacturer is : _TZE204_vawy74yh

dev:1602025-02-07 03:34:57.699 PM

debug

Moes HS2A-1 Smoke Detector Desc Map: [raw:E16E01000068040042105F545A453230345F76617779373479680000002003010000204905000042065453303630310700003003FEFF003000, dni:E16E, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZE204_vawy74yh, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:49, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:TS0601, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]

I am not observing state changes to "test" when tested, so it makes me wonder if it is talking right to HE. Any insights?

Thanks, Don

Extensive further testing shows that this driver does indeed capture SMOKE alerts from the Moes smoke alarm. Once the smoke dissipates, the status reverts to CLEAR.

I did find it hard to get that smoke detector to trigger. A smoking pack of matches took nearly 1 minute to trigger, but once it did, all was fine.

Using change did not result in a notification, and frankly the way to know there is an alert is via a Notification app that motivates one to look at Events for the device. A count of undelete/uncleared alarms (manual) would be a nice thing to have when examining the device details. But, that's for another day.

Thanks for the super driver!

Can anyone point me to a driver for a Tuya gas (CH4) and CO detector driver for the device pictured below?

shopping

I've tried the "Tuya Zigbee Smoke Detector" driver and the logs report "Gas Detector - Garage [my location for the detector] smoke is clear" every 1.5 seconds, but I want to know the CH4/CO levels.

This Tuya device paired as a 6 button switch initially, so I have extraneous stuff under Current States and State Variables even after switching to the "Tuya Zigbee Smoke Detector" driver. Screen shots below.

TIA for any help!

image


image

Well, being a glutton for punishment, I ordered yet another AliExpress smoke alarm claimed on the box to be ZIGBEE-SMOKE-LH-1PC model "HZ-Smoke sensor" and produced by eVatmaster Consulting GmBH. When I installed into HE, it comes up as being _TZE284_rccxox8p, but with no model grouping.

I see some activity on this for HA trying to set it up. It looks physically a lot like the Neximus noted in Mar/2024.

I also see that the driver has a _TZE200_rccxox8p which in theory is the same thing. I duped the line and changed it in the drive to the 284 value. It sees it, notes it is there from time to time, but never gives an alarm.

Any ideas how to configure this? It should be Tuya, and the docs say it works with SmartLife, but it is not recognized at this point (at least that I can discover).

Suggestions?

Thanks, Don

Well, I am shooting in the dark, and I added a fingerprint for this new device in my local driver. Odd one, but today I think I saw it work when the test button was used. I pressed test and got a battery report and "clear". Here is the line I added to the driver, followed by the log for it. Not sure if I got it right, but if this is the way it is supposed to behave, then perhaps kkossev might consider it for an update.

fingerprint profileId:'0104', endpointId:'01', inClusters:'0004,0005,EF00,0000', outClusters:'0019,000A', model:'TS0601', manufacturer:'_TZE284_rccxox8p' // added by don604

dev:832025-08-26 18:07:40.443

info

Smoke Detector battery is 100 %

dev:832025-08-26 18:07:40.441

info

Smoke Detector Battery level state (dp=0E) is: 2

dev:832025-08-26 18:07:40.438

debug

Smoke Detector Tuya cluster read attribute response: code 0E Attributte 7900 cluster EF00 data [00, 79, 0E, 04, 00, 01, 02]

dev:832025-08-26 18:07:40.363

debug

Smoke Detector Desc Map: [raw:catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00790E04000102, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:460B, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 79, 0E, 04, 00, 01, 02]]

dev:832025-08-26 18:07:40.345

debug

Smoke Detector description is catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00790E04000102

dev:832025-08-26 18:07:32.831

info

Smoke Detector smoke is clear

dev:832025-08-26 18:07:32.829

info

Smoke Detector smoke alarm (dp=65) is: 1

dev:832025-08-26 18:07:32.826

debug

Smoke Detector Tuya cluster read attribute response: code 65 Attributte 7800 cluster EF00 data [00, 78, 65, 01, 00, 01, 01]

dev:832025-08-26 18:07:32.821

debug

Smoke Detector Desc Map: [raw:catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00786501000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:460B, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 78, 65, 01, 00, 01, 01]]

dev:832025-08-26 18:07:32.803

debug

Smoke Detector description is catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00786501000101

dev:832025-08-26 18:07:32.710

info

Smoke Detector battery is 100 %

dev:832025-08-26 18:07:32.705

info

Smoke Detector Battery level % (dp=0F) is: 100%

dev:832025-08-26 18:07:32.702

debug

Smoke Detector Tuya cluster read attribute response: code 0F Attributte 7700 cluster EF00 data [00, 77, 0F, 02, 00, 04, 00, 00, 00, 64]

dev:832025-08-26 18:07:32.696

debug

Smoke Detector Desc Map: [raw:catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00770F02000400000064, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:460B, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 77, 0F, 02, 00, 04, 00, 00, 00, 64]]

dev:832025-08-26 18:07:32.676

debug

Smoke Detector description is catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00770F02000400000064

dev:832025-08-26 18:07:32.597

info

Smoke Detector battery is 100 %

dev:832025-08-26 18:07:32.588

info

Smoke Detector Battery level state (dp=0E) is: 2

dev:832025-08-26 18:07:32.584

debug

Smoke Detector Tuya cluster read attribute response: code 0E Attributte 7600 cluster EF00 data [00, 76, 0E, 04, 00, 01, 02]

dev:832025-08-26 18:07:32.579

debug

Smoke Detector Desc Map: [raw:catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00760E04000102, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:460B, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 76, 0E, 04, 00, 01, 02]]

dev:832025-08-26 18:07:32.555

debug

Smoke Detector description is catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00760E04000102

dev:832025-08-26 18:07:32.509

info

Smoke Detector smoke is detected

dev:832025-08-26 18:07:32.503

info

Smoke Detector smoke alarm (dp=65) is: 0

dev:832025-08-26 18:07:32.497

debug

Smoke Detector Tuya cluster read attribute response: code 65 Attributte 7500 cluster EF00 data [00, 75, 65, 01, 00, 01, 00]

dev:832025-08-26 18:07:32.486

debug

Smoke Detector Desc Map: [raw:catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00756501000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:460B, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 75, 65, 01, 00, 01, 00]]

dev:832025-08-26 18:07:32.445

debug

Smoke Detector description is catchall: 0104 EF00 01 01 0040 00 460B 01 00 0000 02 01 00756501000100

1 Like

Please ignore this. I see this may be a problematic device, so I've shoved it over onto Tuya and won't pursue this more.

@Don604 Sorry for the late reply, I’m still catching up on a big backlog of messages : (

Not quite sure what you meant by “...shoved it over onto Tuya” — did you ditch the device or something else?

Essentially given the negative performance on Hubitat of these devices, I decided it might be better to take it off Hubitat and use it on a Tuya hub (already had one). My bad performers are heading over there.

I really appreciate all you have done for Hubitat. I just moved from a house using X10 and Zigbee, to a condo fully upgraded to Zigbee and Zwave. Only thing not done is thermostats, but that may ome yet.

Thank you! Don

I am using this driver with a gas detector and it sometimes makes an event storm as in this screenshot:

then the hub performance degrades.
How can I block events with same value ?
Would it help with the hub performance if I decrease event reporting on driver ?

My solution for a spammy gas detector in my garage was to use a Rule called: Toggle running of Natural Gas Detector 7 sec every 12 minutes.

Obviously, you can set the values of enabled duration and frequency to suit your needs (this detector is mounted halfway up my garage wall; I have a 2nd non-spammy detector mounted on the ceiling -- natural gas is lighter than air -- that is always enabled).

1 Like

I don't understand how this rule works. is it a "rule machine" rule ?
and how does it block events from the driver ?
maybe a little info about the steps in the rule would let me understand.

@kkossev :

would it be OK if I add a condition at line 314 , instead of :

sendSmokeAlarmValueEvent( value / 10 )

change to:

if (value > 1)  {
   sendSmokeAlarmValueEvent( value / 10 )
}

because in my false alarms log says "smokeValue is 0.1 ppm"