So, I have an older Yale YRD120 Touchscreen Deadbolt T1L with a Z-wave module that came with the house. I've had it working ever since I was on that 'horrible' SmartThings hub. It has an annoying little bug that's like that itch on your back you just can't reach, lol.
What happens is that every once in a while, for no reason what so ever, the door lock status will just up and change itself to "Front Door Lock is unlocked" in the device logs. It happens of course, after the device has been set to locked, either programmatically or manually. Typically, what happens is my Son will unlock the door, go out, close it and palm press the touchpad to lock the door. The log shows it locked. Later in the morning, when I look at the Dashboard, the Front Door Lock will show "Unlocked" Icon and Red. Of course, looking at the physical lock, its secure and locked. The logs show this scenario:
|lock| unlocked| |Front Door Lock is unlocked --> [Timestamp 1 hour or so later]
|lock| locked| |Front Door Lock was locked manually [physical]
|battery| 76 |%| Front Door Lock battery is 76% |DEVICE|
|lock |unlocked| | Front Door Lock was unlocked manually [physical]
Doing a refresh does nothing and of course, there are battery status updates in the log going forward, so the entry is often buried in the logs. I thought of using 'Reliable-Locks' app GitHub - joelwetzel/Hubitat-Reliable-Locks: An app that will create virtual locks that 'wrap' your physical lock devices, making them more reliable. But since what its does is a wrap a virtual lock of the physical lock and refresh its status, that doesn't seem to work.
Anyway, what I ended up with was some digging into Webcore and how to access the log entries and make logic decision based on currentEvent compared to previousEvent. It seems to be working pretty well, so I wanted to share in case someone else has a similar problem.