homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
58 lines • 2.29 kB
TypeScript
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