UNPKG

@dotwee/homebridge-z2m

Version:

Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.

44 lines 1.85 kB
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