homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
35 lines • 1.62 kB
TypeScript
import { API, DynamicPlatformPlugin, Logger, LogLevel, PlatformAccessory, PlatformConfig } from 'homebridge';
import NodePersist from 'node-persist';
import { IErrorDetail } from 'ts-interface-checker';
import { HomeConnectAPI } from './api.js';
import { ApplianceBase } from './appliance-generic.js';
import { ConfigSchemaData } from './homebridge-ui/schema-data.js';
import { PrefixLogger } from './logger.js';
import { ConfigAppliances, ConfigPlugin } from './config-types.js';
import { HomeAppliance } from './api-types.js';
interface AccessoryLinkage {
accessory: PlatformAccessory;
implementation?: ApplianceBase;
}
export declare class HomeConnectPlatform implements DynamicPlatformPlugin {
readonly platformConfig: PlatformConfig;
readonly hb: API;
readonly makeUUID: (data: string) => string;
readonly log: PrefixLogger;
configPlugin: ConfigPlugin;
configAppliances: ConfigAppliances;
readonly accessories: Map<string, AccessoryLinkage>;
persist?: NodePersist.LocalStorage;
schema?: ConfigSchemaData;
homeconnect?: HomeConnectAPI;
constructor(log: Logger, platformConfig: PlatformConfig, hb: API);
configureAccessory(accessory: PlatformAccessory): void;
finishedLaunching(): Promise<void>;
checkConfig(): [ConfigPlugin, ConfigAppliances];
logCheckerValidation(level: LogLevel, errors?: IErrorDetail[] | null): void;
preparePersistentStorage(): Promise<NodePersist.LocalStorage>;
updateAppliances(): Promise<never>;
addRemoveAccessories(appliances: HomeAppliance[]): Promise<void>;
}
export {};
//# sourceMappingURL=platform.d.ts.map