@chrispyduck/homie-sensors
Version:
Sensor library intended for ues with homie-device
22 lines • 1.02 kB
TypeScript
/// <reference types="node" />
import i2c from "i2c-bus";
import * as winston from "winston";
import { II2CCommand } from "./II2CCommand";
import { II2CConfiguration } from "./II2CConfiguration";
import { EventEmitter } from "events";
import { ISensor } from "../ISensor";
import { HomieDevice } from "@chrispyduck/homie-device";
export declare abstract class I2CDevice<TResult extends Record<never, any>> extends EventEmitter implements ISensor<TResult> {
constructor(deviceType: string, configuration?: II2CConfiguration);
abstract register(device: HomieDevice): void;
abstract read(): Promise<TResult>;
protected readonly configuration: II2CConfiguration;
protected readonly logger: winston.Logger;
private bus$?;
protected get bus(): i2c.PromisifiedBus;
init: () => Promise<void>;
protected abstract onInit(): Promise<void>;
protected delay: (ms: number) => Promise<void>;
protected sendCommand: (cmd: II2CCommand) => Promise<void>;
}
//# sourceMappingURL=I2CDevice.d.ts.map