UNPKG

homebridge-homeconnect

Version:

A Homebridge plugin that connects Home Connect appliances to Apple HomeKit

77 lines 5.11 kB
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