@pmouli/isy-matter-server
Version:
Service to expose an ISY device as a Matter Border router
29 lines (23 loc) • 920 B
text/typescript
import { DimmableLightRequirements } from '@matter/node/devices';
import { Identify } from '@matter/main/clusters';
import { ISYClusterBehavior } from '../ISYClusterBehavior.js';
import { BehaviorRegistry } from '../BehaviorRegistry.js';
import { Devices } from 'isy-nodejs/ISY';
export class IdentifyBehavior extends ISYClusterBehavior(DimmableLightRequirements.IdentifyServer, Devices.Insteon.RelayLamp) {
override async initialize() {
await super.initialize();
this.state.identifyType = Identify.IdentifyType.AudibleBeep;
}
override async identify() {
return this.device.beep(100);
}
override async triggerEffect(request: Identify.TriggerEffectRequest) {
switch (request.effectIdentifier) {
case Identify.EffectIdentifier.Blink:
return this.device.fastOn().then(() => this.device.fastOff());
default:
return this.device.beep(100);
}
}
}
BehaviorRegistry.register(IdentifyBehavior);