homebridge-blaq
Version:
Control and view your garage door(s) remotely with real-time updates using Konnected's BlaQ hardware
45 lines (44 loc) • 1.83 kB
TypeScript
import { API, Characteristic, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service } from 'homebridge';
import { ConfigDevice } from './types.js';
/**
* HomebridgePlatform
* This class is the main constructor for your plugin, this is where you should
* parse the user config and discover/register accessories with Homebridge.
*/
export declare class BlaQHomebridgePluginPlatform implements DynamicPlatformPlugin {
readonly logger: Logger;
readonly config: PlatformConfig;
readonly api: API;
readonly service: typeof Service;
readonly characteristic: typeof Characteristic;
readonly accessories: PlatformAccessory[];
private hubs;
private hubAccessories;
private bonjourInstance;
constructor(logger: 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;
getDeviceKey(device: ConfigDevice): string;
possiblyRegisterNewDevice(device: ConfigDevice): void;
possiblyMergeWithManualConfigDevice(deviceToMerge: ConfigDevice): {
displayName: string;
host: string;
port: number;
mac?: string;
username?: string;
password?: string;
};
searchBonjour(): void;
/**
* For each configured device, launch a Discovery probe to fetch its metadata.
* Once that probe completes, we'll register the relevant accessory.
*/
discoverDevices(): void;
registerDiscoveredDevice(configDevice: ConfigDevice, model: string, serialnumber: string): {
platform: BlaQHomebridgePluginPlatform;
accessory: PlatformAccessory;
};
}