UNPKG

@wanderxjtu/homebridge-yeelighter

Version:

Yeelight support for Homebridge with particular support of ceiling lights

78 lines 3.51 kB
import { Service, PlatformAccessory, Characteristic } from "homebridge"; import { YeelighterPlatform } from "./platform"; import { YeeAccessory, OverrideLightConfiguration } from "./yeeaccessory"; import { Specs } from "./specs"; import { Device } from "./yeedevice"; export declare const POWERMODE_DEFAULT = 0; export declare const POWERMODE_CT = 1; export declare const POWERMODE_HSV = 3; export declare const POWERMODE_MOON = 5; export interface Attributes { power: boolean; color_mode: number; bright: number; hue: number; sat: number; ct: number; bg_power: boolean; bg_bright: number; bg_hue: number; bg_sat: number; bg_ct: number; bg_lmode: number; nl_br: number; active_mode: number; name: string; } export declare const EMPTY_ATTRIBUTES: Attributes; export declare function powerModeFromColorModeAndActiveMode(color_mode: number, active_mode: number): 1 | 0 | 3 | 5; export declare function convertColorTemperature(value: number): number; export declare function isValidValue(value: unknown): boolean; export interface ConcreteLightService { service: Service; onAttributesUpdated: (newAttributes: Attributes) => void; onPowerOff: () => void; updateName(value: string): any; } export interface LightServiceParameters { platform: YeelighterPlatform; readonly accessory: PlatformAccessory; light: YeeAccessory; } export declare class LightService { protected subtype?: string | undefined; service: Service; protected powerMode: number; protected lastHue?: number; protected lastSat?: number; protected readonly platform: YeelighterPlatform; protected readonly accessory: PlatformAccessory; protected light: YeeAccessory; protected name: string; constructor(parameters: LightServiceParameters, subtype?: string | undefined); get detailedLogging(): boolean; updateName(value: string): void; protected get device(): Device; private get logPrefix(); log: (message?: unknown, ...optionalParameters: unknown[]) => void; warn: (message?: unknown, ...optionalParameters: unknown[]) => void; error: (message?: unknown, ...optionalParameters: unknown[]) => void; debug: (message?: unknown, ...optionalParameters: unknown[]) => void; protected get config(): OverrideLightConfiguration; get specs(): Specs; attributes(): Promise<Attributes>; getAttribute<U extends keyof Attributes>(attribute: U): Promise<Attributes[U]>; setAttributes(attributes: Partial<Attributes>): void; protected handleCharacteristic(uuid: any, getter: () => Promise<any>, setter: (value: any) => void): Characteristic; protected updateCharacteristic(uuid: any, value: boolean | number | string): Promise<undefined>; onPowerOff: () => void; protected sendCommandPromiseWithErrorHandling(method: string, parameters: Array<string | number | boolean>): Promise<void>; protected sendCommand(method: string, parameters: Array<string | number | boolean>): Promise<void>; protected sendSuddenCommand(method: string, parameter: string | number | boolean): Promise<void>; protected sendSmoothCommand(method: string, parameter: string | number | boolean): Promise<void>; protected saveDefaultIfNeeded(): void; protected ensurePowerMode(mode: number, prefix?: string): Promise<void>; protected setHSV(prefix?: string): Promise<void>; protected updateColorFromCT(value: number): void; } //# sourceMappingURL=lightservice.d.ts.map