UNPKG

homebridge-homeconnect

Version:

A Homebridge plugin that connects Home Connect appliances to Apple HomeKit

60 lines 2.19 kB
import { Logger, PlatformConfig } from 'homebridge'; import NodePersist from 'node-persist'; import { HomeAppliance } from '../api-types.js'; export interface SchemaProgram { key: string; name: string; } export type SchemaProgramOptionType = 'number' | 'integer' | 'boolean' | 'string'; export type SchemaProgramOptionValue = number | boolean | string; export interface SchemaEnumValue { key: SchemaProgramOptionValue; name: string; } export interface SchemaProgramOption { key: string; name: string; type: SchemaProgramOptionType; suffix?: string; default?: SchemaProgramOptionValue; minimum?: number; maximum?: number; multipleOf?: number; values?: SchemaEnumValue[]; } export interface SchemaProgramWithOptions extends SchemaProgram { options?: SchemaProgramOption[]; } export interface SchemaOptionalFeature { group: string; name: string; service: string; enableByDefault: boolean; } export interface SchemaAppliance extends HomeAppliance { hasControl?: boolean; programs: SchemaProgramWithOptions[]; features: SchemaOptionalFeature[]; } export declare class ConfigSchemaData { readonly log: Logger; readonly persist: NodePersist.LocalStorage; config?: PlatformConfig; appliances: Map<string, SchemaAppliance>; loadPromise?: Promise<void>; savePromise?: Promise<void>; busyPromise?: Promise<void>; constructor(log: Logger, persist: NodePersist.LocalStorage); setConfig(config: PlatformConfig): Promise<void>; setAppliances(newAppliances: HomeAppliance[]): Promise<void>; setHasControl(haId: string, control: boolean): Promise<void>; setOptionalFeatures(haId: string, features: SchemaOptionalFeature[]): Promise<void>; setPrograms(haId: string, newPrograms: SchemaProgram[]): Promise<void>; setProgramOptions(haId: string, programKey: string, options: SchemaProgramOption[]): Promise<void>; applyUpdate(update: () => void): Promise<void>; load(reload?: boolean): Promise<void>; exclusive(operation: () => Promise<void>): Promise<void>; tryGet(): Promise<void>; trySet(): Promise<void>; } //# sourceMappingURL=schema-data.d.ts.map