Kwikset SmartCode 914 Integration with HomeAssistant

I have recently added a Kwikset SmartCode 914 (Zigbee) to deCONZ (2.14.1) and integrated with HomeAssistant. While I can see and interact (lock/unlock) the entity in both HomeAssistant and through deCONZ via the cluster, entity states appear to be wrong or are otherwise not being passed through the gateway.

Within the deCONZ interface, I can see there is a Lock State that always reports as “Unlocked” (possible bug?). Other known working states in deCONZ such as the listed PINs, the PIN used to unlock, etc. are not being passed through the gateway to HomeAssistant.

Any ideas on how to work around this?

For memory https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3152

And the PIN stuff is not yet merged https://github.com/dresden-elektronik/deconz-rest-plugin/pull/4876

Within the deCONZ interface

Hello, have an access to the GUI ? If yes, do the device react if you try to lock/unlock direclty on the door lock cluster ?

If you lock unlook it manualy do you have an update somewhere ?

Hello, have an access to the GUI ? If yes, do the device react if you try to lock/unlock direclty on the door lock cluster ?

Yes, I can see the device and interact with it through the door lock cluster - everything works as expected for the actual operation (lock and unlock).

If you lock unlook it manualy do you have an update somewhere ?

This turns out to have been either a user or device-specific issue. The lock is not fully engaging through the keypad lock button, deCONZ lock execution, etc. so the lock was reporting as “Not fully locked” in the deCONZ cluster. Apparently deCONZ is passing this as an “unlocked” state, so that was part of my confusion as the status was not being passed as I had expected (door appears and acts as if locked).

Perhaps we can change the reporting of Lock State “Not fully locked” to jammed instead of unlocked?

Yes exactly


                                    if (ia->numericValue().u8 == 1)
                                    {
                                        str = QLatin1String("locked");
                                        dlLock = true;
                                    }
                                    else if (ia->numericValue().u8 == 0)
                                    {
                                        str = QLatin1String("not fully locked");
                                        dlLock = false;
                                    }
                                    else if (ia->numericValue().u8 == 2)
                                    {
                                        str = QLatin1String("unlocked");
                                        dlLock = false;
                                    }
                                    else
                                    {
                                        str = QLatin1String("undefined");
                                        dlLock = false;
                                    }

You are sure the door is correclty locked ?
On the defaut code it’s a bool value and it s true only on full locked return.

A solution can be using a DDF like here https://github.com/dresden-elektronik/deconz-rest-plugin/pull/5775

But for config/lock instead of
Item.val = Attr.val == 1

use
Item.val = Attr.val < 2