I like your version better because it provides a way to have different values when you have multiple locks. However it seems to me that my lock is different from yours because:
- Value at index
args[52] is not consistent on subsequent operations of lock/unlock, so I tried to rely only on args[41].
- It seems that messages of lock/unlock of either manually or via app are the same (on regards to
args[41]. Given 52 is not consistent I can’t tell if on my case it would be at another index.
- Opening and closing the door produces no log at all. Not sure what I am missing, or if it is really different to the point of not reporting the status at all on zigbee - maybe this is something pooled? idk.
- I’m yet to find out how it behaves on auto-lock and door jam.
I’d also like to learn how to report on battery level.
Here is the log of what I’ve tested so far
2025-11-21 12:15:44.409 WARNING (MainThread) [zigpy.zcl] [0x6BD7:1:0xfc00] [Wyze Lock] Received command: [75, 171, 64, 0, 65, 219, 228, 128, 97, 0, 1, 6, 96, 237, 23, 50, 66, 192, 136, 27, 24, 194, 89, 30, 183, 148, 70, 224, 167, 86, 119, 248, 16, 123, 90, 176, 137, 13, 221, 109, 187, 165, 200, 93, 145, 6, 55, 154, 13, 180, 8, 88, 112, 180, 93, 117, 151, 56, 199, 140, 166, 85, 36, 127, 107, 251, 65, 206, 224, 53, 4, 34, 205, 163, 73, 92]
2025-11-21 12:15:44.410 WARNING (MainThread) [zigpy.zcl] [0x6BD7:1:0xfc00] [Wyze Lock] Door action: Action.APP_LOCK
2025-11-21 12:18:44.887 WARNING (MainThread) [zigpy.zcl] [0x6BD7:1:0xfc00] [Wyze Lock] Received command: [45, 171, 64, 0, 35, 172, 112, 128, 99, 0, 1, 6, 96, 237, 23, 50, 66, 192, 136, 29, 24, 194, 89, 30, 183, 149, 12, 224, 167, 86, 16, 120, 121, 123, 74, 74, 137, 17, 193, 77, 23, 160, 63, 93, 148, 110]
2025-11-21 12:18:44.887 WARNING (MainThread) [zigpy.zcl] [0x6BD7:1:0xfc00] [Wyze Lock] Ignoring mesage of unknown type: (45, 171, 64), len: 46
2025-11-21 12:31:44.584 WARNING (MainThread) [zigpy.zcl] [0x6BD7:1:0xfc00] [Wyze Lock] Received command: [75, 171, 64, 0, 65, 165, 109, 128, 102, 0, 1, 6, 96, 237, 23, 50, 66, 192, 136, 28, 24, 194, 89, 30, 183, 136, 0, 224, 167, 86, 69, 113, 16, 123, 90, 176, 137, 13, 221, 109, 187, 162, 200, 93, 145, 6, 55, 134, 77, 180, 8, 88, 116, 180, 93, 117, 148, 213, 199, 140, 166, 85, 36, 127, 107, 251, 65, 206, 224, 53, 24, 98, 205, 163, 73, 95]
2025-11-21 12:31:44.585 WARNING (MainThread) [zigpy.zcl] [0x6BD7:1:0xfc00] [Wyze Lock] Door action: Action.APP_UNLOCK
During these tests, I had the “Door Position” setting off.
I just recalibrated and enabled door position, and now I can’t even figure out the lock status anymore. The number of arguments is less then 52, often 20 or 40, and the messages are not consistent with the real actions I see in the app - like, opening the door shows in the app a log of the door open, but this doesn’t show up in zha logs with an approximate time stamp. Most of time the number of logs is smaller than the number of items in the Wyze App.
So I ended up with having Door Position = Disabled, and I adapted the quirks to be like this: