@k-roon/homebridge-hejhome-ir
Version:
Homebridge plugin for Hejhome IR devices.
26 lines • 1.12 kB
JavaScript
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