jooby-codec 3.6.1 → 3.8.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/dist/analog/CommandBinaryBuffer.d.ts +9 -0
- package/dist/analog/CommandBinaryBuffer.js +19 -0
- package/dist/analog/CommandBinaryBuffer.js.map +1 -1
- package/dist/analog/DataSegmentsCollector.d.ts +7 -0
- package/dist/analog/DataSegmentsCollector.js +61 -0
- package/dist/analog/DataSegmentsCollector.js.map +1 -0
- package/dist/analog/commands/DataSegmentBase.d.ts +11 -0
- package/dist/analog/commands/DataSegmentBase.js +41 -0
- package/dist/analog/commands/DataSegmentBase.js.map +1 -0
- package/dist/analog/commands/downlink/DataSegment.d.ts +4 -0
- package/dist/analog/commands/downlink/DataSegment.js +7 -0
- package/dist/analog/commands/downlink/DataSegment.js.map +1 -0
- package/dist/analog/commands/downlink/index.d.ts +1 -0
- package/dist/analog/commands/downlink/index.js +1 -0
- package/dist/analog/commands/downlink/index.js.map +1 -1
- package/dist/analog/commands/uplink/DataSegment.d.ts +4 -0
- package/dist/analog/commands/uplink/DataSegment.js +7 -0
- package/dist/analog/commands/uplink/DataSegment.js.map +1 -0
- package/dist/analog/commands/uplink/index.d.ts +1 -0
- package/dist/analog/commands/uplink/index.js +1 -0
- package/dist/analog/commands/uplink/index.js.map +1 -1
- package/dist/analog/constants/commandRelations.d.ts +2 -2
- package/dist/analog/constants/commandRelations.js +1 -0
- package/dist/analog/constants/commandRelations.js.map +1 -1
- package/dist/analog/frame.d.ts +8 -8
- package/dist/analog/frame.js +11 -11
- package/dist/analog/frame.js.map +1 -1
- package/dist/analog/index.d.ts +1 -0
- package/dist/analog/index.js +1 -0
- package/dist/analog/index.js.map +1 -1
- package/dist/analog/message.js +3 -3
- package/dist/analog/message.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mtx/message.d.ts +2 -1
- package/dist/mtx/message.js +8 -6
- package/dist/mtx/message.js.map +1 -1
- package/dist/mtxLora/Command.d.ts +27 -0
- package/dist/mtxLora/Command.js +27 -0
- package/dist/mtxLora/Command.js.map +1 -0
- package/dist/mtxLora/CommandBinaryBuffer.d.ts +50 -0
- package/dist/mtxLora/CommandBinaryBuffer.js +272 -0
- package/dist/mtxLora/CommandBinaryBuffer.js.map +1 -0
- package/dist/mtxLora/UnknownCommand.d.ts +12 -0
- package/dist/mtxLora/UnknownCommand.js +17 -0
- package/dist/mtxLora/UnknownCommand.js.map +1 -0
- package/dist/mtxLora/commands/downlink/GetHalfhoursEnergies.d.ts +20 -0
- package/dist/mtxLora/commands/downlink/GetHalfhoursEnergies.js +61 -0
- package/dist/mtxLora/commands/downlink/GetHalfhoursEnergies.js.map +1 -0
- package/dist/mtxLora/commands/downlink/index.d.ts +1 -0
- package/dist/mtxLora/commands/downlink/index.js +2 -0
- package/dist/mtxLora/commands/downlink/index.js.map +1 -0
- package/dist/mtxLora/commands/index.d.ts +2 -0
- package/dist/mtxLora/commands/index.js +3 -0
- package/dist/mtxLora/commands/index.js.map +1 -0
- package/dist/mtxLora/commands/uplink/GetDayEnergies.d.ts +17 -0
- package/dist/mtxLora/commands/uplink/GetDayEnergies.js +59 -0
- package/dist/mtxLora/commands/uplink/GetDayEnergies.js.map +1 -0
- package/dist/mtxLora/commands/uplink/GetDayMaxPower.d.ts +17 -0
- package/dist/mtxLora/commands/uplink/GetDayMaxPower.js +67 -0
- package/dist/mtxLora/commands/uplink/GetDayMaxPower.js.map +1 -0
- package/dist/mtxLora/commands/uplink/GetHalfhoursEnergies.d.ts +19 -0
- package/dist/mtxLora/commands/uplink/GetHalfhoursEnergies.js +68 -0
- package/dist/mtxLora/commands/uplink/GetHalfhoursEnergies.js.map +1 -0
- package/dist/mtxLora/commands/uplink/index.d.ts +3 -0
- package/dist/mtxLora/commands/uplink/index.js +4 -0
- package/dist/mtxLora/commands/uplink/index.js.map +1 -0
- package/dist/mtxLora/constants/commandRelations.d.ts +6 -0
- package/dist/mtxLora/constants/commandRelations.js +11 -0
- package/dist/mtxLora/constants/commandRelations.js.map +1 -0
- package/dist/mtxLora/index.d.ts +2 -0
- package/dist/mtxLora/index.js +3 -0
- package/dist/mtxLora/index.js.map +1 -0
- package/dist/mtxLora/message.d.ts +24 -0
- package/dist/mtxLora/message.js +81 -0
- package/dist/mtxLora/message.js.map +1 -0
- package/dist/obis-observer/CommandBinaryBuffer.d.ts +10 -6
- package/dist/obis-observer/CommandBinaryBuffer.js +10 -8
- package/dist/obis-observer/CommandBinaryBuffer.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetArchiveState.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/GetArchiveState.js +17 -12
- package/dist/obis-observer/commands/downlink/GetArchiveState.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetMeterDate.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/GetMeterDate.js +14 -7
- package/dist/obis-observer/commands/downlink/GetMeterDate.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetMeterInfo.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/GetMeterInfo.js +14 -7
- package/dist/obis-observer/commands/downlink/GetMeterInfo.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetMeterReadoutState.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/GetMeterReadoutState.js +14 -7
- package/dist/obis-observer/commands/downlink/GetMeterReadoutState.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetObisContent.js +5 -5
- package/dist/obis-observer/commands/downlink/GetObisContent.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetObisContentById.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/GetObisContentById.js +16 -7
- package/dist/obis-observer/commands/downlink/GetObisContentById.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetSerialPort.d.ts +13 -0
- package/dist/obis-observer/commands/downlink/GetSerialPort.js +32 -0
- package/dist/obis-observer/commands/downlink/GetSerialPort.js.map +1 -0
- package/dist/obis-observer/commands/downlink/ReadMeterArchive.js +5 -5
- package/dist/obis-observer/commands/downlink/ReadMeterArchive.js.map +1 -1
- package/dist/obis-observer/commands/downlink/ReadMeterArchiveWithDate.js +5 -5
- package/dist/obis-observer/commands/downlink/ReadMeterArchiveWithDate.js.map +1 -1
- package/dist/obis-observer/commands/downlink/RemoveMeter.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/RemoveMeter.js +14 -7
- package/dist/obis-observer/commands/downlink/RemoveMeter.js.map +1 -1
- package/dist/obis-observer/commands/downlink/SetSerialPort.d.ts +3 -9
- package/dist/obis-observer/commands/downlink/SetSerialPort.js +6 -13
- package/dist/obis-observer/commands/downlink/SetSerialPort.js.map +1 -1
- package/dist/obis-observer/commands/downlink/SetupMeter.js +7 -7
- package/dist/obis-observer/commands/downlink/SetupMeter.js.map +1 -1
- package/dist/obis-observer/commands/downlink/index.d.ts +1 -0
- package/dist/obis-observer/commands/downlink/index.js +1 -0
- package/dist/obis-observer/commands/downlink/index.js.map +1 -1
- package/dist/obis-observer/commands/uplink/GetMeterIdListResponse.js +5 -5
- package/dist/obis-observer/commands/uplink/GetMeterIdListResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/GetMeterIdResponse.d.ts +1 -1
- package/dist/obis-observer/commands/uplink/GetMeterIdResponse.js +14 -7
- package/dist/obis-observer/commands/uplink/GetMeterIdResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/GetSerialPortResponse.d.ts +13 -0
- package/dist/obis-observer/commands/uplink/GetSerialPortResponse.js +44 -0
- package/dist/obis-observer/commands/uplink/GetSerialPortResponse.js.map +1 -0
- package/dist/obis-observer/commands/uplink/ObservationReport.js +5 -5
- package/dist/obis-observer/commands/uplink/ObservationReport.js.map +1 -1
- package/dist/obis-observer/commands/uplink/ObservationReportString.js +6 -6
- package/dist/obis-observer/commands/uplink/ObservationReportString.js.map +1 -1
- package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js +5 -5
- package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/index.d.ts +1 -0
- package/dist/obis-observer/commands/uplink/index.js +1 -0
- package/dist/obis-observer/commands/uplink/index.js.map +1 -1
- package/dist/obis-observer/constants/commandRelations.d.ts +2 -2
- package/dist/obis-observer/constants/commandRelations.js +1 -0
- package/dist/obis-observer/constants/commandRelations.js.map +1 -1
- package/dist/utils/permutations.d.ts +2 -0
- package/dist/utils/permutations.js +15 -0
- package/dist/utils/permutations.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as GetHalfhoursEnergies } from './GetHalfhoursEnergies.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/downlink/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mtxLora/commands/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IDate, TTariffsEnergies } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
interface IGetDayEnergies {
|
|
4
|
+
date: IDate;
|
|
5
|
+
energies: TTariffsEnergies;
|
|
6
|
+
}
|
|
7
|
+
declare class GetDayEnergies extends Command {
|
|
8
|
+
parameters: IGetDayEnergies;
|
|
9
|
+
constructor(parameters: IGetDayEnergies);
|
|
10
|
+
static readonly id = 120;
|
|
11
|
+
static readonly directionType = 2;
|
|
12
|
+
static readonly examples: TCommandExampleList;
|
|
13
|
+
static readonly hasParameters = true;
|
|
14
|
+
static fromBytes(data: Uint8Array): GetDayEnergies;
|
|
15
|
+
toBytes(): Uint8Array;
|
|
16
|
+
}
|
|
17
|
+
export default GetDayEnergies;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import Command, { COMMAND_HEADER_SIZE } from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../../constants/directions.js';
|
|
4
|
+
const COMMAND_ID = 0x78;
|
|
5
|
+
const DATE_SIZE = 3;
|
|
6
|
+
const MAX_TARIFFS_ENERGIES_SIZE = 5 * 4 * 4;
|
|
7
|
+
const COMMAND_MAX_SIZE = DATE_SIZE + MAX_TARIFFS_ENERGIES_SIZE;
|
|
8
|
+
const examples = [
|
|
9
|
+
{
|
|
10
|
+
name: 'get day energies',
|
|
11
|
+
parameters: {
|
|
12
|
+
date: {
|
|
13
|
+
year: 21,
|
|
14
|
+
month: 2,
|
|
15
|
+
day: 3
|
|
16
|
+
},
|
|
17
|
+
energies: [
|
|
18
|
+
{
|
|
19
|
+
aPlus: 0x1000,
|
|
20
|
+
aMinusRPlus: 0x2000
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
hex: {
|
|
25
|
+
header: '78 0c',
|
|
26
|
+
body: '2a 43 11 11 00 00 10 00 00 00 20 00'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
class GetDayEnergies extends Command {
|
|
31
|
+
constructor(parameters) {
|
|
32
|
+
super();
|
|
33
|
+
this.parameters = parameters;
|
|
34
|
+
}
|
|
35
|
+
static fromBytes(data) {
|
|
36
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
37
|
+
return new GetDayEnergies({
|
|
38
|
+
date: buffer.getDate(),
|
|
39
|
+
energies: buffer.getTariffsEnergies()
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
toBytes() {
|
|
43
|
+
const { parameters: { date, energies } } = this;
|
|
44
|
+
const buffer = new CommandBinaryBuffer(COMMAND_HEADER_SIZE + COMMAND_MAX_SIZE);
|
|
45
|
+
buffer.setDate(date);
|
|
46
|
+
buffer.setTariffsEnergies(energies);
|
|
47
|
+
return new Uint8Array([
|
|
48
|
+
COMMAND_ID,
|
|
49
|
+
buffer.position,
|
|
50
|
+
...buffer.getBytesToOffset()
|
|
51
|
+
]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
GetDayEnergies.id = COMMAND_ID;
|
|
55
|
+
GetDayEnergies.directionType = UPLINK;
|
|
56
|
+
GetDayEnergies.examples = examples;
|
|
57
|
+
GetDayEnergies.hasParameters = true;
|
|
58
|
+
export default GetDayEnergies;
|
|
59
|
+
//# sourceMappingURL=GetDayEnergies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetDayEnergies.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetDayEnergies.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAsB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACnF,OAAO,mBAA8C,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAC,MAAM,EAAC,MAAM,kCAAkC,CAAC;AASxD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,yBAAyB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,MAAM,gBAAgB,GAAG,SAAS,GAAG,yBAAyB,CAAC;AAE/D,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,CAAC;aACT;YACD,QAAQ,EAAE;gBACN;oBACI,KAAK,EAAE,MAAM;oBACb,WAAW,EAAE,MAAM;iBACtB;aACJ;SACJ;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,qCAAqC;SAC9C;KACJ;CACJ,CAAC;AA8BF,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAA2B;QAC5C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAiB;IAEhD,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,cAAc,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;YACtB,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE;SACxC,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAC,GAAG,IAAI,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;QAG/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEpC,OAAO,IAAI,UAAU,CAAC;YAClB,UAAU;YACV,MAAM,CAAC,QAAQ;YACf,GAAG,MAAM,CAAC,gBAAgB,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;;AAjCe,iBAAE,GAAG,UAAU,CAAC;AAEhB,4BAAa,GAAG,MAAM,CAAC;AAEvB,uBAAQ,GAAG,QAAQ,CAAC;AAEpB,4BAAa,GAAG,IAAI,CAAC;AA+BzC,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IDate, TTariffsPowerMax } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
interface IGetDayMaxPower {
|
|
4
|
+
date: IDate;
|
|
5
|
+
tariffs: TTariffsPowerMax;
|
|
6
|
+
}
|
|
7
|
+
declare class GetDayMaxPower extends Command {
|
|
8
|
+
parameters: IGetDayMaxPower;
|
|
9
|
+
constructor(parameters: IGetDayMaxPower);
|
|
10
|
+
static readonly id = 121;
|
|
11
|
+
static readonly directionType = 2;
|
|
12
|
+
static readonly examples: TCommandExampleList;
|
|
13
|
+
static readonly hasParameters = true;
|
|
14
|
+
static fromBytes(data: Uint8Array): GetDayMaxPower;
|
|
15
|
+
toBytes(): Uint8Array;
|
|
16
|
+
}
|
|
17
|
+
export default GetDayMaxPower;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import Command, { COMMAND_HEADER_SIZE } from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../../constants/directions.js';
|
|
4
|
+
const COMMAND_ID = 0x79;
|
|
5
|
+
const DATE_SIZE = 3;
|
|
6
|
+
const MAX_TARIFFS_ENERGIES_SIZE = 5 * 4 * (1 + 1 + 4);
|
|
7
|
+
const COMMAND_MAX_SIZE = DATE_SIZE + MAX_TARIFFS_ENERGIES_SIZE;
|
|
8
|
+
const examples = [
|
|
9
|
+
{
|
|
10
|
+
name: 'get day max power',
|
|
11
|
+
parameters: {
|
|
12
|
+
date: {
|
|
13
|
+
year: 21,
|
|
14
|
+
month: 2,
|
|
15
|
+
day: 3
|
|
16
|
+
},
|
|
17
|
+
tariffs: [
|
|
18
|
+
{
|
|
19
|
+
aPlus: {
|
|
20
|
+
hours: 2,
|
|
21
|
+
minutes: 3,
|
|
22
|
+
power: 0x1000
|
|
23
|
+
},
|
|
24
|
+
aMinusRPlus: {
|
|
25
|
+
hours: 4,
|
|
26
|
+
minutes: 5,
|
|
27
|
+
power: 0x2000
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
hex: {
|
|
33
|
+
header: '79 10',
|
|
34
|
+
body: '2a 43 11 11 02 03 00 00 10 00 04 05 00 00 20 00'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
];
|
|
38
|
+
class GetDayMaxPower extends Command {
|
|
39
|
+
constructor(parameters) {
|
|
40
|
+
super();
|
|
41
|
+
this.parameters = parameters;
|
|
42
|
+
}
|
|
43
|
+
static fromBytes(data) {
|
|
44
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
45
|
+
return new GetDayMaxPower({
|
|
46
|
+
date: buffer.getDate(),
|
|
47
|
+
tariffs: buffer.getTariffsPowerMax()
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
toBytes() {
|
|
51
|
+
const { parameters: { date, tariffs: powers } } = this;
|
|
52
|
+
const buffer = new CommandBinaryBuffer(COMMAND_HEADER_SIZE + COMMAND_MAX_SIZE);
|
|
53
|
+
buffer.setDate(date);
|
|
54
|
+
buffer.setTariffsPowerMax(powers);
|
|
55
|
+
return new Uint8Array([
|
|
56
|
+
COMMAND_ID,
|
|
57
|
+
buffer.position,
|
|
58
|
+
...buffer.getBytesToOffset()
|
|
59
|
+
]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
GetDayMaxPower.id = COMMAND_ID;
|
|
63
|
+
GetDayMaxPower.directionType = UPLINK;
|
|
64
|
+
GetDayMaxPower.examples = examples;
|
|
65
|
+
GetDayMaxPower.hasParameters = true;
|
|
66
|
+
export default GetDayMaxPower;
|
|
67
|
+
//# sourceMappingURL=GetDayMaxPower.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetDayMaxPower.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetDayMaxPower.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAsB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACnF,OAAO,mBAA8C,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAC,MAAM,EAAC,MAAM,kCAAkC,CAAC;AASxD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,yBAAyB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,MAAM,gBAAgB,GAAG,SAAS,GAAG,yBAAyB,CAAC;AAE/D,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,CAAC;aACT;YACD,OAAO,EAAE;gBACL;oBACI,KAAK,EAAE;wBACH,KAAK,EAAE,CAAC;wBACR,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE,MAAM;qBAChB;oBACD,WAAW,EAAE;wBACT,KAAK,EAAE,CAAC;wBACR,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE,MAAM;qBAChB;iBACJ;aACJ;SACJ;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,iDAAiD;SAC1D;KACJ;CACJ,CAAC;AA8BF,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAA2B;QAC5C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAiB;IAEhD,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,cAAc,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;YACtB,OAAO,EAAE,MAAM,CAAC,kBAAkB,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,EAAC,GAAG,IAAI,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;QAG/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,IAAI,UAAU,CAAC;YAClB,UAAU;YACV,MAAM,CAAC,QAAQ;YACf,GAAG,MAAM,CAAC,gBAAgB,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;;AAjCe,iBAAE,GAAG,UAAU,CAAC;AAEhB,4BAAa,GAAG,MAAM,CAAC;AAEvB,uBAAQ,GAAG,QAAQ,CAAC;AAEpB,4BAAa,GAAG,IAAI,CAAC;AA8BzC,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IDate, THalfhoursEnergies } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
interface IGetHalfhoursEnergies {
|
|
4
|
+
date: IDate;
|
|
5
|
+
firstHalfhour: number;
|
|
6
|
+
halfhoursNumber: number;
|
|
7
|
+
energies: THalfhoursEnergies;
|
|
8
|
+
}
|
|
9
|
+
declare class GetHalfhoursEnergies extends Command {
|
|
10
|
+
parameters: IGetHalfhoursEnergies;
|
|
11
|
+
constructor(parameters: IGetHalfhoursEnergies);
|
|
12
|
+
static readonly id = 105;
|
|
13
|
+
static readonly directionType = 2;
|
|
14
|
+
static readonly examples: TCommandExampleList;
|
|
15
|
+
static readonly hasParameters = true;
|
|
16
|
+
static fromBytes(data: Uint8Array): GetHalfhoursEnergies;
|
|
17
|
+
toBytes(): Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
export default GetHalfhoursEnergies;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import Command, { COMMAND_HEADER_SIZE } from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../../constants/directions.js';
|
|
4
|
+
const COMMAND_ID = 0x69;
|
|
5
|
+
const DATE_SIZE = 3;
|
|
6
|
+
const MAX_HALFHOURS_ENERGY_SIZE = 5 * 3 * 4;
|
|
7
|
+
const COMMAND_MAX_SIZE = DATE_SIZE + MAX_HALFHOURS_ENERGY_SIZE;
|
|
8
|
+
const examples = [
|
|
9
|
+
{
|
|
10
|
+
name: 'get halfhours energies',
|
|
11
|
+
parameters: {
|
|
12
|
+
date: {
|
|
13
|
+
year: 21,
|
|
14
|
+
month: 2,
|
|
15
|
+
day: 3
|
|
16
|
+
},
|
|
17
|
+
firstHalfhour: 1,
|
|
18
|
+
halfhoursNumber: 2,
|
|
19
|
+
energies: {
|
|
20
|
+
aPlus: [0x1000, 0x2000],
|
|
21
|
+
aMinusRPlus: [0x3000, 0x4000]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
hex: {
|
|
25
|
+
header: '69 15',
|
|
26
|
+
body: '2a 43 11 01 02 00 00 10 00 00 00 20 00 00 00 30 00 00 00 40 00'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
class GetHalfhoursEnergies extends Command {
|
|
31
|
+
constructor(parameters) {
|
|
32
|
+
super();
|
|
33
|
+
this.parameters = parameters;
|
|
34
|
+
}
|
|
35
|
+
static fromBytes(data) {
|
|
36
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
37
|
+
const date = buffer.getDate();
|
|
38
|
+
const energiesFlags = buffer.getEnergiesFlags();
|
|
39
|
+
const firstHalfhour = buffer.getUint8();
|
|
40
|
+
const halfhoursNumber = buffer.getUint8();
|
|
41
|
+
return new GetHalfhoursEnergies({
|
|
42
|
+
date,
|
|
43
|
+
firstHalfhour,
|
|
44
|
+
halfhoursNumber,
|
|
45
|
+
energies: buffer.getHalfhoursEnergies(energiesFlags, halfhoursNumber)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
toBytes() {
|
|
49
|
+
const { parameters: { date, firstHalfhour, halfhoursNumber, energies } } = this;
|
|
50
|
+
const buffer = new CommandBinaryBuffer(COMMAND_HEADER_SIZE + COMMAND_MAX_SIZE);
|
|
51
|
+
buffer.setDate(date);
|
|
52
|
+
buffer.setEnergiesFlags(energies);
|
|
53
|
+
buffer.setUint8(firstHalfhour);
|
|
54
|
+
buffer.setUint8(halfhoursNumber);
|
|
55
|
+
buffer.setHalfhoursEnergies(energies);
|
|
56
|
+
return new Uint8Array([
|
|
57
|
+
COMMAND_ID,
|
|
58
|
+
buffer.position,
|
|
59
|
+
...buffer.getBytesToOffset()
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
GetHalfhoursEnergies.id = COMMAND_ID;
|
|
64
|
+
GetHalfhoursEnergies.directionType = UPLINK;
|
|
65
|
+
GetHalfhoursEnergies.examples = examples;
|
|
66
|
+
GetHalfhoursEnergies.hasParameters = true;
|
|
67
|
+
export default GetHalfhoursEnergies;
|
|
68
|
+
//# sourceMappingURL=GetHalfhoursEnergies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetHalfhoursEnergies.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetHalfhoursEnergies.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAsB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACnF,OAAO,mBAAgD,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAC,MAAM,kCAAkC,CAAC;AAWxD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,yBAAyB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,MAAM,gBAAgB,GAAG,SAAS,GAAG,yBAAyB,CAAC;AAE/D,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,CAAC;aACT;YACD,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE;gBACN,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;gBACvB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aAChC;SACJ;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,gEAAgE;SACzE;KACJ;CACJ,CAAC;AA8BF,MAAM,oBAAqB,SAAQ,OAAO;IACtC,YAAqB,UAAiC;QAClD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAuB;IAEtD,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE1C,OAAO,IAAI,oBAAoB,CAAC;YAC5B,IAAI;YACJ,aAAa;YACb,eAAe;YACf,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC;SACxE,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAC,EAAC,GAAG,IAAI,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;QAG/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEtC,OAAO,IAAI,UAAU,CAAC;YAClB,UAAU;YACV,MAAM,CAAC,QAAQ;YACf,GAAG,MAAM,CAAC,gBAAgB,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;;AA1Ce,uBAAE,GAAG,UAAU,CAAC;AAEhB,kCAAa,GAAG,MAAM,CAAC;AAEvB,6BAAQ,GAAG,QAAQ,CAAC;AAEpB,kCAAa,GAAG,IAAI,CAAC;AAwCzC,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as downlinkCommands from '../commands/downlink/index.js';
|
|
2
|
+
import * as uplinkCommands from '../commands/uplink/index.js';
|
|
3
|
+
export declare const requestByResponse: Map<any, any>;
|
|
4
|
+
export declare const responseByRequest: Map<any, any>;
|
|
5
|
+
export declare const requestById: Map<number, typeof downlinkCommands.GetHalfhoursEnergies>;
|
|
6
|
+
export declare const responseById: Map<number, typeof uplinkCommands.GetHalfhoursEnergies | typeof uplinkCommands.GetDayEnergies | typeof uplinkCommands.GetDayMaxPower>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as downlinkCommands from '../commands/downlink/index.js';
|
|
2
|
+
import * as uplinkCommands from '../commands/uplink/index.js';
|
|
3
|
+
export const requestByResponse = new Map();
|
|
4
|
+
export const responseByRequest = new Map();
|
|
5
|
+
export const requestById = new Map(Object.values(downlinkCommands).map(command => [command.id, command]));
|
|
6
|
+
export const responseById = new Map(Object.values(uplinkCommands).map(command => [command.id, command]));
|
|
7
|
+
requestByResponse.set(uplinkCommands.GetHalfhoursEnergies, downlinkCommands.GetHalfhoursEnergies);
|
|
8
|
+
for (const [response, request] of requestByResponse.entries()) {
|
|
9
|
+
responseByRequest.set(request, response);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=commandRelations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandRelations.js","sourceRoot":"","sources":["../../../src/mtxLora/constants/commandRelations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAC;AAI9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AAG3C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1G,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAGzG,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAElG,KAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAG,CAAC;IAE9D,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mtxLora/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Command from './Command.js';
|
|
2
|
+
import { IHexFormatOptions } from '../config.js';
|
|
3
|
+
interface IMessageCommand {
|
|
4
|
+
data: {
|
|
5
|
+
header: Uint8Array;
|
|
6
|
+
body: Uint8Array;
|
|
7
|
+
};
|
|
8
|
+
command: Command;
|
|
9
|
+
}
|
|
10
|
+
export interface IMessage {
|
|
11
|
+
messageId: number;
|
|
12
|
+
accessLevel: number;
|
|
13
|
+
commands?: Array<IMessageCommand>;
|
|
14
|
+
}
|
|
15
|
+
export interface IMessageConfig {
|
|
16
|
+
direction?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const fromBytes: (bytes: Uint8Array, config?: IMessageConfig) => IMessage;
|
|
19
|
+
export declare const fromHex: (data: string, config?: IMessageConfig) => IMessage;
|
|
20
|
+
export declare const fromBase64: (data: string) => IMessage;
|
|
21
|
+
export declare const toBytes: (messageId: number, accessLevel: number, commands: Array<Command>) => Uint8Array;
|
|
22
|
+
export declare const toHex: (messageId: number, accessLevel: number, commands: Array<Command>, hexOptions?: IHexFormatOptions) => string;
|
|
23
|
+
export declare const toBase64: (messageId: number, accessLevel: number, commands: Array<Command>) => string;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import UnknownCommand from './UnknownCommand.js';
|
|
2
|
+
import { requestById, responseById } from './constants/commandRelations.js';
|
|
3
|
+
import { accessLevels } from '../mtx/constants/index.js';
|
|
4
|
+
import getBytesFromHex from '../utils/getBytesFromHex.js';
|
|
5
|
+
import getBytesFromBase64 from '../utils/getBytesFromBase64.js';
|
|
6
|
+
import getHexFromBytes from '../utils/getHexFromBytes.js';
|
|
7
|
+
import getBase64FromBytes from '../utils/getBase64FromBytes.js';
|
|
8
|
+
import mergeUint8Arrays from '../utils/mergeUint8Arrays.js';
|
|
9
|
+
import * as directionTypes from '../constants/directions.js';
|
|
10
|
+
import { AUTO, DOWNLINK, UPLINK } from '../constants/directions.js';
|
|
11
|
+
const MESSAGE_HEADER_SIZE = 3;
|
|
12
|
+
const COMMAND_HEADER_SIZE = 2;
|
|
13
|
+
const PROTOCOL_VERSION = 0x10;
|
|
14
|
+
const directionTypeIds = new Set(Object.values(directionTypes));
|
|
15
|
+
const getCommand = (id, data, direction = AUTO) => {
|
|
16
|
+
if (!directionTypeIds.has(direction)) {
|
|
17
|
+
throw new Error('wrong direction type');
|
|
18
|
+
}
|
|
19
|
+
const downlinkCommand = requestById.get(id);
|
|
20
|
+
const uplinkCommand = responseById.get(id);
|
|
21
|
+
if ((!downlinkCommand && !uplinkCommand)
|
|
22
|
+
|| (direction === DOWNLINK && !downlinkCommand)
|
|
23
|
+
|| (direction === UPLINK && !uplinkCommand)) {
|
|
24
|
+
return UnknownCommand.fromBytes(id, data);
|
|
25
|
+
}
|
|
26
|
+
if (direction === DOWNLINK || direction === UPLINK) {
|
|
27
|
+
const command = direction === UPLINK ? uplinkCommand : downlinkCommand;
|
|
28
|
+
return command.fromBytes(data);
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return uplinkCommand.fromBytes(data);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return downlinkCommand.fromBytes(data);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export const fromBytes = (bytes, config) => {
|
|
38
|
+
const direction = config?.direction ?? AUTO;
|
|
39
|
+
const commands = [];
|
|
40
|
+
const [messageId, accessLevel1, accessLevel2] = bytes;
|
|
41
|
+
const result = {
|
|
42
|
+
messageId,
|
|
43
|
+
accessLevel: (accessLevel1 & accessLevels.MASK)
|
|
44
|
+
};
|
|
45
|
+
if (result.accessLevel !== accessLevels.UNENCRYPTED) {
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
if (accessLevel1 !== accessLevel2) {
|
|
49
|
+
throw new Error('wrong access level');
|
|
50
|
+
}
|
|
51
|
+
result.commands = commands;
|
|
52
|
+
const messageBody = bytes.slice(MESSAGE_HEADER_SIZE);
|
|
53
|
+
let position = 0;
|
|
54
|
+
do {
|
|
55
|
+
const commandId = messageBody[position];
|
|
56
|
+
const commandBodySize = messageBody[position + 1];
|
|
57
|
+
const commandSize = COMMAND_HEADER_SIZE + commandBodySize;
|
|
58
|
+
const commandBody = messageBody.slice(position + COMMAND_HEADER_SIZE, position + commandSize);
|
|
59
|
+
if (!commandId) {
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
const command = getCommand(commandId, commandBody, direction);
|
|
63
|
+
commands.push({
|
|
64
|
+
data: { header: new Uint8Array([commandId]), body: commandBody },
|
|
65
|
+
command
|
|
66
|
+
});
|
|
67
|
+
position += commandSize;
|
|
68
|
+
} while (position <= messageBody.length);
|
|
69
|
+
return result;
|
|
70
|
+
};
|
|
71
|
+
export const fromHex = (data, config) => (fromBytes(getBytesFromHex(data), config));
|
|
72
|
+
export const fromBase64 = (data) => (fromBytes(getBytesFromBase64(data)));
|
|
73
|
+
export const toBytes = (messageId, accessLevel, commands) => {
|
|
74
|
+
const commandBytes = commands.map(command => command.toBytes());
|
|
75
|
+
const maskedAccessLevel = accessLevel | PROTOCOL_VERSION;
|
|
76
|
+
const header = new Uint8Array([messageId, maskedAccessLevel, maskedAccessLevel]);
|
|
77
|
+
return mergeUint8Arrays(header, ...commandBytes);
|
|
78
|
+
};
|
|
79
|
+
export const toHex = (messageId, accessLevel, commands, hexOptions = {}) => (getHexFromBytes(toBytes(messageId, accessLevel, commands), hexOptions));
|
|
80
|
+
export const toBase64 = (messageId, accessLevel, commands) => (getBase64FromBytes(toBytes(messageId, accessLevel, commands)));
|
|
81
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/mtxLora/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,15 @@ export interface IVersion {
|
|
|
34
34
|
major: number;
|
|
35
35
|
minor: number;
|
|
36
36
|
}
|
|
37
|
+
export interface ISerialPortParameters {
|
|
38
|
+
baudRate: number;
|
|
39
|
+
dataBits: number;
|
|
40
|
+
parity: number;
|
|
41
|
+
}
|
|
37
42
|
export declare const REQUEST_ID_SIZE = 1;
|
|
38
43
|
export declare const OBIS_PROFILE_SIZE = 6;
|
|
39
44
|
export declare const DATE_TIME_SIZE = 4;
|
|
45
|
+
export declare const METER_ID_SIZE = 4;
|
|
40
46
|
export declare const EUI_SIZE = 8;
|
|
41
47
|
declare class CommandBinaryBuffer extends BinaryBuffer {
|
|
42
48
|
constructor(dataOrLength: Uint8Array | number | string);
|
|
@@ -50,14 +56,12 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
50
56
|
setObisValueString(obisValue: IObisValueString): void;
|
|
51
57
|
getObisValueFloat(): IObisValueFloat;
|
|
52
58
|
setObisValueFloat(obisValue: IObisValueFloat): void;
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
getSerialPortParameters(): {
|
|
60
|
+
baudRate: number;
|
|
61
|
+
dataBits: number;
|
|
55
62
|
parity: number;
|
|
56
63
|
};
|
|
57
|
-
|
|
58
|
-
fixed: boolean;
|
|
59
|
-
parity: number;
|
|
60
|
-
}): void;
|
|
64
|
+
setSerialPortParameters(parameters: ISerialPortParameters): void;
|
|
61
65
|
getVersion(): IVersion;
|
|
62
66
|
setVersion(version: IVersion): void;
|
|
63
67
|
getEUI(): string;
|
|
@@ -6,6 +6,7 @@ import roundNumber from '../utils/roundNumber.js';
|
|
|
6
6
|
export const REQUEST_ID_SIZE = 1;
|
|
7
7
|
export const OBIS_PROFILE_SIZE = 6;
|
|
8
8
|
export const DATE_TIME_SIZE = 4;
|
|
9
|
+
export const METER_ID_SIZE = 4;
|
|
9
10
|
export const EUI_SIZE = 8;
|
|
10
11
|
const obisBitMask = {
|
|
11
12
|
f: 2 ** 0,
|
|
@@ -123,17 +124,18 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
123
124
|
this.setUint8(obisValue.code);
|
|
124
125
|
this.setFloat32(roundNumber(obisValue.content));
|
|
125
126
|
}
|
|
126
|
-
|
|
127
|
-
const flags = this.getUint8();
|
|
127
|
+
getSerialPortParameters() {
|
|
128
128
|
return {
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
baudRate: this.getUint8(),
|
|
130
|
+
dataBits: this.getUint8(),
|
|
131
|
+
parity: bitSet.extractBits(this.getUint8(), 2, 1)
|
|
131
132
|
};
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
flags = bitSet.fillBits(
|
|
136
|
-
|
|
134
|
+
setSerialPortParameters(parameters) {
|
|
135
|
+
const { baudRate, dataBits, parity } = parameters;
|
|
136
|
+
const flags = bitSet.fillBits(0, 2, 1, parity);
|
|
137
|
+
this.setUint8(baudRate);
|
|
138
|
+
this.setUint8(dataBits);
|
|
137
139
|
this.setUint8(flags);
|
|
138
140
|
}
|
|
139
141
|
getVersion() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../../src/obis-observer/CommandBinaryBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,WAAW,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../../src/obis-observer/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ declare class GetArchiveState extends Command {
|
|
|
11
11
|
static readonly directionType = 1;
|
|
12
12
|
static readonly examples: TCommandExampleList;
|
|
13
13
|
static readonly hasParameters = true;
|
|
14
|
-
static fromBytes(
|
|
14
|
+
static fromBytes(data: Uint8Array): GetArchiveState;
|
|
15
15
|
toBytes(): Uint8Array;
|
|
16
16
|
}
|
|
17
17
|
export default GetArchiveState;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
-
import { REQUEST_ID_SIZE } from '../../CommandBinaryBuffer.js';
|
|
2
|
+
import CommandBinaryBuffer, { REQUEST_ID_SIZE, METER_ID_SIZE } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { DOWNLINK } from '../../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x0f;
|
|
5
|
-
const COMMAND_SIZE = REQUEST_ID_SIZE + 2;
|
|
6
5
|
const examples = [
|
|
7
6
|
{
|
|
8
7
|
name: 'get archive state',
|
|
@@ -19,26 +18,32 @@ const examples = [
|
|
|
19
18
|
archiveType: 1,
|
|
20
19
|
meterId: 3
|
|
21
20
|
},
|
|
22
|
-
hex: { header: '0f
|
|
21
|
+
hex: { header: '0f 06', body: '05 01 00 00 00 03' }
|
|
23
22
|
}
|
|
24
23
|
];
|
|
25
24
|
class GetArchiveState extends Command {
|
|
26
25
|
constructor(parameters) {
|
|
27
26
|
super();
|
|
28
27
|
this.parameters = parameters;
|
|
29
|
-
this.size =
|
|
28
|
+
this.size = REQUEST_ID_SIZE + 1 + (parameters.meterId ? METER_ID_SIZE : 0);
|
|
30
29
|
}
|
|
31
|
-
static fromBytes(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
static fromBytes(data) {
|
|
31
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
32
|
+
const requestId = buffer.getUint8();
|
|
33
|
+
const archiveType = buffer.getUint8();
|
|
34
|
+
return buffer.isEmpty
|
|
35
|
+
? new GetArchiveState({ requestId, archiveType })
|
|
36
|
+
: new GetArchiveState({ requestId, archiveType, meterId: buffer.getUint32() });
|
|
35
37
|
}
|
|
36
38
|
toBytes() {
|
|
37
39
|
const { requestId, archiveType, meterId } = this.parameters;
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
const buffer = new CommandBinaryBuffer(this.size);
|
|
41
|
+
buffer.setUint8(requestId);
|
|
42
|
+
buffer.setUint8(archiveType);
|
|
43
|
+
if (meterId) {
|
|
44
|
+
buffer.setUint32(meterId);
|
|
45
|
+
}
|
|
46
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
GetArchiveState.id = COMMAND_ID;
|