[RELEASE] Tuya Zigbee Vibration Sensor

'Tuya ZigBee Vibration Sensor' driver is available for installation from Hubitat Package Manager (HPM ).

Driver code is available from the GitHub repository: (link).

This driver supports Tuya-specific vibration sensors and some non-Tuya models (Samsung and TR). The latest devices have very good HE inbuilt drivers, but they are also included here because of the healthStatus attribute.

image
image
image

device links
Model: TS0210 Tuya Vibration Sensor
AliExpres (Zemismart) : (link)
Moes: (link)
Tuya Zigbee3.0 Vibration Detector For Glass Door And Window
* manufacturer: _TYZB01_pbgpvhgx
AliExpress: (link)
THIRDREALITY Zigbee Vibration Sensor
Amazon .de (link)

The CHANGELOG is now available on GitHub :

Amazon US link

There is one small addition in yesterday's new version - a new attribute 'lastBattery' with the time stamp when the last battery report was received from the device :

image

You can update the driver manually using the link in the first post.

I'm using this driver on a Tuya Vibration sensor, and it doesn't "turn off" acceleration.
Here is the data portion:


Here is the states:

The acceleration hasn't changed, even though it's been still for quite a while.

I have added a command to reset the acceleration active attribute :

image

(update the driver to the new version from the link on the top post).

After the reset, does the device register a new vibration?

First, I think I should explain how I'm hoping to use this device.
I would like to put this on a dryer, in order to tell that the "drying cycle" has finished.
So, at approx. 2:58 (local time), after I reset the acceleration to inactive (thank you!), I ran the dryer for a minute or two. I got the following events:


I think that I have enough, to make up a RM rule to make an announcement at the appropriate time.

i turned on debug and logging and get the following...is that ok
dev:392024-05-26 09:14:50.932 PMwarnDescription map not parsed: [raw:5F3D01FFF12800002901000100291F000200298FFD0300295B03, dni:5F3D, endpoint:01, cluster:FFF1, size:28, attrId:0000, encoding:29, command:0A, value:0001, clusterInt:65521, attrInt:0, additionalAttrs:[[value:001F, encoding:29, attrId:0001, consumedBytes:5, attrInt:1], [value:FD8F, encoding:29, attrId:0002, consumedBytes:5, attrInt:2], [value:035B, encoding:29, attrId:0003, consumedBytes:5, attrInt:3]]]

dev:392024-05-26 09:14:50.929 PMdebugDryer sensor: Parsing: read attr - raw: 5F3D01FFF12800002901000100291F000200298FFD0300295B03, dni: 5F3D, endpoint: 01, cluster: FFF1, size: 28, attrId: 0000, encoding: 29, command: 0A, value: 01000100291F000200298FFD0300295B03

dev:392024-05-26 09:14:49.909 PMwarnDescription map not parsed: [raw:5F3D01FFF12800002901000100293E000200298FFD0300299903, dni:5F3D, endpoint:01, cluster:FFF1, size:28, attrId:0000, encoding:29, command:0A, value:0001, clusterInt:65521, attrInt:0, additionalAttrs:[[value:003E, encoding:29, attrId:0001, consumedBytes:5, attrInt:1], [value:FD8F, encoding:29, attrId:0002, consumedBytes:5, attrInt:2], [value:0399, encoding:29, attrId:0003, consumedBytes:5, attrInt:3]]]

dev:392024-05-26 09:14:49.906 PMdebugDryer sensor: Parsing: read attr - raw: 5F3D01FFF12800002901000100293E000200298FFD0300299903, dni: 5F3D, endpoint: 01, cluster: FFF1, size: 28, attrId: 0000, encoding: 29, command: 0A, value: 01000100293E000200298FFD0300299903

dev:392024-05-26 09:14:48.909 PMwarnDescription map not parsed: [raw:5F3D01FFF12800002901000100294E000200298FFD0300296B03, dni:5F3D, endpoint:01, cluster:FFF1, size:28, attrId:0000, encoding:29, command:0A, value:0001, clusterInt:65521, attrInt:0, additionalAttrs:[[value:004E, encoding:29, attrId:0001, consumedBytes:5, attrInt:1], [value:FD8F, encoding:29, attrId:0002, consumedBytes:5, attrInt:2], [value:036B, encoding:29, attrId:0003, consumedBytes:5, attrInt:3]]]

dev:392024-05-26 09:14:48.906 PMdebugDryer sensor: Parsing: read attr - raw: 5F3D01FFF12800002901000100294E000200298FFD0300296B03, dni: 5F3D, endpoint: 01, cluster: FFF1, size: 28, attrId: 0000, encoding: 29, command: 0A, value: 01000100294E000200298FFD0300296B03

@tim.ocallag check if you are using the latest dev. branch version, should be 1.2.1 ?

@Owen it is difficult to determine why your sensors are so sensitive... I have only two - TS0210 _TYZB01_3zv6oleo and _TYZB01_pbgpvhgx, and at the lowest sensitivity settings they are quiet.

An alternative approach could be to pair the sensors to a Tuya Matter GW bridge and see if there is any difference when paired directly to HE.

I have the ThirdReality Vibration Sensor. I might be wrong, but I don't think you can set the sensitivity via zigbee - I think you have to use the DIP switches and it only has 4 levels of sensitivity, not 6.
I found "Exposes vibration, battery_low, battery, voltage, x_axis, y_axis, z_axis, linkquality" https://docs.bary.io/devices/3RVS01031Z

That's correct, the ThirdReality vibration sensor sensitivity is set from the DIP switches.

I will hide the sensitivity preference for the TR model in the next driver version.

Thank you for the Driver development on the Tuya Zigbee Vibration sensor.

On the Hubitat device page I can see that the Acceleration State momentary reverts to the Inactive State according to the time set in the Preferences even if Vibration is still present? Is it possible for the State not to revert to Inactive if Acceleration (vibration) is still being detected?

Anyone have a driver for this device Tuya Vibration sensor..


I added the one from HPM and it does not load initially. The device initially loads the Aqara water leak driver. I changed it, but I'm still getting the parameters (presence and water) from the device.
https://www.aliexpress.com/item/3256807801320068.html?spm=a2g0o.order_list.order_list_main.5.2b1f1802BTLS3o

When changing drivers, it's always a good idea to first change to the "Device" driver Type (yep, plain "Device" is its name), and then use all the various "Delete all..." command options it offers.

That'll make a clean slate when you next switch to the driver you really want to use.

here's some configuration


settings

Added to the TODO list; thank you for providing the device details!

Did you get this working? I have the same use for the same sensor. I have a rule written using vibration detected constantly over a set period of time. This works great 95% of the time. My OCD always shoots for that 100% of the time so I was wondering how you done it if you had that 100% success rate.

The 'release' version of the "Tuya ZigBee Vibration Sensor" driver was rather old in HPM, now it is pushed for automatic update :

  • ver 1.2.1 2024-05-22 - delete scheduled jobs on Save Preferences; added lastBattery attribute; added setAccelarationInactive command;
  • ver 1.2.2 2024-06-03 - sensitivity preference is hidden for non-Tuya models; threeAxis preference is hidden for Tuya models;

This is a new Tuya device, there is very little information for it,

If you enable the Debug logging, do you see anything in the live logs when the vibration sensor is activated?