I recently purchased a Tuya Zigbee vibration sensor and am trying to properly configure it for use on my dryer so I get notifications when it is done. I am using @kkossev driver with it, but I guess I don't understand how the device hardware resets every 2 seconds yet I'm trying to filter out false events, such as closing the door. If I set a number larger than 2, does that delay reporting the change? I wrote a Rule Machine rule but can't seem to get the various timings figured out.
I've also tried using @csteele Better Laundry Monitor but the only option exposed is "Stop after no vibration for this many sequential reportings: ". The problem is that once it resets, there is only 1 reporting cycle. But if I only use 1 reporting cycle to trigger then I get some false reporting.
I can't give much advice since I don't have that sensor nor do I use Vibration as my choice in BLM.
The first thought I had, based on the description of it resetting every two seconds is to ignore the real vibration sensor's OFF events. Use a Rule to Set a virtual sensor ON. Use the virtual sensor to feed BLM. Reset (OFF) the virtual sensor 1 or 2 or 5 minute after the sensor goes on. Turn the sensor on with each real vibration sensor on... The only way to turn off then is the 1/2/5 minute reset, whatever filters out the false end.
@ritchierich That's the same approach I took with my rule. However, I capture and announce both the start and the finish by setting local and hub variables. Maybe I've put too much thought into this and can streamline like you've done...simply wait for a long acceleration period to trigger the start and then wait for inactive. Thanks for your help.
If you set 30 seconds as an example, the acceleration will switch to 'inactive' after 30 seconds without a new vibration detected. If there is a permanent vibration, the 30 seconds timeout will be restarted again and again every 2 seconds, because 2 seconds is the device detection (or retrigger) period.
If you need to filter vibrations whose duration is less than 10 seconds as an example, you'll need to use a RM5 rule for now. Or I can think of adding such a 'minimum active time' filter in the driver. This filter will delay the 'acceleration active' event with the time of the filtering period, however for the needs of detecting a laundry machine working or idle state could be what we need?
Update May 2024: now there is a dedicated thread for the Tuya Vibration sensors :
That makes sense. I monitor for a delay at the start of the cycle but never know whether the time interval would be affected by the value I had set on the driver reset. Thanks for the explanation, I think I understand much better now.