homebridge-philips-hue-sync-box
Version:
Homebridge plugin for the Philips Hue Sync Box.
36 lines • 1.99 kB
TypeScript
import { SyncBoxDevice } from './base.js';
import { type CharacteristicValue, PlatformAccessory, Service } from 'homebridge';
import { HueSyncBoxPlatform } from '../platform';
import { State } from '../state';
export declare abstract class BaseTvDevice extends SyncBoxDevice {
protected readonly platform: HueSyncBoxPlatform;
readonly accessory: PlatformAccessory;
protected state: State;
protected primaryAccessory?: PlatformAccessory | undefined;
protected lightbulbService?: Service;
protected inputServices: Service[];
protected mainAccessory?: PlatformAccessory;
protected readonly intensityToNumber: Map<string, number>;
protected readonly numberToIntensity: Map<number, string>;
protected readonly modeToNumber: Map<string, number>;
protected readonly numberToMode: Map<number, string>;
protected constructor(platform: HueSyncBoxPlatform, accessory: PlatformAccessory, state: State, primaryAccessory?: PlatformAccessory | undefined);
protected handleConfiguredNameChange(value: CharacteristicValue): void;
protected shouldBeOn(): boolean;
protected abstract createInputServices(): void;
protected abstract isLightbulbEnabled(): boolean;
protected createLightbulbService(): void;
setOnLightbulb(value: CharacteristicValue): void;
protected getServiceType(): typeof import("hap-nodejs/dist/lib/definitions/ServiceDefinitions.js").Television;
protected handleRemoteButton(value: CharacteristicValue): void;
protected updateSources(services: Service[]): void;
update(state: State): void;
protected abstract updateTv(): void;
private updateLightbulb;
private setLightbulbUnresponsive;
protected getInputService(name: string | undefined, position: string): Service;
protected setVisibility(service: Service): (value: CharacteristicValue) => void;
protected getMode(): string;
protected abstract getConfiguredNamePropertyName(): string;
}
//# sourceMappingURL=baseTv.d.ts.map