UNPKG

@pmouli/isy-matter-server

Version:

Service to expose an ISY device as a Matter Border router

225 lines (219 loc) 7.86 kB
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */ import { Family, UnitOfMeasure } from "../../../Definitions/Global/index.js"; import type { NodeInfo } from "../../../Model/NodeInfo.js"; import { ISY } from "../../../ISY.js"; import { ISYNode } from "../../../ISYNode.js"; import { ISYDeviceNode } from "../../ISYDeviceNode.js"; import { Base } from "../index.js"; import { Driver } from "../../../Definitions/Global/Drivers.js"; import { Insteon } from "../../../Definitions/index.js"; import { NodeFactory } from "../../NodeFactory.js"; type Commands = I3DialFlags.Commands.Type; type Drivers = I3DialFlags.Drivers.Type; export class I3DialFlags extends Base<Drivers, Commands> implements I3DialFlags.Interface { public override readonly commands = { GV0: this.updateMode, GV1: this.updateProgramLock, GV2: this.updateResumeDim, GV3: this.updateRelayAtFullOn, GV4: this.updateKeyBeep, GV5: this.updateDisableRf, GV6: this.updateDialToOff, GV7: this.updateErrorBlink, QUERY: this.query, WDU: this.writeChanges }; static override nodeDefId = "I3DialFlags"; static override implements = ['I3DialFlags']; declare readonly nodeDefId: 'I3DialFlags'; constructor (isy: ISY, nodeInfo: NodeInfo<Family.Insteon>) { super(isy, nodeInfo); this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Boolean, label: "Mode", name: "mode" }); this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.state['GV1'], { uom: UnitOfMeasure.Boolean, label: "Program Lock", name: "programLock" }); this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.state['GV2'], { uom: UnitOfMeasure.Boolean, label: "Resume Dim", name: "resumeDim" }); this.drivers.GV3 = Driver.create("GV3", this, nodeInfo.state['GV3'], { uom: UnitOfMeasure.Boolean, label: "Relay at Full On", name: "relayAtFullOn" }); this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.state['GV4'], { uom: UnitOfMeasure.Boolean, label: "Key Beep", name: "keyBeep" }); this.drivers.GV5 = Driver.create("GV5", this, nodeInfo.state['GV5'], { uom: UnitOfMeasure.Boolean, label: "Disable RF", name: "disableRf" }); this.drivers.GV6 = Driver.create("GV6", this, nodeInfo.state['GV6'], { uom: UnitOfMeasure.Boolean, label: "Dial to Off", name: "dialToOff" }); this.drivers.GV7 = Driver.create("GV7", this, nodeInfo.state['GV7'], { uom: UnitOfMeasure.Boolean, label: "Error Blink", name: "errorBlink" }); this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" }); } async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", [value, UnitOfMeasure.Boolean]); } async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", [value, UnitOfMeasure.Boolean]); } async updateResumeDim(value: Insteon.I3OnOff) { return this.sendCommand("GV2", [value, UnitOfMeasure.Boolean]); } async updateRelayAtFullOn(value: Insteon.I3OnOff) { return this.sendCommand("GV3", [value, UnitOfMeasure.Boolean]); } async updateKeyBeep(value: Insteon.I3OnOff) { return this.sendCommand("GV4", [value, UnitOfMeasure.Boolean]); } async updateDisableRf(value: Insteon.I3OnOff) { return this.sendCommand("GV5", [value, UnitOfMeasure.Boolean]); } async updateDialToOff(value: Insteon.I3OnOff) { return this.sendCommand("GV6", [value, UnitOfMeasure.Boolean]); } async updateErrorBlink(value: Insteon.I3OnOff) { return this.sendCommand("GV7", [value, UnitOfMeasure.Boolean]); } async query() { return this.sendCommand("QUERY"); } async writeChanges() { return this.sendCommand("WDU"); } public get mode(): Insteon.I3RelayDim { return this.drivers.ST?.value; } public get programLock(): Insteon.I3OnOff { return this.drivers.GV1?.value; } public get resumeDim(): Insteon.I3OnOff { return this.drivers.GV2?.value; } public get relayAtFullOn(): Insteon.I3OnOff { return this.drivers.GV3?.value; } public get keyBeep(): Insteon.I3OnOff { return this.drivers.GV4?.value; } public get disableRf(): Insteon.I3OnOff { return this.drivers.GV5?.value; } public get dialToOff(): Insteon.I3OnOff { return this.drivers.GV6?.value; } public get errorBlink(): Insteon.I3OnOff { return this.drivers.GV7?.value; } public get responding(): Insteon.Error { return this.drivers.ERR?.value; } } NodeFactory.register(I3DialFlags); export namespace I3DialFlags { export interface Interface extends Omit<InstanceType<typeof I3DialFlags>, keyof ISYDeviceNode<any, any, any, any>> { } export function is(node: ISYNode<any, any, any, any>): node is I3DialFlags { return ['I3DialFlags'].includes(node.nodeDefId); } export function isImplementedBy(node: ISYNode<any, any, any, any>): node is I3DialFlags { return ['I3DialFlags'].includes(node.nodeDefId); } export function create(isy: ISY, nodeInfo: NodeInfo<Family.Insteon>) { return new I3DialFlags(isy, nodeInfo); } export const Node = I3DialFlags; export const Class = I3DialFlags; export namespace Commands { export type Type = { GV0: ((value: Insteon.I3RelayDim) => Promise<boolean>) & { label: "Mode"; name: "updateMode"; }; GV1: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Program Lock"; name: "updateProgramLock"; }; GV2: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Resume Dim"; name: "updateResumeDim"; }; GV3: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Relay at Full On"; name: "updateRelayAtFullOn"; }; GV4: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Key Beep"; name: "updateKeyBeep"; }; GV5: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Disable RF"; name: "updateDisableRf"; }; GV6: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Dial to Off"; name: "updateDialToOff"; }; GV7: ((value: Insteon.I3OnOff) => Promise<boolean>) & { label: "Error Blink"; name: "updateErrorBlink"; }; QUERY: (() => Promise<boolean>) & { label: "Query"; name: "query"; }; WDU: (() => Promise<boolean>) & { label: "Write Changes"; name: "writeChanges"; }; }; } export enum Commands { updateMode = 'GV0', updateProgramLock = 'GV1', updateResumeDim = 'GV2', updateRelayAtFullOn = 'GV3', updateKeyBeep = 'GV4', updateDisableRf = 'GV5', updateDialToOff = 'GV6', updateErrorBlink = 'GV7', query = 'QUERY', writeChanges = 'WDU' } export namespace Drivers { export type Type = { ST: { uom: UnitOfMeasure.Boolean; value: Insteon.I3RelayDim; label: "Mode"; name: "mode"; }; GV1: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Program Lock"; name: "programLock"; }; GV2: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Resume Dim"; name: "resumeDim"; }; GV3: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Relay at Full On"; name: "relayAtFullOn"; }; GV4: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Key Beep"; name: "keyBeep"; }; GV5: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Disable RF"; name: "disableRf"; }; GV6: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Dial to Off"; name: "dialToOff"; }; GV7: { uom: UnitOfMeasure.Boolean; value: Insteon.I3OnOff; label: "Error Blink"; name: "errorBlink"; }; ERR: { uom: UnitOfMeasure.Index; value: Insteon.Error; label: "Responding"; name: "responding"; }; }; } export enum Drivers { mode = 'ST', programLock = 'GV1', resumeDim = 'GV2', relayAtFullOn = 'GV3', keyBeep = 'GV4', disableRf = 'GV5', dialToOff = 'GV6', errorBlink = 'GV7', responding = 'ERR' } }