import type { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig } from 'homebridge'; import { MyStromDeviceHWInfo } from './lib/myStromTypes'; import { AccessoryTypes } from './lib/commonTypes'; import { PlatformEventBus } from './lib/platformEventBus'; /** * HomebridgePlatform * This class is the main constructor for the plugin, this is where you should * parse the user config and discover/register accessories with Homebridge. */ export declare class DingzDaHomebridgePlatform implements DynamicPlatformPlugin { readonly log: Logger; readonly config: PlatformConfig; readonly api: API; readonly Service: typeof import("homebridge").Service; readonly Characteristic: typeof import("homebridge").Characteristic; readonly eb: PlatformEventBus; accessories: AccessoryTypes; private discovered; private ignored; private readonly app; constructor(log: Logger, config: PlatformConfig, api: API); /** * This function is invoked when homebridge restores cached accessories from disk at startup. * It should be used to setup event handlers for characteristics and update respective values. */ configureAccessory(accessory: PlatformAccessory): void; private addDevices; private addDingzDevice; private addMyStromSwitchDevice; private addMyStromLightbulbDevice; private addMyStromPIRDevice; private addMyStromButtonDevice; private addMyStromButtonPlusDevice; /** * Parses and interprets auto-discovery messages * @param msg * @param remoteInfo */ private autoDiscoveryMessageHandler; private setupDeviceDiscovery; private getAccessoryByMac; setButtonCallbackUrl({ baseUrl, token, oldUrl, endpoints, }: { baseUrl: string; token?: string; oldUrl?: string; endpoints: string[]; }): Promise; private callbackServer; private handleRequest; getCallbackUrl(): string; /** * Device Methods -- these are used to retrieve the data from the dingz * FIXME: API Endpoint * Officially, the API is at /api/v1/info but there's * an undocumenten API at /info which also works for V1 switches */ getMyStromDeviceInfo({ address, token, endpoint, }: { address: string; token?: string; endpoint?: 'api/v1/info' | 'info'; }): Promise; private handleError; private byteToHexString; } //# sourceMappingURL=platform.d.ts.map