inventoresed
Version:
Z-Wave driver written entirely in JavaScript/TypeScript
176 lines (132 loc) • 3.1 kB
Markdown
# 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"`