homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
77 lines • 5.11 kB
TypeScript
import { Logger } from 'homebridge';
import { LocalStorage } from 'node-persist';
import { ConfigPlugin } from './config-types.js';
import { HomeAppliance } from './api-types.js';
import { AuthorisationStatus } from './api-ua-auth.js';
import { CommandKey, CommandKV, EventKV, OptionKey, OptionKV, ProgramDefinitionKV, ProgramKV, ProgramsKV, SettingKey, SettingKV, SettingValue, StatusKey, StatusKV, OptionValue } from './api-value.js';
import { ProgramKey } from './api-value-types.js';
export interface HomeConnectAPI {
hasScope(scope: string): boolean;
getAppliances(): Promise<HomeAppliance[]>;
getAppliance(haid: string): Promise<HomeAppliance>;
getPrograms(haid: string): Promise<ProgramsKV>;
getAvailablePrograms(haid: string): Promise<ProgramsKV>;
getAvailableProgram<Key extends ProgramKey>(haid: string, key: Key): Promise<ProgramDefinitionKV<Key>>;
getActiveProgram(haid: string): Promise<ProgramKV>;
setActiveProgram(haid: string, key: ProgramKey, options: OptionKV[]): Promise<void>;
stopActiveProgram(haid: string): Promise<void>;
getActiveProgramOptions(haid: string): Promise<OptionKV[]>;
setActiveProgramOptions(haid: string, options: OptionKV[]): Promise<void>;
getActiveProgramOption<Key extends OptionKey>(haid: string, key: Key): Promise<OptionKV<Key>>;
setActiveProgramOption<Key extends OptionKey>(haid: string, key: Key, value: OptionValue<Key>): Promise<void>;
getSelectedProgram(haid: string): Promise<ProgramKV>;
setSelectedProgram(haid: string, key: ProgramKey, options: OptionKV[]): Promise<void>;
getSelectedProgramOptions(haid: string): Promise<OptionKV[]>;
setSelectedProgramOptions(haid: string, options: OptionKV[]): Promise<void>;
getSelectedProgramOption<Key extends OptionKey>(haid: string, key: Key): Promise<OptionKV<Key>>;
setSelectedProgramOption<Key extends OptionKey>(haid: string, key: Key, value: OptionValue<Key>): Promise<void>;
getStatus(haid: string): Promise<StatusKV[]>;
getStatusSpecific<Key extends StatusKey>(haid: string, key: Key): Promise<StatusKV<Key>>;
getSettings(haid: string): Promise<SettingKV[]>;
getSetting<Key extends SettingKey>(haid: string, key: Key): Promise<SettingKV<Key>>;
setSetting<Key extends SettingKey>(haid: string, key: Key, value: SettingValue<Key>): Promise<void>;
getCommands(haid: string): Promise<CommandKV[]>;
setCommand(haid: string, key: CommandKey): Promise<void>;
getEvents(haid?: string): AsyncGenerator<EventKV, void, void>;
getAuthorisationStatus(immediate?: boolean): Promise<AuthorisationStatus>;
retryAuthorisation(): void;
}
export declare class CloudAPI implements HomeConnectAPI {
readonly log: Logger;
readonly config: ConfigPlugin;
readonly persist: LocalStorage;
private readonly ua;
private readonly events;
private readonly checkValues;
constructor(log: Logger, config: ConfigPlugin, persist: LocalStorage);
hasScope(scope: string): boolean;
getAppliances(): Promise<HomeAppliance[]>;
getAppliance(haid: string): Promise<HomeAppliance>;
getPrograms(haid: string): Promise<ProgramsKV>;
getAvailablePrograms(haid: string): Promise<ProgramsKV>;
getAvailableProgram<Key extends ProgramKey>(haid: string, key: Key): Promise<ProgramDefinitionKV<Key>>;
getActiveProgram(haid: string): Promise<ProgramKV>;
setActiveProgram(haid: string, key: ProgramKey, options?: OptionKV[]): Promise<void>;
stopActiveProgram(haid: string): Promise<void>;
getActiveProgramOptions(haid: string): Promise<OptionKV[]>;
setActiveProgramOptions(haid: string, options: OptionKV[]): Promise<void>;
getActiveProgramOption<Key extends OptionKey>(haid: string, key: Key): Promise<OptionKV<Key>>;
setActiveProgramOption<Key extends OptionKey>(haid: string, key: Key, value: OptionValue<Key>): Promise<void>;
getSelectedProgram(haid: string): Promise<ProgramKV>;
setSelectedProgram(haid: string, key: ProgramKey, options: OptionKV[]): Promise<void>;
getSelectedProgramOptions(haid: string): Promise<OptionKV[]>;
setSelectedProgramOptions(haid: string, options: OptionKV[]): Promise<void>;
getSelectedProgramOption<Key extends OptionKey>(haid: string, key: Key): Promise<OptionKV<Key>>;
setSelectedProgramOption<Key extends OptionKey>(haid: string, key: Key, value: OptionValue<Key>): Promise<void>;
getStatus(haid: string): Promise<StatusKV[]>;
getStatusSpecific<Key extends StatusKey>(haid: string, key: Key): Promise<StatusKV<Key>>;
getSettings(haid: string): Promise<SettingKV[]>;
getSetting<Key extends SettingKey>(haid: string, key: Key): Promise<SettingKV<Key>>;
setSetting<Key extends SettingKey>(haid: string, key: Key, value: SettingValue<Key>): Promise<void>;
getCommands(haid: string): Promise<CommandKV[]>;
setCommand(haid: string, key: CommandKey): Promise<void>;
getEvents(haid?: string): AsyncGenerator<EventKV, void, void>;
getAuthorisationStatus(immediate?: boolean): Promise<AuthorisationStatus>;
retryAuthorisation(): void;
}
//# sourceMappingURL=api.d.ts.map