UNPKG

@pmouli/isy-matter-server

Version:

Service to expose an ISY device as a Matter Border router

45 lines (30 loc) 1.03 kB
import { Devices } from 'isy-nodejs/ISY'; import { ISYClusterBehavior, type PropertyChange } from '../ISYClusterBehavior.js'; import { BehaviorRegistry } from '../BehaviorRegistry.js'; import { OnOffLightRequirements } from '@matter/main/devices'; import type { ISYNode } from 'isy-nodejs/ISYNode'; export class RelayOnOffBehavior extends ISYClusterBehavior(OnOffLightRequirements.OnOffServer, Devices.Insteon.RelayLamp as ISYNode.Factory<any,any>) { override async initialize(_options?: {}) { await super.initialize(_options); //this.state.onOff = this.device.status; //this.state.onOff = await this.device.state; } override on = async () => { if(!this.state.onOff) { await this.device.on(); this.state.onOff = true; } //this.device.commands.DON = true; }; override async off() { if(this.state.onOff) { await this.device.off(); this.state.onOff = false; } //this.state.onOff = false; // this.device.drivers = false; } } BehaviorRegistry.register(RelayOnOffBehavior);