inventoresed
Version:
Z-Wave driver written entirely in JavaScript/TypeScript
182 lines (144 loc) • 3.43 kB
Markdown
# Multilevel Switch CC
?> CommandClass ID: `0x26`
## Multilevel Switch CC methods
### `get`
```ts
async get(): Promise<Pick<MultilevelSwitchCCReport, "currentValue" | "targetValue" | "duration"> | undefined>;
```
### `set`
```ts
async set(
targetValue: number,
duration?: Duration | string,
): Promise<SupervisionResult | undefined>;
```
Sets the switch to a new value.
**Parameters:**
- `targetValue`: The new target value for the switch
- `duration`: The duration after which the target value should be reached. Can be a Duration instance or a user-friendly duration string like `"1m17s"`. Only supported in V2 and above.
### `startLevelChange`
```ts
async startLevelChange(
options: MultilevelSwitchCCStartLevelChangeOptions,
): Promise<SupervisionResult | undefined>;
```
### `stopLevelChange`
```ts
async stopLevelChange(): Promise<SupervisionResult | undefined>;
```
### `getSupported`
```ts
async getSupported(): Promise<SwitchType | undefined>;
```
## Multilevel Switch CC values
### `compatEvent`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: "event",
}
```
- **label:** Event value
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** false
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 255
### `currentValue`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: "currentValue",
}
```
- **label:** Current value
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 99
### `duration`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: "duration",
}
```
- **label:** Remaining duration
- **min. CC version:** 1
- **readable:** true
- **writeable:** false
- **stateful:** true
- **secret:** false
- **value type:** `"duration"`
### `levelChangeDown(switchType: SwitchType)`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: string,
}
```
- **label:** `Perform a level change (${string})`
- **min. CC version:** 1
- **readable:** false
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"boolean"`
### `levelChangeUp(switchType: SwitchType)`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: string,
}
```
- **label:** `Perform a level change (${string})`
- **min. CC version:** 1
- **readable:** false
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"boolean"`
### `restorePrevious`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: "restorePrevious",
}
```
- **label:** Restore previous value
- **min. CC version:** 1
- **readable:** false
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"boolean"`
### `targetValue`
```ts
{
commandClass: CommandClasses["Multilevel Switch"],
endpoint: number,
property: "targetValue",
}
```
- **label:** Target value
- **min. CC version:** 1
- **readable:** true
- **writeable:** true
- **stateful:** true
- **secret:** false
- **value type:** `"number"`
- **min. value:** 0
- **max. value:** 99