UNPKG

homebridge-plugin-waveshare-relay

Version:

Homebridge plugin exposing Waveshare Raspberry Pi Relay Board as a series of switches

74 lines 2.82 kB
export interface ILogger { info(message: string, ...parameters: unknown[]): void; warn(message: string, ...parameters: unknown[]): void; error(message: string, ...parameters: unknown[]): void; debug(message: string, ...parameters: unknown[]): void; } export interface IPlatformConfig { name: string; [key: string]: unknown; } type IPlatformAccessoryConstructor = new (displayName: string, uuid: string, category?: ECategories) => IPlatformAccessory; export interface IPlatformAccessory { displayName: string; UUID: string; context: unknown; getService: (service: string) => IService; addService: (service: string) => IService; } export interface IAPI { on(event: 'didFinishLaunching' | 'shutdown', listener: () => void): this; registerPlatform(platformName: string, constructor: unknown): void; updatePlatformAccessories(accessories: IPlatformAccessory[]): void; registerPlatformAccessories(plaformName: string, pluginName: string, accessories: IPlatformAccessory[]): void; unregisterPlatformAccessories(plaformName: string, pluginName: string, accessories: IPlatformAccessory[]): void; platformAccessory: IPlatformAccessoryConstructor; hap: { Service: IService; Characteristic: ICharacteristic; Categories: typeof ECategories; uuid: { generate: (id: string) => ''; }; [key: string]: unknown; }; } export interface IService { new (uuid: string, name?: string, subtype?: string): unknown; getCharacteristic(characteristic: ICharacteristic): ICharacteristic; setCharacteristic(characteristic: ICharacteristic, value: string): ICharacteristic; Lightbulb: string; AccessoryInformation: string; } export interface ILightbulb extends IService { new (name: string, subtype?: string): IService; } export interface ICharacteristic { new (uuid: string): unknown; onGet(handler: () => Promise<boolean>): ICharacteristic; onSet(handler: (value: boolean) => Promise<void>): ICharacteristic; setCharacteristic(characteristic: ICharacteristic, value: string): ICharacteristic; updateValue(value: unknown): ICharacteristic; On: ICharacteristic; Manufacturer: ICharacteristic; Model: ICharacteristic; SerialNumber: ICharacteristic; Name: ICharacteristic; Formats: Record<string, unknown>; Units: Record<string, unknown>; Perms: Record<string, unknown>; } export interface IDynamicPlatformPlugin { configureAccessory(accessory: unknown): void; } /** * Known category values. Category is a hint to iOS clients about what "type" of Accessory this represents, for UI only. * * @group Accessory */ export declare enum ECategories { LIGHTBULB = 5, SWITCH = 8 } export {}; //# sourceMappingURL=homebridge-types.d.ts.map