homebridge-z2m
Version:
Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.
48 lines • 2.19 kB
TypeScript
import { Characteristic, Service } from 'homebridge';
import { BasicLogger } from '../logger';
import { ExposesEntry, ExposesEntryWithProperty } from '../z2mModels';
import { BasicAccessory, ServiceCreator, ServiceHandler } from './interfaces';
import { CharacteristicMonitor } from './monitor';
interface ElectricalExposes {
power?: ExposesEntryWithProperty;
voltage?: ExposesEntryWithProperty;
current?: ExposesEntryWithProperty;
energy?: ExposesEntryWithProperty;
}
export declare class ElectricalSensorHandler implements ServiceHandler {
protected log: BasicLogger;
protected monitors: CharacteristicMonitor[];
protected service: Service;
protected serviceName: string;
identifier: string;
private readonly powerExpose?;
private readonly voltageExpose?;
private readonly currentExpose?;
private readonly energyExpose?;
constructor(accessory: BasicAccessory, electricalExposes: ElectricalExposes, endpoint: string | undefined);
get mainCharacteristics(): (Characteristic | undefined)[];
get getableKeys(): string[];
updateState(state: Record<string, unknown>): void;
static generateIdentifier(endpoint: string | undefined): string;
}
export declare class ProducedEnergySensorHandler implements ServiceHandler {
protected log: BasicLogger;
protected monitors: CharacteristicMonitor[];
protected service: Service;
protected serviceName: string;
identifier: string;
private static readonly SUBTYPE;
private readonly producedEnergyExpose;
constructor(accessory: BasicAccessory, producedEnergyExpose: ExposesEntryWithProperty, endpoint: string | undefined);
get mainCharacteristics(): (Characteristic | undefined)[];
get getableKeys(): string[];
updateState(state: Record<string, unknown>): void;
static generateIdentifier(endpoint: string | undefined): string;
}
export declare class ElectricalSensorCreator implements ServiceCreator {
createServicesFromExposes(accessory: BasicAccessory, exposes: ExposesEntry[]): void;
private createElectricalSensorHandler;
private createProducedEnergySensorHandler;
}
export {};
//# sourceMappingURL=electrical.d.ts.map