homebridge-z2m
Version:
Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.
30 lines • 1.38 kB
TypeScript
import { Characteristic, Controller, Service } from 'homebridge';
import { BasicLogger } from '../logger';
import { ExposesEntry } from '../z2mModels';
export interface BasicAccessory {
log: BasicLogger;
displayName: string;
getDefaultServiceDisplayName(subType: string | undefined): string;
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;
configureController(controller: Controller): void;
removeController(controller: Controller): void;
}
export interface ServiceHandler {
mainCharacteristics: (Characteristic | undefined)[];
identifier: string;
getableKeys: string[];
updateState(state: Record<string, unknown>): void;
}
export interface ConverterConfigurationRegistry {
registerConverterConfiguration(tag: string, validator: (config: unknown, tag: string, logger: BasicLogger | undefined) => boolean): void;
}
export interface ServiceCreator {
createServicesFromExposes(accessory: BasicAccessory, exposes: ExposesEntry[]): void;
}
//# sourceMappingURL=interfaces.d.ts.map