UNPKG

homebridge-homeconnect

Version:

A Homebridge plugin that connects Home Connect appliances to Apple HomeKit

58 lines 2.29 kB
import { Logger } from 'homebridge'; import { LocalStorage } from 'node-persist'; import { HomeAppliance, OptionDefinition, Setting, Status, Value } from './api-types.js'; export type APIKeyValueDefinition = OptionDefinition | Setting | Status; export type APIKeyType = 'Command' | 'Event' | 'Option' | 'Setting' | 'Status'; export interface APIValueLiteral { value: Value; report: boolean; } export interface APIValue { type?: string; values: Record<string, APIValueLiteral>; } export interface APIKey { key: string; value?: APIValue; report: boolean; } export interface APIGroup { keys: Record<string, APIKey>; } export declare class APIKeyValuesLog { readonly log: Logger; readonly clientid: string; readonly persist: LocalStorage; private appliances; private readonly applianceReports; private readonly groups; private readonly keys; private readonly persistKey; private readonly reported; private readonly pending; private pendingScheduled?; constructor(log: Logger, clientid: string, persist: LocalStorage); setAppliances(appliances: HomeAppliance[]): void; addDetail(detail: APIKeyValueDefinition): void; addKey(haid: string, group: string, subGroup: string | undefined, key: string, report: boolean, restored?: boolean): void; addValue(haid: string, key: string, value: Value | null, report: boolean, restored?: boolean): void; scheduleSummary(key: string, value: string): void; getUnknownTypes(): string[]; logSummary(): void; makeGroupInterface(groupName: string): string[]; makeValueUnion(value: APIValue): string[]; makeValueEnum(value: APIValue): string[]; makeType(value?: APIValue): string; isEnumType(value: APIValue): boolean | undefined; getTypeof(value?: APIValue): string; mergeSameEnums(): void; mergeEnumValue(to: APIValue, from: APIValue): void; makeEnumName(type: string): string; makeIssueURL(title: string, appliances: string): string; makeApplianceDescription(haids: string[], style?: 'short' | 'long'): string; getValuesOfEnumType(): APIValue[]; isEnumPreferred(value: APIValue): boolean; readPersist(): Promise<void>; writePersist(): Promise<void>; } //# sourceMappingURL=api-value.log.d.ts.map