jooby-codec 1.1.0 → 1.3.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/Command.d.ts +1 -1
- package/dist/Command.js +3 -4
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +37 -0
- package/dist/CommandBinaryBuffer.js +51 -2
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/UnknownCommand.d.ts +20 -0
- package/dist/UnknownCommand.js +22 -0
- package/dist/UnknownCommand.js.map +1 -0
- package/dist/commands/downlink/CorrectTime2000.d.ts +5 -5
- package/dist/commands/downlink/CorrectTime2000.js +6 -5
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMul.d.ts +47 -0
- package/dist/commands/downlink/ExAbsArchiveDaysMul.js +65 -0
- package/dist/commands/downlink/ExAbsArchiveDaysMul.js.map +1 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMul.d.ts +47 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMul.js +67 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMul.js.map +1 -0
- package/dist/commands/downlink/GetArchiveDaysMul.d.ts +47 -0
- package/dist/commands/downlink/GetArchiveDaysMul.js +64 -0
- package/dist/commands/downlink/GetArchiveDaysMul.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMul.d.ts +47 -0
- package/dist/commands/downlink/GetArchiveHoursMul.js +66 -0
- package/dist/commands/downlink/GetArchiveHoursMul.js.map +1 -0
- package/dist/commands/downlink/NewStatus.d.ts +1 -1
- package/dist/commands/downlink/NewStatus.js +2 -1
- package/dist/commands/downlink/NewStatus.js.map +1 -1
- package/dist/commands/downlink/SetParameter.d.ts +73 -0
- package/dist/commands/downlink/SetParameter.js +136 -0
- package/dist/commands/downlink/SetParameter.js.map +1 -0
- package/dist/commands/downlink/SetTime2000.d.ts +5 -5
- package/dist/commands/downlink/SetTime2000.js +6 -5
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +1 -1
- package/dist/commands/downlink/SoftRestart.js +2 -1
- package/dist/commands/downlink/SoftRestart.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +5 -0
- package/dist/commands/downlink/index.js +5 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
- package/dist/commands/uplink/CorrectTime2000.js +2 -1
- package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
- package/dist/commands/uplink/DataDayMul.d.ts +2 -2
- package/dist/commands/uplink/DataDayMul.js +6 -5
- package/dist/commands/uplink/DataDayMul.js.map +1 -1
- package/dist/commands/uplink/DataHourMul.d.ts +1 -1
- package/dist/commands/uplink/DataHourMul.js +9 -9
- package/dist/commands/uplink/DataHourMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMul.d.ts +46 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js +72 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js.map +1 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMul.d.ts +11 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js +93 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js.map +1 -0
- package/dist/commands/uplink/ExAbsDayMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsDayMul.js +5 -5
- package/dist/commands/uplink/ExAbsDayMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsHourMul.js +7 -7
- package/dist/commands/uplink/ExAbsHourMul.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMul.d.ts +73 -0
- package/dist/commands/uplink/GetArchiveDaysMul.js +97 -0
- package/dist/commands/uplink/GetArchiveDaysMul.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMul.d.ts +28 -0
- package/dist/commands/uplink/GetArchiveHoursMul.js +51 -0
- package/dist/commands/uplink/GetArchiveHoursMul.js.map +1 -0
- package/dist/commands/uplink/GetCurrentMul.d.ts +1 -1
- package/dist/commands/uplink/GetCurrentMul.js +2 -1
- package/dist/commands/uplink/GetCurrentMul.js.map +1 -1
- package/dist/commands/uplink/LastEvent.d.ts +116 -0
- package/dist/commands/uplink/LastEvent.js +164 -0
- package/dist/commands/uplink/LastEvent.js.map +1 -0
- package/dist/commands/uplink/NewEvent.d.ts +3 -3
- package/dist/commands/uplink/NewEvent.js +8 -7
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +1 -1
- package/dist/commands/uplink/NewStatus.js +3 -2
- package/dist/commands/uplink/NewStatus.js.map +1 -1
- package/dist/commands/uplink/SetTime2000.d.ts +1 -1
- package/dist/commands/uplink/SetTime2000.js +2 -1
- package/dist/commands/uplink/SetTime2000.js.map +1 -1
- package/dist/commands/uplink/SoftRestart.d.ts +1 -1
- package/dist/commands/uplink/SoftRestart.js +2 -1
- package/dist/commands/uplink/SoftRestart.js.map +1 -1
- package/dist/commands/uplink/Time2000.d.ts +5 -5
- package/dist/commands/uplink/Time2000.js +6 -5
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +5 -0
- package/dist/commands/uplink/index.js +5 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/deviceParameters.d.ts +15 -0
- package/dist/constants/deviceParameters.js +16 -0
- package/dist/constants/deviceParameters.js.map +1 -0
- package/dist/constants/directionTypes.d.ts +3 -0
- package/dist/constants/directionTypes.js +4 -0
- package/dist/constants/directionTypes.js.map +1 -0
- package/dist/constants/hardwareTypes.d.ts +56 -0
- package/dist/constants/hardwareTypes.js +56 -14
- package/dist/constants/hardwareTypes.js.map +1 -1
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/utils/bitSet.d.ts +40 -0
- package/dist/utils/bitSet.js +53 -0
- package/dist/utils/bitSet.js.map +1 -0
- package/dist/utils/message.d.ts +2 -5
- package/dist/utils/message.js +30 -30
- package/dist/utils/message.js.map +1 -1
- package/dist/utils/time.d.ts +2 -2
- package/dist/utils/time.js +2 -2
- package/dist/utils/time.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +3 -3
|
@@ -3,6 +3,7 @@ import Command from '../../Command.js';
|
|
|
3
3
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
4
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
5
|
import GetCurrentMul from './GetCurrentMul.js';
|
|
6
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
6
7
|
const COMMAND_ID = 0x16;
|
|
7
8
|
const COMMAND_TITLE = 'DATA_DAY_MUL';
|
|
8
9
|
// 2 byte for date + 2 for channels (max channels: 7)
|
|
@@ -14,7 +15,7 @@ class DataDayMul extends GetCurrentMul {
|
|
|
14
15
|
this.parameters = parameters;
|
|
15
16
|
}
|
|
16
17
|
static fromBytes(data) {
|
|
17
|
-
const parameters = { channels: [],
|
|
18
|
+
const parameters = { channels: [], seconds: 0 };
|
|
18
19
|
const buffer = new CommandBinaryBuffer(data);
|
|
19
20
|
const date = buffer.getDate();
|
|
20
21
|
const channelArray = buffer.getChannels(false);
|
|
@@ -22,20 +23,20 @@ class DataDayMul extends GetCurrentMul {
|
|
|
22
23
|
value: buffer.getExtendedValue(),
|
|
23
24
|
index: channelIndex
|
|
24
25
|
}));
|
|
25
|
-
parameters.
|
|
26
|
+
parameters.seconds = getSecondsFromDate(date);
|
|
26
27
|
return new DataDayMul(parameters);
|
|
27
28
|
}
|
|
28
29
|
toBytes() {
|
|
29
30
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
30
|
-
const { channels,
|
|
31
|
-
buffer.setDate(
|
|
31
|
+
const { channels, seconds } = this.parameters;
|
|
32
|
+
buffer.setDate(seconds);
|
|
32
33
|
buffer.setChannels(channels.map(({ index }) => index));
|
|
33
34
|
channels.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
34
35
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
DataDayMul.id = COMMAND_ID;
|
|
38
|
-
DataDayMul.
|
|
39
|
+
DataDayMul.directionType = UPLINK;
|
|
39
40
|
DataDayMul.title = COMMAND_TITLE;
|
|
40
41
|
export default DataDayMul;
|
|
41
42
|
//# sourceMappingURL=DataDayMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMul.ts"],"names":[],"mappings":"AAAA,4DAA4D;
|
|
1
|
+
{"version":3,"file":"DataDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMul.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,aAAyC,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,UAAW,SAAQ,aAAa;IAClC,YAAqB,UAAiC;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAuB;IAEtD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA0B,EAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,aAAE,GAAG,UAAU,CAAC;AAEhB,wBAAa,GAAG,MAAM,CAAC;AAEvB,gBAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,UAAU,CAAC"}
|
|
@@ -3,7 +3,7 @@ declare class DataHourMul extends GetCurrentMul {
|
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 23;
|
|
6
|
-
static readonly
|
|
6
|
+
static readonly directionType = 2;
|
|
7
7
|
static readonly title = "DATA_HOUR_MUL";
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
4
|
-
/* eslint-disable no-restricted-syntax */
|
|
5
4
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
5
|
import Command from '../../Command.js';
|
|
7
6
|
import GetCurrentMul from './GetCurrentMul.js';
|
|
8
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
9
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
10
10
|
const COMMAND_ID = 0x17;
|
|
11
11
|
const COMMAND_TITLE = 'DATA_HOUR_MUL';
|
|
12
12
|
// date 2 bytes, hour 1 byte, channels - 1 byte, so max channels = 4
|
|
13
13
|
// max hours diff - 7 (3 bit value)
|
|
14
|
-
// 4 + (4 channels *
|
|
15
|
-
const COMMAND_BODY_MAX_SIZE =
|
|
14
|
+
// 4 + (4 channels * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
15
|
+
const COMMAND_BODY_MAX_SIZE = 164;
|
|
16
16
|
class DataHourMul extends GetCurrentMul {
|
|
17
17
|
constructor(parameters) {
|
|
18
18
|
super(parameters);
|
|
@@ -38,12 +38,12 @@ class DataHourMul extends GetCurrentMul {
|
|
|
38
38
|
value = buffer.getExtendedValue();
|
|
39
39
|
counterDate.setTime(date.getTime());
|
|
40
40
|
const diff = [];
|
|
41
|
-
const channel = { value, index: channelIndex,
|
|
41
|
+
const channel = { value, index: channelIndex, seconds: getSecondsFromDate(counterDate), diff };
|
|
42
42
|
channels.push(channel);
|
|
43
43
|
for (let hourIndex = 0; hourIndex < hourAmount; ++hourIndex) {
|
|
44
44
|
value = buffer.getExtendedValue();
|
|
45
45
|
counterDate.setUTCHours(counterDate.getUTCHours() + hourIndex);
|
|
46
|
-
diff.push({ value,
|
|
46
|
+
diff.push({ value, seconds: getSecondsFromDate(counterDate) });
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
return new DataHourMul({ channels });
|
|
@@ -51,14 +51,14 @@ class DataHourMul extends GetCurrentMul {
|
|
|
51
51
|
toBytes() {
|
|
52
52
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
53
53
|
const { channels } = this.parameters;
|
|
54
|
-
const {
|
|
55
|
-
const realDate = getDateFromSeconds(
|
|
54
|
+
const { seconds } = channels[0];
|
|
55
|
+
const realDate = getDateFromSeconds(seconds);
|
|
56
56
|
const hour = realDate.getUTCHours();
|
|
57
57
|
let hourAmount = channels[0].diff.length;
|
|
58
58
|
if (hourAmount === 1) {
|
|
59
59
|
hourAmount = 0;
|
|
60
60
|
}
|
|
61
|
-
buffer.setDate(
|
|
61
|
+
buffer.setDate(seconds);
|
|
62
62
|
buffer.setHours(hour, hourAmount);
|
|
63
63
|
buffer.setChannels(channels);
|
|
64
64
|
for (const { value, diff } of channels) {
|
|
@@ -71,7 +71,7 @@ class DataHourMul extends GetCurrentMul {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
DataHourMul.id = COMMAND_ID;
|
|
74
|
-
DataHourMul.
|
|
74
|
+
DataHourMul.directionType = UPLINK;
|
|
75
75
|
DataHourMul.title = COMMAND_TITLE;
|
|
76
76
|
export default DataHourMul;
|
|
77
77
|
//# sourceMappingURL=DataHourMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMul.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+DAA+D;AAC/D,0DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"DataHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMul.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Channel absolute value by day.
|
|
4
|
+
*/
|
|
5
|
+
interface IArchiveChannelDayAbsoluteValue {
|
|
6
|
+
value: number;
|
|
7
|
+
meterValue: number;
|
|
8
|
+
day: number;
|
|
9
|
+
seconds: number;
|
|
10
|
+
date: Date;
|
|
11
|
+
}
|
|
12
|
+
interface IArchiveChannelDayAbsolute {
|
|
13
|
+
/**
|
|
14
|
+
* channel number
|
|
15
|
+
*/
|
|
16
|
+
index: number;
|
|
17
|
+
/**
|
|
18
|
+
* values by days
|
|
19
|
+
*/
|
|
20
|
+
days: Array<IArchiveChannelDayAbsoluteValue>;
|
|
21
|
+
/**
|
|
22
|
+
* Channel pulse coefficient - IPK in bytes.
|
|
23
|
+
*/
|
|
24
|
+
pulseCoefficient: number;
|
|
25
|
+
/** time */
|
|
26
|
+
seconds: number;
|
|
27
|
+
/**
|
|
28
|
+
* Normal date in UTC.
|
|
29
|
+
*/
|
|
30
|
+
date: Date;
|
|
31
|
+
}
|
|
32
|
+
interface IUplinkExAbsArchiveDayMulParameters {
|
|
33
|
+
channels: Array<IArchiveChannelDayAbsolute>;
|
|
34
|
+
date: Date;
|
|
35
|
+
dayAmount: number;
|
|
36
|
+
}
|
|
37
|
+
declare class ExAbsArchiveDayMul extends Command {
|
|
38
|
+
parameters: IUplinkExAbsArchiveDayMulParameters;
|
|
39
|
+
constructor(parameters: IUplinkExAbsArchiveDayMulParameters);
|
|
40
|
+
static id: number;
|
|
41
|
+
static readonly directionType = 2;
|
|
42
|
+
static title: string;
|
|
43
|
+
static fromBytes(data: Uint8Array): ExAbsArchiveDayMul;
|
|
44
|
+
toBytes(): Uint8Array;
|
|
45
|
+
}
|
|
46
|
+
export default ExAbsArchiveDayMul;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import roundNumber from '../../utils/roundNumber.js';
|
|
4
|
+
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
6
|
+
const COMMAND_ID = 0x0d1f;
|
|
7
|
+
const COMMAND_TITLE = 'EX_ABS_ARCH_DAYS_MUL';
|
|
8
|
+
// date 2 bytes, channels 1 byte (max channels: 4), days 1 byte (max days - 255)
|
|
9
|
+
// 4 + (4 channels * (1 byte pulse coefficient + 5 bytes of day values) * 255 max days)
|
|
10
|
+
const COMMAND_BODY_MAX_SIZE = 6124;
|
|
11
|
+
class ExAbsArchiveDayMul extends Command {
|
|
12
|
+
constructor(parameters) {
|
|
13
|
+
super();
|
|
14
|
+
this.parameters = parameters;
|
|
15
|
+
this.parameters.channels = this.parameters.channels.sort((a, b) => a.index - b.index);
|
|
16
|
+
}
|
|
17
|
+
static fromBytes(data) {
|
|
18
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
19
|
+
const date = buffer.getDate();
|
|
20
|
+
const channelArray = buffer.getChannels(true);
|
|
21
|
+
const dayAmount = buffer.getUint8();
|
|
22
|
+
const maxChannel = Math.max.apply(null, channelArray);
|
|
23
|
+
const counterDate = new Date(date);
|
|
24
|
+
let value;
|
|
25
|
+
const channels = [];
|
|
26
|
+
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
27
|
+
// IPK_${channelIndex}
|
|
28
|
+
const pulseCoefficient = buffer.getUint8();
|
|
29
|
+
const days = [];
|
|
30
|
+
counterDate.setTime(date.getTime());
|
|
31
|
+
channels.push({
|
|
32
|
+
days,
|
|
33
|
+
pulseCoefficient,
|
|
34
|
+
index: channelIndex,
|
|
35
|
+
seconds: getSecondsFromDate(counterDate),
|
|
36
|
+
date: new Date(counterDate)
|
|
37
|
+
});
|
|
38
|
+
for (let day = 0; day < dayAmount; ++day) {
|
|
39
|
+
value = buffer.getExtendedValue();
|
|
40
|
+
counterDate.setTime(date.getTime());
|
|
41
|
+
counterDate.setUTCHours(counterDate.getUTCHours() + (day * 24));
|
|
42
|
+
days.push({
|
|
43
|
+
value,
|
|
44
|
+
day,
|
|
45
|
+
meterValue: roundNumber(value / pulseCoefficient),
|
|
46
|
+
date: new Date(counterDate),
|
|
47
|
+
seconds: getSecondsFromDate(counterDate)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return new ExAbsArchiveDayMul({ channels, date, dayAmount });
|
|
52
|
+
}
|
|
53
|
+
toBytes() {
|
|
54
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
55
|
+
const { channels, date, dayAmount } = this.parameters;
|
|
56
|
+
buffer.setDate(date);
|
|
57
|
+
buffer.setChannels(channels);
|
|
58
|
+
buffer.setUint8(dayAmount);
|
|
59
|
+
channels.forEach(({ days, pulseCoefficient }) => {
|
|
60
|
+
buffer.setUint8(pulseCoefficient);
|
|
61
|
+
days.forEach(({ value }) => {
|
|
62
|
+
buffer.setExtendedValue(value);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
ExAbsArchiveDayMul.id = COMMAND_ID;
|
|
69
|
+
ExAbsArchiveDayMul.directionType = UPLINK;
|
|
70
|
+
ExAbsArchiveDayMul.title = COMMAND_TITLE;
|
|
71
|
+
export default ExAbsArchiveDayMul;
|
|
72
|
+
//# sourceMappingURL=ExAbsArchiveDaysMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveDaysMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsArchiveDaysMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AA8CzD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C,gFAAgF;AAChF,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAGnC,MAAM,kBAAmB,SAAQ,OAAO;IACpC,YAAqB,UAA+C;QAChE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAqC;QAGhE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAsC,EAAE,CAAC;QAEvD,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,sBAAsB;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,GAA2C,EAAE,CAAC;YAExD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpC,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC;gBACxC,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC;aAC9B,CAAC,CAAC;YAEH,KAAM,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,EAAE,EAAE,GAAG,EAAG;gBACxC,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAElC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;gBAEhE,IAAI,CAAC,IAAI,CAAC;oBACN,KAAK;oBACL,GAAG;oBACH,UAAU,EAAE,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;oBACjD,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC;oBAC3B,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC;iBAC3C,CAAC,CAAC;aACN;SACJ;QAED,OAAO,IAAI,kBAAkB,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE3B,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAE,gBAAgB,EAAC,EAAE,EAAE;YAC1C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;gBACrB,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAtEM,qBAAE,GAAG,UAAU,CAAC;AAEP,gCAAa,GAAG,MAAM,CAAC;AAEhC,wBAAK,GAAG,aAAa,CAAC;AAsEjC,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import GetCurrentMul from './GetCurrentMul.js';
|
|
2
|
+
declare class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
3
|
+
parameters: any;
|
|
4
|
+
constructor(parameters: any);
|
|
5
|
+
static readonly id = 3103;
|
|
6
|
+
static readonly directionType = 2;
|
|
7
|
+
static readonly title = "EX_ABS_ARCH_HOUR_MUL";
|
|
8
|
+
static fromBytes(data: Uint8Array): any;
|
|
9
|
+
toBytes(): Uint8Array;
|
|
10
|
+
}
|
|
11
|
+
export default ExAbsArchiveHourMul;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
5
|
+
import Command from '../../Command.js';
|
|
6
|
+
import GetCurrentMul from './GetCurrentMul.js';
|
|
7
|
+
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
8
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
|
+
import roundNumber from '../../utils/roundNumber.js';
|
|
10
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
|
+
// TODO: rework extended headers detection
|
|
12
|
+
const COMMAND_ID = 0x0c1f;
|
|
13
|
+
const COMMAND_TITLE = 'EX_ABS_ARCH_HOUR_MUL';
|
|
14
|
+
// date 2 bytes, hour 1 byte (max hours: 7), channels 1 byte (max channels: 4)
|
|
15
|
+
// 4 + (4 channels * 1 byte pulse coefficient) + (4 channels * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
16
|
+
const COMMAND_BODY_MAX_SIZE = 168;
|
|
17
|
+
class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
18
|
+
// TODO: add interface for parameters
|
|
19
|
+
constructor(parameters) {
|
|
20
|
+
super(parameters);
|
|
21
|
+
this.parameters = parameters;
|
|
22
|
+
}
|
|
23
|
+
static fromBytes(data) {
|
|
24
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
25
|
+
const date = buffer.getDate();
|
|
26
|
+
const { hour, hours } = buffer.getHours();
|
|
27
|
+
const channelArray = buffer.getChannels(true);
|
|
28
|
+
const maxChannel = Math.max.apply(null, channelArray);
|
|
29
|
+
date.setUTCHours(hour);
|
|
30
|
+
const counterDate = new Date(date);
|
|
31
|
+
let hourAmount = hours;
|
|
32
|
+
const channels = [];
|
|
33
|
+
if (hourAmount === 0) {
|
|
34
|
+
// one hour
|
|
35
|
+
hourAmount = 1;
|
|
36
|
+
}
|
|
37
|
+
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
38
|
+
// IPK_${channelIndex}
|
|
39
|
+
const pulseCoefficient = buffer.getUint8();
|
|
40
|
+
// decode hour value for channel
|
|
41
|
+
const pulseValue = buffer.getExtendedValue();
|
|
42
|
+
const diff = [];
|
|
43
|
+
counterDate.setTime(date.getTime());
|
|
44
|
+
for (let hourIndex = 0; hourIndex < hourAmount; ++hourIndex) {
|
|
45
|
+
const value = buffer.getExtendedValue();
|
|
46
|
+
counterDate.setUTCHours(counterDate.getUTCHours() + hourIndex);
|
|
47
|
+
diff.push({
|
|
48
|
+
value,
|
|
49
|
+
pulseCoefficient,
|
|
50
|
+
seconds: getSecondsFromDate(counterDate),
|
|
51
|
+
meterValue: roundNumber((value + pulseValue) / pulseCoefficient)
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
channels.push({
|
|
55
|
+
diff,
|
|
56
|
+
pulseCoefficient,
|
|
57
|
+
index: channelIndex,
|
|
58
|
+
value: pulseValue,
|
|
59
|
+
seconds: getSecondsFromDate(date),
|
|
60
|
+
meterValue: roundNumber(pulseValue / pulseCoefficient)
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return new ExAbsArchiveHourMul({ channels, date });
|
|
64
|
+
}
|
|
65
|
+
toBytes() {
|
|
66
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
67
|
+
const { channels } = this.parameters;
|
|
68
|
+
const { seconds } = channels[0];
|
|
69
|
+
const realDate = getDateFromSeconds(seconds);
|
|
70
|
+
const hour = realDate.getUTCHours();
|
|
71
|
+
let hourAmount = channels[0].diff.length;
|
|
72
|
+
// TODO: add link to doc
|
|
73
|
+
if (hourAmount === 1) {
|
|
74
|
+
hourAmount = 0;
|
|
75
|
+
}
|
|
76
|
+
buffer.setDate(seconds);
|
|
77
|
+
buffer.setHours(hour, hourAmount);
|
|
78
|
+
buffer.setChannels(channels);
|
|
79
|
+
for (const { value, diff, pulseCoefficient } of channels) {
|
|
80
|
+
buffer.setUint8(pulseCoefficient);
|
|
81
|
+
buffer.setExtendedValue(value);
|
|
82
|
+
for (const { value: diffValue } of diff) {
|
|
83
|
+
buffer.setExtendedValue(diffValue);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
ExAbsArchiveHourMul.id = COMMAND_ID;
|
|
90
|
+
ExAbsArchiveHourMul.directionType = UPLINK;
|
|
91
|
+
ExAbsArchiveHourMul.title = COMMAND_TITLE;
|
|
92
|
+
export default ExAbsArchiveHourMul;
|
|
93
|
+
//# sourceMappingURL=ExAbsArchiveHoursMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveHoursMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsArchiveHoursMul.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+DAA+D;AAC/D,4DAA4D;AAC5D,0DAA0D;AAE1D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAGzD,0CAA0C;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C,8EAA8E;AAC9E,iIAAiI;AACjI,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,mBAAoB,SAAQ,aAAa;IAC3C,qCAAqC;IACrC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,IAAK,UAAU,KAAK,CAAC,EAAG;YACpB,WAAW;YACX,UAAU,GAAG,CAAC,CAAC;SAClB;QAED,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,sBAAsB;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAe,EAAE,CAAC;YAE5B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpC,KAAM,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,EAAE,SAAS,EAAG;gBAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAExC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;gBAE/D,IAAI,CAAC,IAAI,CAAC;oBACN,KAAK;oBACL,gBAAgB;oBAChB,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC;oBACxC,UAAU,EAAE,WAAW,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC;iBACnE,CAAC,CAAC;aACN;YAED,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;gBACjC,UAAU,EAAE,WAAW,CAAC,UAAU,GAAG,gBAAgB,CAAC;aACzD,CAAC,CAAC;SACN;QAED,OAAO,IAAI,mBAAmB,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,OAAO,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAEzC,wBAAwB;QACxB,IAAK,UAAU,KAAK,CAAC,EAAG;YACpB,UAAU,GAAG,CAAC,CAAC;SAClB;QAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,KAAM,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAC,IAAI,QAAQ,EAAG;YACtD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE/B,KAAM,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,IAAI,IAAI,EAAG;gBACrC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aACtC;SACJ;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAzFe,sBAAE,GAAG,UAAU,CAAC;AAEhB,iCAAa,GAAG,MAAM,CAAC;AAEvB,yBAAK,GAAG,aAAa,CAAC;AAyF1C,eAAe,mBAAmB,CAAC"}
|
|
@@ -3,7 +3,7 @@ declare class ExAbsDayMul extends GetCurrentMul {
|
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static id: number;
|
|
6
|
-
static readonly
|
|
6
|
+
static readonly directionType = 2;
|
|
7
7
|
static title: string;
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */
|
|
2
1
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -8,6 +7,7 @@ import GetCurrentMul from './GetCurrentMul.js';
|
|
|
8
7
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
8
|
import roundNumber from '../../utils/roundNumber.js';
|
|
10
9
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
10
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
11
|
const COMMAND_ID = 0x0b1f;
|
|
12
12
|
const COMMAND_TITLE = 'EX_ABS_DAY_MUL';
|
|
13
13
|
// date 2 bytes, channels - 1 byte (max channels: 4)
|
|
@@ -34,7 +34,7 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
34
34
|
value,
|
|
35
35
|
pulseCoefficient,
|
|
36
36
|
index: channelIndex,
|
|
37
|
-
|
|
37
|
+
seconds: getSecondsFromDate(date),
|
|
38
38
|
meterValue: roundNumber(value / pulseCoefficient)
|
|
39
39
|
});
|
|
40
40
|
}
|
|
@@ -43,8 +43,8 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
43
43
|
toBytes() {
|
|
44
44
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
45
45
|
const { channels } = this.parameters;
|
|
46
|
-
const {
|
|
47
|
-
buffer.setDate(
|
|
46
|
+
const { seconds } = channels[0];
|
|
47
|
+
buffer.setDate(seconds);
|
|
48
48
|
buffer.setChannels(channels);
|
|
49
49
|
for (const { value, pulseCoefficient } of channels) {
|
|
50
50
|
buffer.setUint8(pulseCoefficient);
|
|
@@ -54,7 +54,7 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
ExAbsDayMul.id = COMMAND_ID;
|
|
57
|
-
ExAbsDayMul.
|
|
57
|
+
ExAbsDayMul.directionType = UPLINK;
|
|
58
58
|
ExAbsDayMul.title = COMMAND_TITLE;
|
|
59
59
|
export default ExAbsDayMul;
|
|
60
60
|
//# sourceMappingURL=ExAbsDayMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExAbsDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMul.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ExAbsDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMul.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,uDAAuD;AACvD,0DAA0D;AAE1D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAGzD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,oDAAoD;AACpD,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,WAAY,SAAQ,aAAa;IACnC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,sBAAsB;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,YAAY;YACZ,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;gBACjC,UAAU,EAAE,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;aACpD,CAAC,CAAC;SACN;QAED,OAAO,IAAI,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,OAAO,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,KAAM,MAAM,EAAC,KAAK,EAAE,gBAAgB,EAAC,IAAI,QAAQ,EAAG;YAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjDM,cAAE,GAAG,UAAU,CAAC;AAEP,yBAAa,GAAG,MAAM,CAAC;AAEhC,iBAAK,GAAG,aAAa,CAAC;AAiDjC,eAAe,WAAW,CAAC"}
|
|
@@ -3,7 +3,7 @@ declare class ExAbsHourMul extends GetCurrentMul {
|
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 2591;
|
|
6
|
-
static readonly
|
|
6
|
+
static readonly directionType = 2;
|
|
7
7
|
static readonly title = "EX_ABS_HOUR_MUL";
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */
|
|
2
1
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -8,6 +7,7 @@ import GetCurrentMul from './GetCurrentMul.js';
|
|
|
8
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
9
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
10
9
|
import roundNumber from '../../utils/roundNumber.js';
|
|
10
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
11
|
const COMMAND_ID = 0x0a1f;
|
|
12
12
|
const COMMAND_TITLE = 'EX_ABS_HOUR_MUL';
|
|
13
13
|
// date 2 bytes, hour 1 byte, channels - 1 byte (max channels: 4)
|
|
@@ -46,7 +46,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
46
46
|
diff.push({
|
|
47
47
|
value,
|
|
48
48
|
pulseCoefficient,
|
|
49
|
-
|
|
49
|
+
seconds: getSecondsFromDate(counterDate),
|
|
50
50
|
meterValue: roundNumber((value + pulseValue) / pulseCoefficient)
|
|
51
51
|
});
|
|
52
52
|
}
|
|
@@ -55,7 +55,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
55
55
|
pulseCoefficient,
|
|
56
56
|
index: channelIndex,
|
|
57
57
|
value: pulseValue,
|
|
58
|
-
|
|
58
|
+
seconds: getSecondsFromDate(date),
|
|
59
59
|
meterValue: roundNumber(pulseValue / pulseCoefficient)
|
|
60
60
|
});
|
|
61
61
|
}
|
|
@@ -64,15 +64,15 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
64
64
|
toBytes() {
|
|
65
65
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
66
66
|
const { channels } = this.parameters;
|
|
67
|
-
const {
|
|
68
|
-
const realDate = getDateFromSeconds(
|
|
67
|
+
const { seconds } = channels[0];
|
|
68
|
+
const realDate = getDateFromSeconds(seconds);
|
|
69
69
|
const hour = realDate.getUTCHours();
|
|
70
70
|
let hourAmount = channels[0].diff.length;
|
|
71
71
|
// TODO: add link to doc
|
|
72
72
|
if (hourAmount === 1) {
|
|
73
73
|
hourAmount = 0;
|
|
74
74
|
}
|
|
75
|
-
buffer.setDate(
|
|
75
|
+
buffer.setDate(seconds);
|
|
76
76
|
buffer.setHours(hour, hourAmount);
|
|
77
77
|
buffer.setChannels(channels);
|
|
78
78
|
for (const { value, diff, pulseCoefficient } of channels) {
|
|
@@ -86,7 +86,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
ExAbsHourMul.id = COMMAND_ID;
|
|
89
|
-
ExAbsHourMul.
|
|
89
|
+
ExAbsHourMul.directionType = UPLINK;
|
|
90
90
|
ExAbsHourMul.title = COMMAND_TITLE;
|
|
91
91
|
export default ExAbsHourMul;
|
|
92
92
|
//# sourceMappingURL=ExAbsHourMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExAbsHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMul.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ExAbsHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMul.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* GetArchiveDaysMul command parameters
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* // archive 2 days values from 2001-03-10T00:00:00.000Z
|
|
7
|
+
* {
|
|
8
|
+
* channels: [{index: 0, days: [{value: 234, day: 0}, {value: 332, day: 1}]}],
|
|
9
|
+
* date: '2001-03-10T12:00:00.000Z',
|
|
10
|
+
* dayAmount: 2
|
|
11
|
+
* }
|
|
12
|
+
*/
|
|
13
|
+
interface IUplinkGetArchiveDaysMulParameters {
|
|
14
|
+
channels: Array<IArchiveChannel>;
|
|
15
|
+
date: Date | undefined | string;
|
|
16
|
+
dayAmount: number | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* channel value by day
|
|
20
|
+
*/
|
|
21
|
+
export interface IArchiveDayValue {
|
|
22
|
+
value: number;
|
|
23
|
+
day: number;
|
|
24
|
+
seconds: number;
|
|
25
|
+
date: Date;
|
|
26
|
+
}
|
|
27
|
+
interface IArchiveChannel {
|
|
28
|
+
/**
|
|
29
|
+
* channel number
|
|
30
|
+
*/
|
|
31
|
+
index: number;
|
|
32
|
+
/**
|
|
33
|
+
* values by days
|
|
34
|
+
*/
|
|
35
|
+
days: Array<IArchiveDayValue>;
|
|
36
|
+
/** time */
|
|
37
|
+
seconds: number;
|
|
38
|
+
/**
|
|
39
|
+
* Normal date in UTC.
|
|
40
|
+
*/
|
|
41
|
+
date: Date;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Uplink command
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```js
|
|
48
|
+
* import GetArchiveDaysMul from 'jooby-codec/commands/uplink/GetArchiveDaysMul';
|
|
49
|
+
*
|
|
50
|
+
* const parameters = {
|
|
51
|
+
* channels: [{index: 0, days: [{value: 234, day: 0}, {value: 332, day: 1}]}],
|
|
52
|
+
* date: '2001-03-10T12:00:00.000Z',
|
|
53
|
+
* dayAmount: 2
|
|
54
|
+
* };
|
|
55
|
+
*
|
|
56
|
+
* const command = new GetArchiveDaysMul(parameters);
|
|
57
|
+
*
|
|
58
|
+
* // output command binary in hex representation
|
|
59
|
+
* console.log(command.toHex());
|
|
60
|
+
* // 1b 04 2f 97 0c 01
|
|
61
|
+
* ```
|
|
62
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMul.md#response)
|
|
63
|
+
*/
|
|
64
|
+
declare class GetArchiveDaysMul extends Command {
|
|
65
|
+
parameters: IUplinkGetArchiveDaysMulParameters;
|
|
66
|
+
constructor(parameters: IUplinkGetArchiveDaysMulParameters);
|
|
67
|
+
static readonly id = 27;
|
|
68
|
+
static readonly directionType = 2;
|
|
69
|
+
static readonly title = "GET_ARCHIVE_DAYS_MUL";
|
|
70
|
+
static fromBytes(data: Uint8Array): GetArchiveDaysMul;
|
|
71
|
+
toBytes(): Uint8Array;
|
|
72
|
+
}
|
|
73
|
+
export default GetArchiveDaysMul;
|