1+ // Custom Notification to DoorLock mappings
2+ def zwNOTIFICATION_TYPE 0x7103
3+ def zwNOTIFICATION_ACCESS_CONTROL_STATE 0x7105
4+ def zwVALUE 0x7106
5+
6+ def zbDOOR_LOCK_CLUSTER_LOCK_STATE 0x01010000
7+ def zbDOOR_LOCKED 0x01
8+ def zbDOOR_UNLOCKED 0x02
9+
10+ def ACCESS_CONTROL 0x06
11+ def ACCESS_CONTROL_TYPE 0xFF
12+
13+ def MANUAL_LOCK_OPERATION 0x01
14+ def MANUAL_UNLOCK_OPERATION 0x02
15+ def RF_LOCK_OPERATION 0x03
16+ def RF_UNLOCK_OPERATION 0x04
17+ def KEYPAD_LOCK_OPERATOIN 0x05
18+ def KEYPAD_UNLOCK_OPERATOIN 0x06
19+ def AUTO_LOCK_LOCKED_OPERATION 0x09
20+ def UNLOCK_BY_RF_WITH_INVALID_USER_CODE 0x14
21+ def LOCKED_BY_RF_WITH_INVALID_USER_CODE 0x15
22+
23+
24+ scope 0 {
25+
26+ r'zbDOOR_LOCK_CLUSTER_LOCK_STATE =
27+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == MANUAL_LOCK_OPERATION ) zbDOOR_LOCKED
28+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == MANUAL_UNLOCK_OPERATION ) zbDOOR_UNLOCKED
29+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == RF_LOCK_OPERATION ) zbDOOR_LOCKED
30+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == RF_UNLOCK_OPERATION ) zbDOOR_UNLOCKED
31+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == KEYPAD_LOCK_OPERATOIN ) zbDOOR_LOCKED
32+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == KEYPAD_UNLOCK_OPERATOIN ) zbDOOR_UNLOCKED
33+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == AUTO_LOCK_LOCKED_OPERATION ) zbDOOR_LOCKED
34+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == UNLOCK_BY_RF_WITH_INVALID_USER_CODE ) zbDOOR_UNLOCKED
35+ if ( r'zwNOTIFICATION_TYPE[ACCESS_CONTROL].zwNOTIFICATION_ACCESS_CONTROL_STATE[ACCESS_CONTROL_TYPE].zwVALUE == LOCKED_BY_RF_WITH_INVALID_USER_CODE ) zbDOOR_LOCKED
36+ undefined
37+
38+ }
0 commit comments