ember-zli
Version:
Interact with EmberZNet-based adapters using zigbee-herdsman 'ember' driver
45 lines (44 loc) • 1.27 kB
TypeScript
import type { PortConf } from "./types.js";
import EventEmitter from "node:events";
import { Readable } from "node:stream";
type SetOptions = {
brk?: boolean;
cts?: boolean;
dsr?: boolean;
dtr?: boolean;
rts?: boolean;
};
declare class TransportWriter extends Readable {
writeBuffer(buffer: Buffer): void;
_read(): void;
}
export declare enum TransportEvent {
CLOSED = "closed",
DATA = "data",
FAILED = "failed"
}
interface SerialEventMap {
[TransportEvent.CLOSED]: [];
[TransportEvent.DATA]: [data: Buffer];
[TransportEvent.FAILED]: [];
}
/**
* Serial or Socket based transport based on passed conf.
*/
export declare class Transport extends EventEmitter<SerialEventMap> {
connected: boolean;
readonly portConf: PortConf;
portWriter: TransportWriter | undefined;
private portSerial;
private portSocket;
constructor(portConf: PortConf);
get isSerial(): boolean;
close(emitClosed: boolean, emitFailed?: boolean): Promise<void>;
initPort(customPortWriter?: TransportWriter): Promise<void>;
serialSet(options: SetOptions, afterDelayMS?: number): Promise<void>;
write(buffer: Buffer): void;
private emitData;
private onPortClose;
private onPortError;
}
export {};