inventoresed
Version:
Z-Wave driver written entirely in JavaScript/TypeScript
362 lines (297 loc) • 7.36 kB
Markdown
# Door Lock CC
?> CommandClass ID: `0x62`
## Door Lock CC methods
### `getCapabilities`
```ts
async getCapabilities(): Promise<Pick<DoorLockCCCapabilitiesReport, "autoRelockSupported" | "blockToBlockSupported" | "boltSupported" | "doorSupported" | "holdAndReleaseSupported" | "latchSupported" | "twistAssistSupported" | "supportedDoorLockModes" | "supportedInsideHandles" | "supportedOperationTypes" | "supportedOutsideHandles"> | undefined>;
```
### `get`
```ts
async get(): Promise<Pick<DoorLockCCOperationReport, "currentMode" | "targetMode" | "duration" | "outsideHandlesCanOpenDoor" | "insideHandlesCanOpenDoor" | "latchStatus" | "boltStatus" | "doorStatus" | "lockTimeout"> | undefined>;
```
### `set`
```ts
async set(
mode: DoorLockMode,
): Promise<SupervisionResult | undefined>;
```
### `setConfiguration`
```ts
async setConfiguration(
configuration: DoorLockCCConfigurationSetOptions,
): Promise<SupervisionResult | undefined>;
```
### `getConfiguration`
```ts
async getConfiguration(): Promise<Pick<DoorLockCCConfigurationReport, "operationType" | "outsideHandlesCanOpenDoorConfiguration" | "insideHandlesCanOpenDoorConfiguration" | "lockTimeoutConfiguration" | "autoRelockTime" | "holdAndReleaseTime" | "twistAssist" | "blockToBlock"> | undefined>;
```
## Door Lock CC values
### `autoRelockTime`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "autoRelockTime",
}
```
- **label:** Duration in seconds until lock returns to secure state
- **min. CC version:** 4
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 65535
### `blockToBlock`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "blockToBlock",
}
```
- **label:** Block-to-block functionality enabled
- **min. CC version:** 4
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"boolean"`
### `boltStatus`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "boltStatus",
}
```
- **label:** Current status of the bolt
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `currentMode`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "currentMode",
}
```
- **label:** Current lock mode
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 255
### `doorStatus`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "doorStatus",
}
```
- **label:** Current status of the door
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `duration`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "duration",
}
```
- **label:** Remaining duration until target lock mode
- **min. CC version:** 3
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"duration"`
### `holdAndReleaseTime`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "holdAndReleaseTime",
}
```
- **label:** Duration in seconds the latch stays retracted
- **min. CC version:** 4
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 65535
### `insideHandlesCanOpenDoor`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "insideHandlesCanOpenDoor",
}
```
- **label:** Which inside handles can open the door (actual status)
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `insideHandlesCanOpenDoorConfiguration`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "insideHandlesCanOpenDoorConfiguration",
}
```
- **label:** Which inside handles can open the door (configuration)
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `latchStatus`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "latchStatus",
}
```
- **label:** Current status of the latch
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `lockTimeout`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "lockTimeout",
}
```
- **label:** Seconds until lock mode times out
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 65535
### `lockTimeoutConfiguration`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "lockTimeoutConfiguration",
}
```
- **label:** Duration of timed mode in seconds
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 65535
### `operationType`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "operationType",
}
```
- **label:** Lock operation type
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 255
### `outsideHandlesCanOpenDoor`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "outsideHandlesCanOpenDoor",
}
```
- **label:** Which outside handles can open the door (actual status)
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `outsideHandlesCanOpenDoorConfiguration`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "outsideHandlesCanOpenDoorConfiguration",
}
```
- **label:** Which outside handles can open the door (configuration)
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"any"`
### `targetMode`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "targetMode",
}
```
- **label:** Target lock mode
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 255
### `twistAssist`
```ts
{
commandClass: CommandClasses["Door Lock"],
endpoint: number,
property: "twistAssist",
}
```
- **label:** Twist Assist enabled
- **min. CC version:** 4
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"boolean"`