[RELEASE] Tuya Smart Siren Zigbee driver

Although Tuya may have developed the technology, individual manufacturers who license that technology and build devices might not implement each and every capability that Tuya included. That sounds like what may have happened with the temperature and humidity data. That is one drawback with some Tuya devices.

It may be related also to the global chips shortage nowadays, or simply a cost reduction process... most probably the T/H sensor chip is not present in the newer models.

@kkossev I just received a Tuya Zigbee garage door controller and when I tried to pair it in HE it selected your siren driver.

Here's the pairing from the HE log.

It pairs properly with Zigbee2MQTT

dev:34492022-05-09 08:09:49.838 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=3 value=1 descMap.data = [00, FF, 03, 01, 00, 01, 01]
dev:34492022-05-09 08:09:49.836 pm traceTuya Smart Siren Zigbee  dp_id=1 dp=3 fncmd=1
dev:34492022-05-09 08:09:37.230 pm infoTuya Smart Siren Zigbee Tuya check-in
dev:34492022-05-09 08:09:19.786 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=3 value=1 descMap.data = [00, FD, 03, 01, 00, 01, 01]
dev:34492022-05-09 08:09:19.782 pm traceTuya Smart Siren Zigbee  dp_id=1 dp=3 fncmd=1
dev:34492022-05-09 08:08:50.424 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=3 value=1 descMap.data = [00, FB, 03, 01, 00, 01, 01]
dev:34492022-05-09 08:08:50.423 pm traceTuya Smart Siren Zigbee  dp_id=1 dp=3 fncmd=1
dev:33942022-05-09 08:08:48.518 pm infoDining Room Window Left is off [physical]
dev:34492022-05-09 08:08:19.747 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=3 value=1 descMap.data = [00, F9, 03, 01, 00, 01, 01]
dev:34492022-05-09 08:08:19.743 pm traceTuya Smart Siren Zigbee  dp_id=1 dp=3 fncmd=1
sys:12022-05-09 08:08:19.332 pm Zigbee Discovery Stopped
dev:34492022-05-09 08:08:19.297 pm infoTuya Smart Siren Zigbee application version is 46
dev:34492022-05-09 08:08:11.813 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=3 value=1 descMap.data = [00, F7, 03, 01, 00, 01, 01]
dev:34492022-05-09 08:08:11.812 pm traceTuya Smart Siren Zigbee  dp_id=1 dp=3 fncmd=1
dev:34492022-05-09 08:08:11.739 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=11 value=0 descMap.data = [00, F6, 0B, 01, 00, 01, 00]
dev:34492022-05-09 08:08:11.738 pm traceTuya Smart Siren Zigbee  dp_id=1 dp=11 fncmd=0
dev:34492022-05-09 08:08:11.682 pm infoTuya Smart Siren Zigbee volume is 3600
dev:34492022-05-09 08:08:11.681 pm traceTuya Smart Siren Zigbee  dp_id=2 dp=5 fncmd=3600
dev:34492022-05-09 08:08:11.626 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, F4, 02, 02, 00, 04, 00, 00, 00, 00]
dev:34492022-05-09 08:08:11.625 pm traceTuya Smart Siren Zigbee  dp_id=2 dp=2 fncmd=0
dev:34492022-05-09 08:08:11.565 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=4 value=10 descMap.data = [00, F3, 04, 02, 00, 04, 00, 00, 00, 0A]
dev:34492022-05-09 08:08:11.564 pm traceTuya Smart Siren Zigbee  dp_id=2 dp=4 fncmd=10
dev:34492022-05-09 08:08:11.528 pm warnTuya Smart Siren Zigbee NOT PROCESSED Tuya cmd: dp=12 value=2 descMap.data = [00, F2, 0C, 04, 00, 01, 02]
dev:34492022-05-09 08:08:11.523 pm traceTuya Smart Siren Zigbee  dp_id=4 dp=12 fncmd=2
dev:34492022-05-09 08:08:06.642 pm debugTuya Smart Siren Zigbee  NOT PARSED  : descMap = [raw:catchall: 0104 0000 01 01 0040 00 4E48 00 00 0000 04 01 00, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:4E48, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]
dev:34492022-05-09 08:08:06.494 pm debugTuya Smart Siren Zigbee  NOT PARSED  : descMap = [raw:4E4801000068040042105F545A453230305F6E6B6C716A6B36320000002003010000204605000042065453303630310700003001FEFF003000, dni:4E48, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZE200_nklqjk62, 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:TS0601, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]
dev:34492022-05-09 08:08:06.470 pm infoTuya Smart Siren Zigbee InitializeVars()... fullInit = false
dev:34492022-05-09 08:08:06.461 pm debugTuya Smart Siren Zigbee updating the settings from the current driver version null to the new version 1.0.0 2022/3/30 10:20 PM
sys:12022-05-09 08:08:06.327 pm Created Zigbee Device Tuya Smart Siren Zigbee
dev:34492022-05-09 08:08:06.288 pm traceTuya Smart Siren Zigbee sendZigbeeCommands(cmd=[he raw 0x4E48 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0x4E48 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200])
dev:34492022-05-09 08:08:06.272 pm infoTuya Smart Siren Zigbee configure()..
dev:34492022-05-09 08:08:06.254 pm infoTuya Smart Siren Zigbee installed()
sys:12022-05-09 08:08:05.064 pm Initializing Zigbee Device A4C1384DCB9DDC0E, 4E48
sys:12022-05-09 08:08:02.613 pm Zigbee Discovery Running

@kuzenkohome

You had the bad luck of receiving a newer model that is not compatible with the ZHA 1.2 standards, but uses Tuya specific ZIgbee clusters..

This is a coincidence - as this new device fingerprint does not match any of the available drivers on your hub, HE selects the closest match, primarily based on the device InClusters list.

Indeed, the Tuya Smart Siren ZIgbee driver is not the correct driver. You must manually change it to another driver that may work with the relay module.

You can try this one: https://raw.githubusercontent.com/kkossev/hubitat-muxa-fork/master/drivers/zemismart-zigbee-multigang-switch.groovy

HE can not compete with Zigbee2MQTT, which is an open-source community project, where dozens if not hundreds of contributors are reverse engineering and adding new products that pop up every week. But even there it takes at least one month before the newly added devices are available in the next update.

Can you post this relay module Model and Manufacturer from the device 'Data' section?

I wasn't really expecting it to be compatible with HE.

I actually bought 2 and upon pairing the second one it selected the Tuya Scene Switch TS004F :man_shrugging:

The zemismart driver did not work.

I was just letting you know it was successfully paired with Z2M, I don't expect HE to compare with Z2M.

  • endpointId: 01
  • model: TS0601
  • application: 46
  • manufacturer: _TZE200_nklqjk62
1 Like

Thank you @kuzenkohome , now I realize that this 'Garage Door Opener' is actually a rather different type of device, reporting back the status of the garage rolling door as returned by the additional sensor.
It shouldn't be so much difficult to add it in HE, but will require a new driver.

The HA -> HE integration is working really good, I am also using it for exposing in HE a couple of devices (mostly WiFi) that can not be supported natively in Hubitat. Also for some Xiaomi/Aqara devices (Air Purifier, Smart Fan and MiFlora soil sensors).

EDIT: July 2022
Tuya Zigbee Garage Opener is now supported in Hubitat : Tuya Zigbee Garage Door Opener - #30 by kkossev
@kuzenkohome

2 Likes

Hi @kkossev ,
Finally got the siren device today.
Joined the hub and assigned your driver with no problem.
Thank you for your efforts.
I can control the siren from its device page with no problem.
Seems like I am missing the option to include it in a rule of any kind as it does not how up as a Switch or any other device type. What am I missing?
Edit: I now see it shows up in Hubitat safety monitor and in RM so maybe sirens are only available there?

2 Likes

Yes, seems like Sirens are available for control only in Hubitat Safety Monitor and in the Rule Machine.. I am posting some screenshots below, because I already prepared them : )

HSM :

Rule Machine:

In order to be able to set any parameter, select 'Actuator' as capability

The possible custom actions for Tuya Siren are:

  • melody : number, 1..18 = set alarm type, can be any number between 1 and 18
  • duration : number, 0..180 = set alarm length in seconds. 0 = no audible alarm
  • volume : string, "low", "medium", "high"
2 Likes

Thanks @kkossev ,
Found out that I can add the siren to the dashboard using the attribute template allows me to see if the siren is on or off, battery level etc.
Did not find a way to trigger the siren on or off from a dashboard.
Adding to my alarm dashboard will allow me to trigger it or turn it off manually when away.
I guess this means the driver should support the switch capability. Can it be done? And if so, I'll be glad if you'll consider this in your future releases.
Thanks again for your work and help.

2 Likes

@amithalp adding switch capability to the siren driver is possible, but I have to think if there may be any side effects of this. As an example, the siren will appear in all HE applications that list light switches...

Meanwhile, you can create a virtual switch and control the Tuya siren from it - see this write-up on a possible way to do it.

2 Likes

Very true.

FWIW, I think it is okay to implement on/off in a siren driver because the built-in siren drivers do include switch capability. Here are the devices with the "Linear/Vision siren driver" and the "Aeotec Siren 6 driver".

1 Like

Thanks for the info! I usually check the built-in drivers (especially the virtual drivers) for their standard capabilities and commands, but this time seems like I have missed this one.

Do you know what the 'Pair Button' do? Link the virtual button number to the last SoundEffect played by 'Play Sound'?

1 Like

It pairs an external button to the siren that permits its use as a doorbell.

Do you know how the external button communicates to the siren? RF 433 or similar?

1 Like

I believe so. Definitely not through the hub. So not zigbee or zwave.

I think it might be this button:

I ordered 4 of these, really hope its the ones that work with ur driver ? Unfortunately it doesn't say what model number they are..

You never know what exact model you will receive when placing a purchase order for these devices. When you pair it to HE, we will know. Shouldn't be a big effort to make it work, even if its a new or unknown model.

The Tuya device is simply a siren and strobe which is great for an intruder alert, fire alarm, etc.

If you every want to have a device that has more flexibility in providing alerts, you can get the Ecolink 700 series chime/siren. The disadvantage is that it is a lot more expensive than your Tuya devices. The siren part of the device will do the siren and strobe thing like your Tuya, However, it also has a variety of built-in chimes sounds that can be used to alert you of things like doors being opened. You can also create custom sounds and load them on a micro SD card which inserts into the Ecolink device. Then you can create rules to play those sounds in response to a a trigger.
For example, when my garage door opens, the chime announces "The garage door has been opened". Likewise, when I get the message "There is motion in the basement" in the middle of the night, I know there is an intruder; most likely a mouse found a way in. For major events like a water link, you can use the siren slots to keep repeating the message at high volume in this the leak is fixed. It is a very useful device and it is fully supported by Hubitat.

1 Like

Ecolink Z-Wave 700 Chime + Siren seems to be a very useful device, unfortunately, it is very difficult to source it in Europe.

I was thinking about the possibility to add some enhancements in this driver for the cheap Tuya Zigbee siren. The hardware is not capable of playing custom sounds, but the built-in 18 different sounds and melodies could be used better.

Currently, the driver allows to select the melody number, the duration and the volume of what will be played on the next Siren/Both commands.

This setup is OK for use as an alarm - probably on maximum volume and long duration.
However, for door open notifications, or used as a doorbell, the volume must be lower and the notification shorter.. Such sounds or short melodies are already available inside the siren.

So what can be done is the following:

  • In the preference section add new "Default Melody", "Default Volume" and "Default Duration" parameters. These parameters will be used with the standard siren, strobe, both commands when the device is used for alarming purposes (from Hubitat Safety Monitor for example)
  • the current "Set Melody", "Set Volume", "Set Duration" custom commands to be removed (hopefully no one uses them in RM or other automation) and replace with a new combined single custom command play :
    • Play Melody, Volume, Duration

When 'Play' command is invoked from RM5.1 rule, it will first change the device melody #, volume and duration with the parameters specified in the same command line. This way it will be very easy to program a simple 'ding-dong' or similar low volume short sound. There are several inbuilt chime sounds to choose from.

After the custom play command finishes (probably at low volume and short duration), the driver will restore the default melody, volume, duration as set in the preference section, so that next time HSM activates and alarm, it will sound at the expected full volume and duration.