klf-200-api
Version:
This module provides a wrapper to the socket API of a Velux KLF-200 interface. You will need at least firmware 0.2.0.0.71 on your KLF interface for this library to work.
38 lines • 1.42 kB
JavaScript
"use strict";
import { GW_FRAME_COMMAND_REQ } from "./common.js";
export class GW_WINK_SEND_REQ extends GW_FRAME_COMMAND_REQ {
Nodes;
EnableWink;
WinkTime;
PriorityLevel;
CommandOriginator;
constructor(Nodes, EnableWink = true, WinkTime = 254, PriorityLevel = 3, CommandOriginator = 1) {
super(27);
this.Nodes = Nodes;
this.EnableWink = EnableWink;
this.WinkTime = WinkTime;
this.PriorityLevel = PriorityLevel;
this.CommandOriginator = CommandOriginator;
const buff = this.Data.subarray(this.offset);
buff.writeUInt16BE(this.SessionID, 0);
buff.writeUInt8(this.CommandOriginator, 2);
buff.writeUInt8(this.PriorityLevel, 3);
buff.writeUInt8(this.EnableWink ? 1 : 0, 4);
buff.writeUInt8(this.WinkTime, 5);
// Multiple nodes are provided
if (Array.isArray(this.Nodes)) {
if (this.Nodes.length > 20)
throw new Error("Too many nodes.");
buff.writeUInt8(this.Nodes.length, 6);
for (let nodeIndex = 0; nodeIndex < this.Nodes.length; nodeIndex++) {
const node = this.Nodes[nodeIndex];
buff.writeUInt8(node, 7 + nodeIndex);
}
}
else {
buff.writeUInt8(1, 6);
buff.writeUInt8(this.Nodes, 7);
}
}
}
//# sourceMappingURL=GW_WINK_SEND_REQ.js.map