@ngreatorex/homie-device
Version:
Homie Device for NodeJS
37 lines • 1.28 kB
TypeScript
import { IClientOptions, MqttClient } from "mqtt";
import { HomieTopologyRoot, IHomieTopologyConfiguration } from "./framework";
import HomieNode, { IHomieNodeConfiguration } from "./HomieNode";
export interface IMqttConfiguration {
base_topic?: string;
client?: IClientOptions;
connectionFactory?: (options: IClientOptions) => MqttClient;
}
export interface IHomieDeviceConfiguration extends IHomieTopologyConfiguration {
mqtt?: IMqttConfiguration;
settings?: unknown;
ip?: string | null;
mac?: string | null;
statsInterval?: number;
firmwareName?: string;
firmwareVersion?: string;
}
export declare const DefaultConfiguration: IHomieDeviceConfiguration;
export default class HomieDevice extends HomieTopologyRoot {
private static interval$;
private startTime$;
private nodes$;
private statsInterval$;
private mqttClient$;
private interval$;
constructor(config: IHomieDeviceConfiguration | string);
node: (config: IHomieNodeConfiguration) => HomieNode;
setup: () => void;
end: () => void;
onConnect: () => void;
onDisconnect: () => void;
onOffline: () => void;
onError: (err: Error) => void;
onStatsInterval(): void;
private onMessage;
}
//# sourceMappingURL=HomieDevice.d.ts.map