homebridge-homewizard-energy-socket
Version:
This Homebridge plugin exposes your HomeWizard Energy Sockets to Apple HomeKit. So you can use the Home App to switch your Energy Sockets on or off and integrate the Energy Sockets into your Home Automations.
36 lines • 2.14 kB
TypeScript
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
import { Service as BonjourService } from 'bonjour-service';
import { ConfigSchema } from './config.schema';
import { EnergySocketApi, MdnsTxtRecord } from 'homewizard-energy-api';
import { EnergySocketAccessoryProperties, HomeWizardEnergyPlatformAccessoryContext } from './types';
export declare class HomebridgeHomeWizardEnergySocket implements DynamicPlatformPlugin {
readonly log: Logger;
readonly api: API;
readonly Service: typeof Service;
readonly Characteristic: typeof Characteristic;
cachedAccessories: PlatformAccessory<HomeWizardEnergyPlatformAccessoryContext>[];
private config;
private bonjour;
private loggerPrefix;
constructor(log: Logger, config: PlatformConfig, api: API);
configureAccessory(accessory: PlatformAccessory<HomeWizardEnergyPlatformAccessoryContext>): void;
isStaleCachedAccessory(cachedAccessory: PlatformAccessory<HomeWizardEnergyPlatformAccessoryContext>, energySocketsConfig: ConfigSchema['energySockets']): boolean;
stopDiscoveringDevices(): void;
startDiscoveringDevices(): void;
isDeviceApiEnabled(txtRecord: MdnsTxtRecord): boolean;
isDeviceProductTypeSupported(txtRecord: MdnsTxtRecord): boolean;
handleDiscoveredService(service: BonjourService): Promise<void>;
isValidConfigSchema(config: ConfigSchema): boolean;
handleEnergySocketsFromConfig(): Promise<void>;
addAccessory(energySocketProperties: EnergySocketAccessoryProperties, api: EnergySocketApi): void;
attachAccessoryToPlatform(accessory: PlatformAccessory<HomeWizardEnergyPlatformAccessoryContext>, api: EnergySocketApi): void;
getEnergySocketPropertiesFromIp(ip: string, configName?: string): Promise<{
energySocketProperties: EnergySocketAccessoryProperties;
api: EnergySocketApi;
}>;
getEnergySocketPropertiesFromService(service: BonjourService): Promise<{
energySocketProperties: EnergySocketAccessoryProperties;
api: EnergySocketApi;
}>;
}
//# sourceMappingURL=platform.d.ts.map