zigbee-herdsman
Version:
An open source ZigBee gateway solution with node.js.
47 lines • 1.75 kB
TypeScript
import { EventEmitter } from 'events';
import net from 'net';
import * as Zdo from '../../../zspec/zdo';
import { EndDeviceAnnounce, GenericZdoResponse } from '../../../zspec/zdo/definition/tstypes';
import { SerialPort } from '../../serialPort';
import { SerialPortOptions } from '../../tstype';
import { ZiGateCommandCode, ZiGateObjectPayload } from './constants';
import ZiGateObject from './ziGateObject';
type ZdoWaitressMatcher = {
clusterId: number;
target?: number | string;
};
interface ZiGateEventMap {
close: [];
zdoResponse: [Zdo.ClusterId, GenericZdoResponse];
received: [ZiGateObject];
LeaveIndication: [ZiGateObject];
DeviceAnnounce: [EndDeviceAnnounce];
}
export default class ZiGate extends EventEmitter<ZiGateEventMap> {
private path;
private baudRate;
private initialized;
private parser?;
private serialPort?;
private socketPort?;
private queue;
portWrite?: SerialPort | net.Socket;
private waitress;
private zdoWaitress;
constructor(path: string, serialPortOptions: SerialPortOptions);
sendCommand(code: ZiGateCommandCode, payload?: ZiGateObjectPayload, timeout?: number, extraParameters?: object, disableResponse?: boolean): Promise<ZiGateObject>;
requestZdo(clusterId: Zdo.ClusterId, payload: Buffer): Promise<boolean>;
open(): Promise<void>;
close(): Promise<void>;
private openSerialPort;
private openSocketPort;
private onPortError;
private onPortClose;
private onSerialData;
private waitressTimeoutFormatter;
private waitressValidator;
zdoWaitFor(matcher: ZdoWaitressMatcher): ReturnType<typeof this.zdoWaitress.waitFor>;
private zdoWaitressValidator;
}
export {};
//# sourceMappingURL=zigate.d.ts.map