UNPKG

inventoresed

Version:

Z-Wave driver written entirely in JavaScript/TypeScript

176 lines (132 loc) 3.1 kB
# User Code CC ?> CommandClass ID: `0x63` ## User Code CC methods ### `getUsersCount` ```ts async getUsersCount(): Promise<number | undefined>; ``` ### `get` ```ts async get( userId: number, multiple?: false, ): Promise<Pick<UserCode, "userIdStatus" | "userCode"> | undefined>; async get( userId: number, multiple: true, ): Promise< { userCodes: readonly UserCode[]; nextUserId: number } | undefined >; ``` ### `set` ```ts async set( userId: number, userIdStatus: Exclude< UserIDStatus, UserIDStatus.Available | UserIDStatus.StatusNotAvailable >, userCode: string | Buffer, ): Promise<void>; ``` Configures a single user code. ### `setMany` ```ts async setMany(codes: UserCodeCCSetOptions[]): Promise<void>; ``` Configures multiple user codes. ### `clear` ```ts async clear(userId: number = 0): Promise<void>; ``` Clears one or all user code. **Parameters:** - `userId`: The user code to clear. If none or 0 is given, all codes are cleared ### `getCapabilities` ```ts async getCapabilities(): Promise<Pick<UserCodeCCCapabilitiesReport, "supportsMasterCode" | "supportsMasterCodeDeactivation" | "supportsUserCodeChecksum" | "supportsMultipleUserCodeReport" | "supportsMultipleUserCodeSet" | "supportedUserIDStatuses" | "supportedKeypadModes" | "supportedASCIIChars"> | undefined>; ``` ### `getKeypadMode` ```ts async getKeypadMode(): Promise<KeypadMode | undefined>; ``` ### `setKeypadMode` ```ts async setKeypadMode(keypadMode: KeypadMode): Promise<void>; ``` ### `getMasterCode` ```ts async getMasterCode(): Promise<string | undefined>; ``` ### `setMasterCode` ```ts async setMasterCode(masterCode: string): Promise<void>; ``` ### `getUserCodeChecksum` ```ts async getUserCodeChecksum(): Promise<number | undefined>; ``` ## User Code CC values ### `keypadMode` ```ts { commandClass: CommandClasses["User Code"], endpoint: number, property: "keypadMode", } ``` - **label:** Keypad Mode - **min. CC version:** 2 - **readable:** true - **writeable:** false - **stateful:** true - **secret:** false - **value type:** `"number"` ### `masterCode` ```ts { commandClass: CommandClasses["User Code"], endpoint: number, property: "masterCode", } ``` - **label:** Master Code - **min. CC version:** 2 - **readable:** true - **writeable:** true - **stateful:** true - **secret:** true - **value type:** `"string"` - **min. length:** 4 - **max. length:** 10 ### `userCode(userId: number)` ```ts { commandClass: CommandClasses["User Code"], endpoint: number, property: "userCode", propertyKey: number, } ``` - **min. CC version:** 1 - **readable:** true - **writeable:** true - **stateful:** true - **secret:** true - **value type:** `"any"` ### `userIdStatus(userId: number)` ```ts { commandClass: CommandClasses["User Code"], endpoint: number, property: "userIdStatus", propertyKey: number, } ``` - **label:** `User ID status (${number})` - **min. CC version:** 1 - **readable:** true - **writeable:** true - **stateful:** true - **secret:** false - **value type:** `"number"`