UNPKG

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.

44 lines 1.77 kB
"use strict"; import { GW_FRAME_COMMAND_REQ } from "./common.js"; export class GW_SET_LIMITATION_REQ extends GW_FRAME_COMMAND_REQ { Nodes; LimitationValueMin; LimitationValueMax; LimitationTime; PriorityLevel; CommandOriginator; ParameterActive; constructor(Nodes, LimitationValueMin, LimitationValueMax, LimitationTime, PriorityLevel = 3, CommandOriginator = 1, ParameterActive = 0) { super(31); this.Nodes = Nodes; this.LimitationValueMin = LimitationValueMin; this.LimitationValueMax = LimitationValueMax; this.LimitationTime = LimitationTime; this.PriorityLevel = PriorityLevel; this.CommandOriginator = CommandOriginator; this.ParameterActive = ParameterActive; 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.ParameterActive, 25); buff.writeUInt16BE(this.LimitationValueMin, 26); buff.writeUInt16BE(this.LimitationValueMax, 28); buff.writeUInt8(this.LimitationTime, 30); // 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, 4); for (let nodeIndex = 0; nodeIndex < this.Nodes.length; nodeIndex++) { const node = this.Nodes[nodeIndex]; buff.writeUInt8(node, 5 + nodeIndex); } } else { buff.writeUInt8(1, 4); buff.writeUInt8(this.Nodes, 5); } } } //# sourceMappingURL=GW_SET_LIMITATION_REQ.js.map