homebridge-kasa-python
Version:
Plugin that uses Python-Kasa API to communicate with Kasa Devices.
58 lines (57 loc) • 1.86 kB
TypeScript
import type { ConfigDevice } from './devices/deviceTypes.js';
export declare class ConfigParseError extends Error {
errors?: string[] | null | undefined;
unknownError?: unknown | undefined;
constructor(message: string, errors?: string[] | null | undefined, unknownError?: unknown | undefined);
private formatMessage;
}
export interface KasaPythonConfigInput {
name?: string;
enableCredentials?: boolean;
username?: string;
password?: string;
enableEnergyMonitoring?: boolean;
powerThreshold?: number;
logEnergyMonitoring?: boolean;
hideHomeKitMatter?: boolean;
pollingInterval?: number;
discoveryPollingInterval?: number;
offlineInterval?: number;
additionalBroadcasts?: string[];
manualDevices?: (string | ConfigDevice)[];
excludeMacAddresses?: string[];
includeMacAddresses?: string[];
waitTimeUpdate?: number;
pythonPath?: string;
advancedPythonLogging?: boolean;
}
export type KasaPythonConfig = {
name: string;
enableCredentials: boolean;
username: string;
password: string;
energyOptions: {
enableEnergyMonitoring: boolean;
powerThreshold: number;
logEnergyMonitoring: boolean;
};
homekitOptions: {
hideHomeKitMatter: boolean;
};
discoveryOptions: {
pollingInterval: number;
discoveryPollingInterval: number;
offlineInterval: number;
additionalBroadcasts: string[];
manualDevices: ConfigDevice[];
excludeMacAddresses: string[];
includeMacAddresses: string[];
};
advancedOptions: {
waitTimeUpdate: number;
pythonPath?: string;
advancedPythonLogging: boolean;
};
};
export declare const defaultConfig: KasaPythonConfig;
export declare function parseConfig(config: Record<string, unknown>): KasaPythonConfig;