zigbee-herdsman 0.56.2 → 0.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +14 -0
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +9 -1
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/tstype.d.ts +1 -1
- package/dist/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/index.d.ts +3 -0
- package/dist/adapter/zboss/adapter/index.d.ts.map +1 -0
- package/dist/adapter/zboss/adapter/index.js +6 -0
- package/dist/adapter/zboss/adapter/index.js.map +1 -0
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +55 -0
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
- package/dist/adapter/zboss/adapter/zbossAdapter.js +391 -0
- package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -0
- package/dist/adapter/zboss/commands.d.ts +19 -0
- package/dist/adapter/zboss/commands.d.ts.map +1 -0
- package/dist/adapter/zboss/commands.js +1064 -0
- package/dist/adapter/zboss/commands.js.map +1 -0
- package/dist/adapter/zboss/consts.d.ts +9 -0
- package/dist/adapter/zboss/consts.d.ts.map +1 -0
- package/dist/adapter/zboss/consts.js +12 -0
- package/dist/adapter/zboss/consts.js.map +1 -0
- package/dist/adapter/zboss/driver.d.ts +62 -0
- package/dist/adapter/zboss/driver.d.ts.map +1 -0
- package/dist/adapter/zboss/driver.js +332 -0
- package/dist/adapter/zboss/driver.js.map +1 -0
- package/dist/adapter/zboss/enums.d.ts +279 -0
- package/dist/adapter/zboss/enums.d.ts.map +1 -0
- package/dist/adapter/zboss/enums.js +327 -0
- package/dist/adapter/zboss/enums.js.map +1 -0
- package/dist/adapter/zboss/frame.d.ts +29 -0
- package/dist/adapter/zboss/frame.d.ts.map +1 -0
- package/dist/adapter/zboss/frame.js +155 -0
- package/dist/adapter/zboss/frame.js.map +1 -0
- package/dist/adapter/zboss/reader.d.ts +8 -0
- package/dist/adapter/zboss/reader.d.ts.map +1 -0
- package/dist/adapter/zboss/reader.js +58 -0
- package/dist/adapter/zboss/reader.js.map +1 -0
- package/dist/adapter/zboss/types.d.ts +1 -0
- package/dist/adapter/zboss/types.d.ts.map +1 -0
- package/dist/adapter/zboss/types.js +2 -0
- package/dist/adapter/zboss/types.js.map +1 -0
- package/dist/adapter/zboss/uart.d.ts +37 -0
- package/dist/adapter/zboss/uart.d.ts.map +1 -0
- package/dist/adapter/zboss/uart.js +369 -0
- package/dist/adapter/zboss/uart.js.map +1 -0
- package/dist/adapter/zboss/utils.d.ts +9 -0
- package/dist/adapter/zboss/utils.d.ts.map +1 -0
- package/dist/adapter/zboss/utils.js +56 -0
- package/dist/adapter/zboss/utils.js.map +1 -0
- package/dist/adapter/zboss/writer.d.ts +14 -0
- package/dist/adapter/zboss/writer.d.ts.map +1 -0
- package/dist/adapter/zboss/writer.js +43 -0
- package/dist/adapter/zboss/writer.js.map +1 -0
- package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/cluster.js +0 -115
- package/dist/zspec/zcl/definition/cluster.js.map +1 -1
- package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
- package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
- package/package.json +7 -8
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { KeyValue } from '../../controller/tstype';
|
|
2
|
+
import { DataType } from '../../zspec/zcl';
|
|
3
|
+
import { BuffaloZcl } from '../../zspec/zcl/buffaloZcl';
|
|
4
|
+
import { BuffaloZclDataType } from '../../zspec/zcl/definition/enums';
|
|
5
|
+
import { BuffaloZclOptions } from '../../zspec/zcl/definition/tstype';
|
|
6
|
+
import { ParamsDesc } from './commands';
|
|
7
|
+
import { BuffaloZBOSSDataType, CommandId } from './enums';
|
|
8
|
+
export declare class ZBOSSBuffaloZcl extends BuffaloZcl {
|
|
9
|
+
write(type: DataType | BuffaloZclDataType | BuffaloZBOSSDataType, value: any, options: BuffaloZclOptions): void;
|
|
10
|
+
read(type: DataType | BuffaloZclDataType | BuffaloZBOSSDataType, options: BuffaloZclOptions): any;
|
|
11
|
+
writeByDesc(payload: KeyValue, params: ParamsDesc[]): number;
|
|
12
|
+
readByDesc(params: ParamsDesc[]): KeyValue;
|
|
13
|
+
}
|
|
14
|
+
export declare function readZBOSSFrame(buffer: Buffer): ZBOSSFrame;
|
|
15
|
+
export declare function writeZBOSSFrame(frame: ZBOSSFrame): Buffer;
|
|
16
|
+
export declare enum FrameType {
|
|
17
|
+
REQUEST = 0,
|
|
18
|
+
RESPONSE = 1,
|
|
19
|
+
INDICATION = 2
|
|
20
|
+
}
|
|
21
|
+
export interface ZBOSSFrame {
|
|
22
|
+
version: number;
|
|
23
|
+
type: FrameType;
|
|
24
|
+
commandId: CommandId;
|
|
25
|
+
tsn: number;
|
|
26
|
+
payload: KeyValue;
|
|
27
|
+
}
|
|
28
|
+
export declare function makeFrame(type: FrameType, commandId: CommandId, params: KeyValue): ZBOSSFrame;
|
|
29
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../src/adapter/zboss/frame.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAS,UAAU,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAExD,qBAAa,eAAgB,SAAQ,UAAU;IAEpC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,GAAG,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAY/G,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,GAAG,oBAAoB,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG;IAWjG,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM;IAsB5D,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ;CA6BpD;AAeD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAkBzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQzD;AAED,oBAAY,SAAS;IACjB,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,UAAU,IAAI;CACjB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,CAmB7F"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* istanbul ignore file */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.FrameType = exports.ZBOSSBuffaloZcl = void 0;
|
|
5
|
+
exports.readZBOSSFrame = readZBOSSFrame;
|
|
6
|
+
exports.writeZBOSSFrame = writeZBOSSFrame;
|
|
7
|
+
exports.makeFrame = makeFrame;
|
|
8
|
+
const buffaloZcl_1 = require("../../zspec/zcl/buffaloZcl");
|
|
9
|
+
const commands_1 = require("./commands");
|
|
10
|
+
const enums_1 = require("./enums");
|
|
11
|
+
class ZBOSSBuffaloZcl extends buffaloZcl_1.BuffaloZcl {
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
write(type, value, options) {
|
|
14
|
+
switch (type) {
|
|
15
|
+
case enums_1.BuffaloZBOSSDataType.EXTENDED_PAN_ID: {
|
|
16
|
+
return this.writeBuffer(value, 8);
|
|
17
|
+
}
|
|
18
|
+
default: {
|
|
19
|
+
return super.write(type, value, options);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
read(type, options) {
|
|
25
|
+
switch (type) {
|
|
26
|
+
case enums_1.BuffaloZBOSSDataType.EXTENDED_PAN_ID: {
|
|
27
|
+
return this.readBuffer(8);
|
|
28
|
+
}
|
|
29
|
+
default: {
|
|
30
|
+
return super.read(type, options);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
writeByDesc(payload, params) {
|
|
35
|
+
const start = this.getPosition();
|
|
36
|
+
for (const parameter of params) {
|
|
37
|
+
const options = {};
|
|
38
|
+
if (parameter.condition && !parameter.condition(payload, this)) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (parameter.options)
|
|
42
|
+
parameter.options(payload, options);
|
|
43
|
+
if (parameter.type == enums_1.BuffaloZBOSSDataType.LIST_TYPED && parameter.typed) {
|
|
44
|
+
const internalPaload = payload[parameter.name];
|
|
45
|
+
for (const value of internalPaload) {
|
|
46
|
+
this.writeByDesc(value, parameter.typed);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.write(parameter.type, payload[parameter.name], options);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return this.getPosition() - start;
|
|
54
|
+
}
|
|
55
|
+
readByDesc(params) {
|
|
56
|
+
const payload = {};
|
|
57
|
+
for (const parameter of params) {
|
|
58
|
+
const options = { payload };
|
|
59
|
+
if (parameter.condition && !parameter.condition(payload, this)) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (parameter.options)
|
|
63
|
+
parameter.options(payload, options);
|
|
64
|
+
if (parameter.type == enums_1.BuffaloZBOSSDataType.LIST_TYPED && parameter.typed) {
|
|
65
|
+
payload[parameter.name] = [];
|
|
66
|
+
if (!this.isMore())
|
|
67
|
+
break;
|
|
68
|
+
for (let i = 0; i < (options.length || 0); i++) {
|
|
69
|
+
const internalPaload = this.readByDesc(parameter.typed);
|
|
70
|
+
payload[parameter.name].push(internalPaload);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
if (!this.isMore())
|
|
75
|
+
break;
|
|
76
|
+
payload[parameter.name] = this.read(parameter.type, options);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return payload;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ZBOSSBuffaloZcl = ZBOSSBuffaloZcl;
|
|
83
|
+
function getFrameDesc(type, key) {
|
|
84
|
+
const frameDesc = commands_1.FRAMES[key];
|
|
85
|
+
if (!frameDesc)
|
|
86
|
+
throw new Error(`Unrecognized frame type from FrameID ${key}`);
|
|
87
|
+
switch (type) {
|
|
88
|
+
case FrameType.REQUEST:
|
|
89
|
+
return frameDesc.request || [];
|
|
90
|
+
case FrameType.RESPONSE:
|
|
91
|
+
return frameDesc.response || [];
|
|
92
|
+
case FrameType.INDICATION:
|
|
93
|
+
return frameDesc.indication || [];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function readZBOSSFrame(buffer) {
|
|
97
|
+
const buf = new ZBOSSBuffaloZcl(buffer);
|
|
98
|
+
const version = buf.readUInt8();
|
|
99
|
+
const type = buf.readUInt8();
|
|
100
|
+
const commandId = buf.readUInt16();
|
|
101
|
+
let tsn = 0;
|
|
102
|
+
if ([FrameType.REQUEST, FrameType.RESPONSE].includes(type)) {
|
|
103
|
+
tsn = buf.readUInt8();
|
|
104
|
+
}
|
|
105
|
+
const payload = readPayload(type, commandId, buf);
|
|
106
|
+
return {
|
|
107
|
+
version,
|
|
108
|
+
type,
|
|
109
|
+
commandId,
|
|
110
|
+
tsn,
|
|
111
|
+
payload,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function writeZBOSSFrame(frame) {
|
|
115
|
+
const buf = new ZBOSSBuffaloZcl(Buffer.alloc(247));
|
|
116
|
+
buf.writeInt8(frame.version);
|
|
117
|
+
buf.writeInt8(frame.type);
|
|
118
|
+
buf.writeUInt16(frame.commandId);
|
|
119
|
+
buf.writeUInt8(frame.tsn);
|
|
120
|
+
writePayload(frame.type, frame.commandId, frame.payload, buf);
|
|
121
|
+
return buf.getWritten();
|
|
122
|
+
}
|
|
123
|
+
var FrameType;
|
|
124
|
+
(function (FrameType) {
|
|
125
|
+
FrameType[FrameType["REQUEST"] = 0] = "REQUEST";
|
|
126
|
+
FrameType[FrameType["RESPONSE"] = 1] = "RESPONSE";
|
|
127
|
+
FrameType[FrameType["INDICATION"] = 2] = "INDICATION";
|
|
128
|
+
})(FrameType || (exports.FrameType = FrameType = {}));
|
|
129
|
+
function makeFrame(type, commandId, params) {
|
|
130
|
+
const frameDesc = getFrameDesc(type, commandId);
|
|
131
|
+
const payload = {};
|
|
132
|
+
for (const parameter of frameDesc) {
|
|
133
|
+
// const options: BuffaloZclOptions = {payload};
|
|
134
|
+
if (parameter.condition && !parameter.condition(payload, undefined)) {
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
payload[parameter.name] = params[parameter.name];
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
version: 0,
|
|
141
|
+
type: type,
|
|
142
|
+
commandId: commandId,
|
|
143
|
+
tsn: 0,
|
|
144
|
+
payload: payload,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function readPayload(type, commandId, buffalo) {
|
|
148
|
+
const frameDesc = getFrameDesc(type, commandId);
|
|
149
|
+
return buffalo.readByDesc(frameDesc);
|
|
150
|
+
}
|
|
151
|
+
function writePayload(type, commandId, payload, buffalo) {
|
|
152
|
+
const frameDesc = getFrameDesc(type, commandId);
|
|
153
|
+
return buffalo.writeByDesc(payload, frameDesc);
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../../src/adapter/zboss/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Transform, TransformCallback, TransformOptions } from 'stream';
|
|
2
|
+
export declare class ZBOSSReader extends Transform {
|
|
3
|
+
private buffer;
|
|
4
|
+
constructor(opts?: TransformOptions);
|
|
5
|
+
_transform(chunk: Buffer, encoding: BufferEncoding, cb: TransformCallback): void;
|
|
6
|
+
_flush(cb: TransformCallback): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../../src/adapter/zboss/reader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAOtE,qBAAa,WAAY,SAAQ,SAAS;IACtC,OAAO,CAAC,MAAM,CAAS;gBAEJ,IAAI,CAAC,EAAE,gBAAgB;IAM1C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAsChF,MAAM,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;CAOtC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* istanbul ignore file */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ZBOSSReader = void 0;
|
|
5
|
+
const stream_1 = require("stream");
|
|
6
|
+
const logger_1 = require("../../utils/logger");
|
|
7
|
+
const consts_1 = require("./consts");
|
|
8
|
+
const NS = 'zh:zboss:read';
|
|
9
|
+
class ZBOSSReader extends stream_1.Transform {
|
|
10
|
+
buffer;
|
|
11
|
+
constructor(opts) {
|
|
12
|
+
super(opts);
|
|
13
|
+
this.buffer = Buffer.alloc(0);
|
|
14
|
+
}
|
|
15
|
+
_transform(chunk, encoding, cb) {
|
|
16
|
+
let data = Buffer.concat([this.buffer, chunk]);
|
|
17
|
+
let position;
|
|
18
|
+
logger_1.logger.debug(`<<< DATA [${chunk.toString('hex')}]`, NS);
|
|
19
|
+
// SIGNATURE - start of package
|
|
20
|
+
while ((position = data.indexOf(consts_1.SIGNATURE)) !== -1) {
|
|
21
|
+
// need for read length
|
|
22
|
+
if (data.length > position + 3) {
|
|
23
|
+
const len = data.readUInt16LE(position + 1);
|
|
24
|
+
if (data.length >= position - 1 + len) {
|
|
25
|
+
const frame = data.subarray(position + 1, position + 1 + len);
|
|
26
|
+
logger_1.logger.debug(`<<< FRAME [${frame.toString('hex')}]`, NS);
|
|
27
|
+
// emit the frame via 'data' event
|
|
28
|
+
this.push(frame);
|
|
29
|
+
// if position not 1 - try to convert buffer before position to text - chip console output
|
|
30
|
+
if (position > 1) {
|
|
31
|
+
logger_1.logger.debug(`<<< CONSOLE:\n\r${data.subarray(0, position - 1).toString()}`, NS);
|
|
32
|
+
}
|
|
33
|
+
// remove the frame from internal buffer (set below)
|
|
34
|
+
data = data.subarray(position + 1 + len);
|
|
35
|
+
if (data.length)
|
|
36
|
+
logger_1.logger.debug(`<<< TAIL [${data.toString('hex')}]`, NS);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
logger_1.logger.debug(`<<< Not enough data. Length=${data.length}, frame length=${len}. Waiting`, NS);
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
logger_1.logger.debug(`<<< Not enough data. Length=${data.length}. Waiting`, NS);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
this.buffer = data;
|
|
49
|
+
cb();
|
|
50
|
+
}
|
|
51
|
+
_flush(cb) {
|
|
52
|
+
this.push(this.buffer);
|
|
53
|
+
this.buffer = Buffer.alloc(0);
|
|
54
|
+
cb();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.ZBOSSReader = ZBOSSReader;
|
|
58
|
+
//# sourceMappingURL=reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/adapter/zboss/reader.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AAE1B,mCAAsE;AAEtE,+CAA0C;AAC1C,qCAAmC;AAEnC,MAAM,EAAE,GAAG,eAAe,CAAC;AAE3B,MAAa,WAAY,SAAQ,kBAAS;IAC9B,MAAM,CAAS;IAEvB,YAAmB,IAAuB;QACtC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAwB,EAAE,EAAqB;QACrE,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAgB,CAAC;QAErB,eAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,+BAA+B;QAC/B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjD,uBAAuB;YACvB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBAC9D,eAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACzD,kCAAkC;oBAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAEjB,0FAA0F;oBAC1F,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACf,eAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrF,CAAC;oBACD,oDAAoD;oBACpD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBACzC,IAAI,IAAI,CAAC,MAAM;wBAAE,eAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACJ,eAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,kBAAkB,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC7F,MAAM;gBACV,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,eAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,CAAC,CAAC;gBACxE,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,EAAE,EAAE,CAAC;IACT,CAAC;IAED,MAAM,CAAC,EAAqB;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9B,EAAE,EAAE,CAAC;IACT,CAAC;CACJ;AAtDD,kCAsDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapter/zboss/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapter/zboss/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import EventEmitter from 'stream';
|
|
2
|
+
import { SerialPortOptions } from '../tstype';
|
|
3
|
+
import { ZBOSSFrame } from './frame';
|
|
4
|
+
export declare class ZBOSSUart extends EventEmitter {
|
|
5
|
+
private readonly portOptions;
|
|
6
|
+
private serialPort?;
|
|
7
|
+
private socketPort?;
|
|
8
|
+
private writer;
|
|
9
|
+
private reader;
|
|
10
|
+
private closing;
|
|
11
|
+
private sendSeq;
|
|
12
|
+
private recvSeq;
|
|
13
|
+
private ackSeq;
|
|
14
|
+
private waitress;
|
|
15
|
+
private queue;
|
|
16
|
+
inReset: boolean;
|
|
17
|
+
constructor(options: SerialPortOptions);
|
|
18
|
+
resetNcp(): Promise<boolean>;
|
|
19
|
+
get portOpen(): boolean | undefined;
|
|
20
|
+
start(): Promise<boolean>;
|
|
21
|
+
stop(): Promise<void>;
|
|
22
|
+
private openPort;
|
|
23
|
+
closePort(): Promise<void>;
|
|
24
|
+
private onPortClose;
|
|
25
|
+
private onPortError;
|
|
26
|
+
private onPackage;
|
|
27
|
+
sendFrame(frame: ZBOSSFrame): Promise<void>;
|
|
28
|
+
private sendDATA;
|
|
29
|
+
private handleACK;
|
|
30
|
+
private sendACK;
|
|
31
|
+
private writeBuffer;
|
|
32
|
+
private makePack;
|
|
33
|
+
private waitFor;
|
|
34
|
+
private waitressTimeoutFormatter;
|
|
35
|
+
private waitressValidator;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=uart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uart.d.ts","sourceRoot":"","sources":["../../../src/adapter/zboss/uart.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAOlC,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAkC,UAAU,EAAC,MAAM,SAAS,CAAC;AAOpE,qBAAa,SAAU,SAAQ,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAAQ;IACd,OAAO,UAAS;gBAEX,OAAO,EAAE,iBAAiB;IAYzB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBzC,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CASlC;IAEY,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAQpB,QAAQ;IA0ET,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBzB,WAAW;YASX,WAAW;YAIX,SAAS;IAgEV,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAyB1C,QAAQ;IAwCtB,OAAO,CAAC,SAAS;YAsBH,OAAO;IAuBrB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;CAG5B"}
|