@chrispyduck/homie-sensors
Version:
Sensor library intended for ues with homie-device
45 lines • 1.63 kB
TypeScript
import { HomieDevice } from "@chrispyduck/homie-device";
import { I2CDevice } from "./I2CDevice";
import { II2CConfiguration } from "./II2CConfiguration";
import { ISensor, ISensorEvents } from "../ISensor";
import { ITemperatureAndHumidity } from "../interfaces/ITemperatureAndHumidity";
export declare const I2C_ADDRESS = 56;
declare enum State {
Unknown = 0,
Idle = 1,
ReceiveStatus = 10,
ReceiveMeasurement = 11,
Reset = 99
}
export interface IAHT20Events extends ISensorEvents<ITemperatureAndHumidity> {
"temperature": (temp: number) => void;
"humidity": (hum: number) => void;
}
export interface IAHT20 {
on<U extends keyof IAHT20Events>(event: U, listener: IAHT20Events[U]): this;
emit<U extends keyof IAHT20Events>(event: U, ...args: Parameters<IAHT20Events[U]>): boolean;
}
export default class AHT20 extends I2CDevice<ITemperatureAndHumidity> implements ISensor<ITemperatureAndHumidity>, IAHT20 {
static readonly DefaultConfiguration: II2CConfiguration;
constructor(config?: II2CConfiguration);
private humidity$;
get humidity(): number;
private temperature$;
get temperature(): number;
private lastReset;
private zeroReads;
private readonly buffer;
private state$;
private setState;
get state(): State;
protected onInit: () => Promise<void>;
protected reeset: () => Promise<void>;
register: (device: HomieDevice) => void;
private queryStatus;
private readStatus;
private initializeDevice;
read: () => Promise<ITemperatureAndHumidity>;
private crc8x_simple;
}
export {};
//# sourceMappingURL=AHT20.d.ts.map