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