@pmouli/isy-matter-server
Version:
Service to expose an ISY device as a Matter Border router
83 lines • 3.03 kB
JavaScript
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
import { Driver } from '../../../Definitions/Global/Drivers.js';
import { UnitOfMeasure } from '../../../Definitions/Global/index.js';
import { NodeFactory } from '../../NodeFactory.js';
import { Base } from '../index.js';
export class DoorLock extends Base {
commands = {
LOCK: this.lock,
UNLOCK: this.unlock,
QUERY: this.query,
SETTP: this.setTime,
CONFIG: this.setConfiguration,
WDU: this.writeChanges
};
static nodeDefId = '111';
static implements = ['111'];
constructor(isy, nodeInfo) {
super(isy, nodeInfo);
this.drivers.ST = Driver.create('ST', this, nodeInfo.state['ST'], { uom: UnitOfMeasure.DeadboltStatus, label: 'Status', name: 'status' });
this.drivers.BATLVL = Driver.create('BATLVL', this, nodeInfo.state['BATLVL'], { uom: UnitOfMeasure.Percent, label: 'Battery Level', name: 'batteryLevel' });
this.drivers.ERR = Driver.create('ERR', this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: 'Responding', name: 'responding' });
}
async lock() {
return this.sendCommand('LOCK');
}
async unlock(value) {
return this.sendCommand('UNLOCK', [value, UnitOfMeasure.Index]);
}
async query() {
return this.sendCommand('QUERY');
}
async setTime() {
return this.sendCommand('SETTP');
}
async setConfiguration(parameterNumber, parameterValue) {
return this.sendCommand('CONFIG', { NUM: [parameterNumber, UnitOfMeasure.Raw1ByteUnsignedValue], VAL: parameterValue });
}
async writeChanges() {
return this.sendCommand('WDU');
}
get status() {
return this.drivers.ST?.value;
}
get batteryLevel() {
return this.drivers.BATLVL?.value;
}
get responding() {
return this.drivers.ERR?.value;
}
}
NodeFactory.register(DoorLock);
(function (DoorLock) {
function is(node) {
return ['111'].includes(node.nodeDefId);
}
DoorLock.is = is;
function isImplementedBy(node) {
return ['111'].includes(node.nodeDefId);
}
DoorLock.isImplementedBy = isImplementedBy;
function create(isy, nodeInfo) {
return new DoorLock(isy, nodeInfo);
}
DoorLock.create = create;
DoorLock.Node = DoorLock;
DoorLock.Class = DoorLock;
let Commands;
(function (Commands) {
Commands["lock"] = "LOCK";
Commands["unlock"] = "UNLOCK";
Commands["query"] = "QUERY";
Commands["setTime"] = "SETTP";
Commands["setConfiguration"] = "CONFIG";
Commands["writeChanges"] = "WDU";
})(Commands = DoorLock.Commands || (DoorLock.Commands = {}));
let Drivers;
(function (Drivers) {
Drivers["status"] = "ST";
Drivers["batteryLevel"] = "BATLVL";
Drivers["responding"] = "ERR";
})(Drivers = DoorLock.Drivers || (DoorLock.Drivers = {}));
})(DoorLock || (DoorLock = {}));
//# sourceMappingURL=DoorLock.js.map