homebridge-better-miot
Version:
Some xiaomi devices integration
36 lines • 1.16 kB
TypeScript
export interface TGenericDeviceProperty {
name: string;
title?: string;
mapper?(value: unknown): unknown;
}
export interface TGenericDeviceConfig {
address: string;
token: string;
properties: TGenericDeviceProperty[];
}
interface IDeviceInfo {
mac: string;
fw_ver: string;
hw_ver: string;
model: string;
}
export declare type TListenerCallback<T = unknown> = (value: T) => void;
export declare class GenericDevice {
properties: object;
private connectedDevice;
private listeners;
private propertiesConfigMap;
private config;
info: IDeviceInfo | undefined;
constructor({ address, token, properties }: TGenericDeviceConfig);
private getDevice;
protected subscribe(property: string, cb: TListenerCallback): void;
private notifyUpdate;
private setProperties;
private loadProperties;
protected fetchProperty(propertyTitle: string | string[]): Promise<void>;
protected fetchProperties(): Promise<void>;
protected call<T extends string>(method: string, params?: unknown[], refetch?: T[]): Promise<unknown>;
}
export {};
//# sourceMappingURL=GenericDevice.d.ts.map