UNPKG

@k-roon/homebridge-hejhome-ir

Version:
26 lines 1.12 kB
import { IrBaseAccessory } from './IrBaseAccessory.js'; export class IrStatelessSwitchAccessory extends IrBaseAccessory { irCommand; constructor(platform, accessory, device, /** DIY IR 허브에 저장한 버튼 라벨 (예: '전원' 혹은 '채널+') */ irCommand) { super(platform, accessory, device, 'Switch'); this.irCommand = irCommand; const { Characteristic } = this.platform.api.hap; /** 항상 OFF로 보이는 Stateless 버튼 패턴 */ this.service.getCharacteristic(Characteristic.On) .onSet(this.activateSwitch.bind(this)) .onGet(() => false); } /** 버튼 누름 → DIY API 전송 → 0.5 초 뒤 OFF 복원 */ async activateSwitch(value) { if (value) { // 핵심: "requirments": { "value": "<버튼 라벨>" } await this.sendCommand('value', this.irCommand); setTimeout(() => { this.service.updateCharacteristic(this.platform.api.hap.Characteristic.On, false); }, 500); } } } //# sourceMappingURL=IrStatelessSwitchAccessory.js.map