homebridge-z2m
Version:
Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.
48 lines • 2.88 kB
TypeScript
import { Characteristic, CharacteristicValue, Service, WithUUID } from 'homebridge';
import { BasicLogger } from '../logger';
export type MqttToHomeKitValueTransformer = (value: unknown) => CharacteristicValue | undefined;
export interface CharacteristicMonitor {
callback(state: Record<string, unknown>, logger: BasicLogger): void;
}
declare abstract class BaseCharacteristicMonitor implements CharacteristicMonitor {
private readonly key;
protected readonly service: Service;
protected readonly characteristic: string | WithUUID<new () => Characteristic>;
constructor(key: string, service: Service, characteristic: string | WithUUID<new () => Characteristic>);
abstract transformValueFromMqtt(value: unknown): CharacteristicValue | undefined;
callback(state: Record<string, unknown>, logger: BasicLogger): void;
private updateRangeIfNeeded;
}
export declare class NestedCharacteristicMonitor implements CharacteristicMonitor {
private readonly key;
private readonly monitors;
constructor(key: string, monitors: CharacteristicMonitor[]);
callback(state: Record<string, unknown>, logger: BasicLogger): void;
}
export declare class PassthroughCharacteristicMonitor extends BaseCharacteristicMonitor {
transformValueFromMqtt(value: unknown): CharacteristicValue | undefined;
}
export declare class MappingCharacteristicMonitor extends BaseCharacteristicMonitor {
private readonly mapping;
constructor(key: string, service: Service, characteristic: string | WithUUID<new () => Characteristic>, mapping: Map<CharacteristicValue, CharacteristicValue>);
transformValueFromMqtt(value: unknown): CharacteristicValue | undefined;
}
export type BinaryConditionBasedOnValue = (value: unknown) => boolean;
export declare class BinaryConditionCharacteristicMonitor extends BaseCharacteristicMonitor {
private readonly condition;
private readonly value_true;
private readonly value_false;
constructor(key: string, service: Service, characteristic: string | WithUUID<new () => Characteristic>, condition: BinaryConditionBasedOnValue, value_true: CharacteristicValue, value_false: CharacteristicValue);
transformValueFromMqtt(value: unknown): CharacteristicValue | undefined;
}
export declare class NumericCharacteristicMonitor extends BaseCharacteristicMonitor {
private readonly input_min;
private readonly input_max;
private readonly output_min?;
private readonly output_max?;
private readonly ceilAlmostZeroValue;
constructor(key: string, service: Service, characteristic: string | WithUUID<new () => Characteristic>, input_min: number, input_max: number, output_min?: number | undefined, output_max?: number | undefined, ceilAlmostZeroValue?: boolean);
transformValueFromMqtt(value: unknown): CharacteristicValue | undefined;
}
export {};
//# sourceMappingURL=monitor.d.ts.map