homebridge-poolcontroller-clocklear
Version:
A (semi) private Homebridge plugin for my custom Pool Controller app
30 lines (29 loc) • 1.08 kB
TypeScript
import { PlatformAccessory } from 'homebridge';
import { PoolControllerHomebridgePlatform } from './platform.js';
import { RelayState } from './poolControllerClient.js';
export interface PoolSnapshot {
relays: RelayState[];
schedulerEnabled: boolean;
}
/**
* Single HomeKit accessory exposing relay switches, optional scheduler switch,
* and optional load-fault contact sensors as multiple services.
*/
export declare class PoolControllerAccessory {
private readonly platform;
private readonly accessory;
private readonly relayIds;
private readonly relayServices;
private readonly loadServices;
private schedulerService?;
private snapshot;
constructor(platform: PoolControllerHomebridgePlatform, accessory: PlatformAccessory, initialSnapshot: PoolSnapshot, relayIds: number[]);
applySnapshot(snapshot: PoolSnapshot): void;
private ensureRelaySwitch;
private ensureSchedulerSwitch;
private syncLoadSensors;
private removeServiceBySubtype;
private getRelayOn;
private setRelayOn;
private setSchedulerOn;
}