@dotwee/homebridge-z2m
Version:
Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.
44 lines • 1.85 kB
TypeScript
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig } from 'homebridge';
import { PluginConfiguration } from './configModels';
import * as mqtt from 'mqtt';
import { BasicPlatform } from './converters/interfaces';
export declare class Zigbee2mqttPlatform implements DynamicPlatformPlugin, BasicPlatform {
readonly log: Logger;
readonly api: API;
readonly config?: PluginConfiguration;
private baseDeviceConfig;
private readonly mqttClient?;
private static readonly MIN_Z2M_VERSION;
private static readonly TOPIC_BRIDGE;
private readonly accessories;
private didReceiveDevices;
private lastReceivedZigbee2MqttVersion;
private lastReceivedDevices;
private lastReceivedGroups;
private groupUpdatePending;
private deviceUpdatePending;
constructor(log: Logger, config: PlatformConfig, api: API);
private initializeMqttClient;
isExperimentalFeatureEnabled(feature: string): boolean;
private static createMqttOptions;
isHomebridgeServerVersionGreaterOrEqualTo(version: string): boolean;
private checkZigbee2MqttVersion;
private onMessage;
private checkZigbee2MqttVersionAndConfig;
private handleDeviceUpdate;
private removeStaleDevices;
private handleReceivedDevices;
configureAccessory(accessory: PlatformAccessory): void;
private static getIdentifiersFromDevice;
private getAdditionalConfigForDevice;
private mergeDeviceConfig;
private isDeviceExcluded;
private addAccessory;
private createOrUpdateAccessory;
isConnected(): boolean;
publishMessage(topic: string, payload: string, options: mqtt.IClientPublishOptions): Promise<void>;
private createGroupAccessories;
private createDeviceListEntryFromGroup;
private determineExposesForGroup;
}
//# sourceMappingURL=platform.d.ts.map