@dotwee/homebridge-z2m
Version:
Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.
37 lines • 1.67 kB
TypeScript
import { Controller, Logger, Service } from 'homebridge';
import { ExposesEntry } from '../z2mModels';
import { BasicLogger } from '../logger';
export interface BasicAccessory {
log: BasicLogger;
displayName: string;
platform: BasicPlatform;
getDefaultServiceDisplayName(subType: string | undefined): string;
configureController(controller: Controller): void;
getOrAddService(service: Service): Service;
queueDataForSetAction(data: Record<string, unknown>): void;
queueKeyForGetAction(key: string | string[]): void;
registerServiceHandler(handler: ServiceHandler): void;
isServiceHandlerIdKnown(identifier: string): boolean;
isExperimentalFeatureEnabled(feature: string): boolean;
getConverterConfiguration(tag: string): unknown | undefined;
isServiceHandlerIdKnown(identifier: string): boolean;
isExperimentalFeatureEnabled(feature: string): boolean;
isAdaptiveLightingEnabled(): boolean;
getAdaptiveLightingMinimumColorTemperatureChange(): number;
getAdaptiveLightingTransitionTime(): number;
}
export interface BasicPlatform {
isHomebridgeServerVersionGreaterOrEqualTo(version: string): boolean;
}
export interface ServiceHandler {
identifier: string;
getableKeys: string[];
updateState(state: Record<string, unknown>): void;
}
export interface ConverterConfigurationRegistry {
registerConverterConfiguration(tag: string, validator: (config: unknown, tag: string, logger: Logger | undefined) => boolean): void;
}
export interface ServiceCreator {
createServicesFromExposes(accessory: BasicAccessory, exposes: ExposesEntry[]): void;
}
//# sourceMappingURL=interfaces.d.ts.map