jooby-codec 1.6.0 → 1.7.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 -0
- package/dist/Command.js +3 -2
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +129 -5
- package/dist/CommandBinaryBuffer.js +257 -0
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/CorrectTime2000.d.ts +1 -6
- package/dist/commands/downlink/CorrectTime2000.js +2 -8
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +5 -10
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js +3 -9
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +5 -10
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js +3 -9
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsCurrentMC.d.ts +1 -6
- package/dist/commands/downlink/ExAbsCurrentMC.js +3 -8
- package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -5
- package/dist/commands/downlink/GetArchiveDaysMC.js +3 -4
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveEvents.d.ts +39 -0
- package/dist/commands/downlink/GetArchiveEvents.js +58 -0
- package/dist/commands/downlink/GetArchiveEvents.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -10
- package/dist/commands/downlink/GetArchiveHoursMC.js +3 -9
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/GetCurrentMC.d.ts +1 -1
- package/dist/commands/downlink/GetCurrentMC.js +3 -3
- package/dist/commands/downlink/GetCurrentMC.js.map +1 -1
- package/dist/commands/downlink/GetLmicVersion.d.ts +25 -0
- package/dist/commands/downlink/GetLmicVersion.js +41 -0
- package/dist/commands/downlink/GetLmicVersion.js.map +1 -0
- package/dist/commands/downlink/GetParameter.d.ts +37 -0
- package/dist/commands/downlink/GetParameter.js +64 -0
- package/dist/commands/downlink/GetParameter.js.map +1 -0
- package/dist/commands/downlink/NewStatus.d.ts +1 -1
- package/dist/commands/downlink/NewStatus.js +3 -3
- package/dist/commands/downlink/NewStatus.js.map +1 -1
- package/dist/commands/downlink/SetParameter.d.ts +6 -56
- package/dist/commands/downlink/SetParameter.js +45 -105
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/SetTime2000.d.ts +1 -6
- package/dist/commands/downlink/SetTime2000.js +2 -8
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +1 -1
- package/dist/commands/downlink/SoftRestart.js +3 -3
- package/dist/commands/downlink/SoftRestart.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +3 -0
- package/dist/commands/downlink/index.js +3 -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 +3 -3
- package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +3 -5
- package/dist/commands/uplink/DataDayMC.js +4 -3
- package/dist/commands/uplink/DataDayMC.js.map +1 -1
- package/dist/commands/uplink/DataHourMC.d.ts +3 -2
- package/dist/commands/uplink/DataHourMC.js +4 -3
- package/dist/commands/uplink/DataHourMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js +4 -3
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js +4 -3
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.d.ts +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.js +4 -3
- package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsDayMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsDayMC.js +4 -3
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsHourMC.js +4 -3
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMC.d.ts +3 -2
- package/dist/commands/uplink/GetArchiveDaysMC.js +4 -3
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveEvents.d.ts +48 -0
- package/dist/commands/uplink/GetArchiveEvents.js +105 -0
- package/dist/commands/uplink/GetArchiveEvents.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +3 -2
- package/dist/commands/uplink/GetArchiveHoursMC.js +4 -3
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/GetCurrentMC.d.ts +1 -1
- package/dist/commands/uplink/GetCurrentMC.js +4 -3
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
- package/dist/commands/uplink/GetLmicVersion.d.ts +46 -0
- package/dist/commands/uplink/GetLmicVersion.js +90 -0
- package/dist/commands/uplink/GetLmicVersion.js.map +1 -0
- package/dist/commands/uplink/GetParameter.d.ts +30 -0
- package/dist/commands/uplink/GetParameter.js +91 -0
- package/dist/commands/uplink/GetParameter.js.map +1 -0
- package/dist/commands/uplink/LastEvent.d.ts +5 -76
- package/dist/commands/uplink/LastEvent.js +67 -115
- package/dist/commands/uplink/LastEvent.js.map +1 -1
- package/dist/commands/uplink/NewEvent.d.ts +35 -7
- package/dist/commands/uplink/NewEvent.js +96 -20
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +1 -1
- package/dist/commands/uplink/NewStatus.js +4 -3
- package/dist/commands/uplink/NewStatus.js.map +1 -1
- package/dist/commands/uplink/SetTime2000.d.ts +1 -1
- package/dist/commands/uplink/SetTime2000.js +3 -3
- package/dist/commands/uplink/SetTime2000.js.map +1 -1
- package/dist/commands/uplink/SoftRestart.d.ts +1 -1
- package/dist/commands/uplink/SoftRestart.js +3 -3
- 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 -7
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +3 -0
- package/dist/commands/uplink/index.js +3 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/{directionTypes.js → directions.js} +1 -1
- package/dist/constants/directions.js.map +1 -0
- package/dist/constants/events.d.ts +30 -4
- package/dist/constants/events.js +30 -4
- package/dist/constants/events.js.map +1 -1
- package/dist/constants/hardwareTypes.d.ts +2 -2
- package/dist/constants/hardwareTypes.js +2 -2
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/utils/message.js +2 -2
- package/dist/utils/message.js.map +1 -1
- package/dist/utils/time.d.ts +20 -3
- package/dist/utils/time.js +2 -2
- package/dist/utils/time.js.map +1 -1
- package/package.json +1 -1
- package/dist/constants/directionTypes.js.map +0 -1
- /package/dist/constants/{directionTypes.d.ts → directions.d.ts} +0 -0
|
@@ -1,77 +1,67 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
-
import * as hardwareTypes from '../../constants/hardwareTypes.js';
|
|
3
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
|
+
import * as hardwareTypes from '../../constants/hardwareTypes.js';
|
|
6
5
|
const COMMAND_ID = 0x60;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
6
|
+
const examples = [
|
|
7
|
+
{
|
|
8
|
+
name: 'status for GAZM0NEW',
|
|
9
|
+
parameters: {
|
|
10
|
+
sequenceNumber: 32,
|
|
11
|
+
status: {
|
|
12
|
+
isBatteryLow: true,
|
|
13
|
+
isButtonReleased: false,
|
|
14
|
+
isConnectionLost: true,
|
|
15
|
+
isMagneticInfluence: false
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
hardwareType: hardwareTypes.GAZM0NEW,
|
|
19
|
+
hex: { header: '62', body: '20 09' }
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'status for IMP4EU',
|
|
23
|
+
parameters: {
|
|
24
|
+
sequenceNumber: 16,
|
|
25
|
+
status: {
|
|
26
|
+
// first byte: 11100001 = e1 (225)
|
|
27
|
+
isBatteryLow: true,
|
|
28
|
+
isConnectionLost: false,
|
|
29
|
+
isFirstChannelInactive: false,
|
|
30
|
+
isSecondChannelInactive: true,
|
|
31
|
+
isThirdChannelInactive: true,
|
|
32
|
+
// second byte: 00000001 = 01
|
|
33
|
+
isForthChannelInactive: true
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
hardwareType: hardwareTypes.IMP4EU,
|
|
37
|
+
hex: { header: '63', body: '10 e1 01' }
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'status for MTXLORA',
|
|
41
|
+
parameters: {
|
|
42
|
+
sequenceNumber: 48,
|
|
43
|
+
status: {
|
|
44
|
+
// first byte: 10000011 = 83 (131)
|
|
45
|
+
isMeterCaseOpen: true,
|
|
46
|
+
isMagneticInfluence: true,
|
|
47
|
+
isParametersSetRemotely: false,
|
|
48
|
+
isParametersSetLocally: false,
|
|
49
|
+
isMeterProgramRestarted: false,
|
|
50
|
+
isLockedOut: false,
|
|
51
|
+
isTimeSet: false,
|
|
52
|
+
isTimeCorrected: true,
|
|
53
|
+
// second byte: 00001010 = 0a (10)
|
|
54
|
+
isMeterFailure: false,
|
|
55
|
+
isMeterTerminalBoxOpen: true,
|
|
56
|
+
isModuleCompartmentOpen: false,
|
|
57
|
+
isTariffPlanChanged: true,
|
|
58
|
+
isNewTariffPlanReceived: false
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
hardwareType: hardwareTypes.MTXLORA,
|
|
62
|
+
hex: { header: '63', body: '30 83 0a' }
|
|
63
|
+
}
|
|
32
64
|
];
|
|
33
|
-
const gasBitMask = {
|
|
34
|
-
isBatteryLow: 2 ** 0,
|
|
35
|
-
isMagneticInfluence: 2 ** 1,
|
|
36
|
-
isButtonReleased: 2 ** 2,
|
|
37
|
-
isConnectionLost: 2 ** 3
|
|
38
|
-
};
|
|
39
|
-
const twoChannelBitMask = {
|
|
40
|
-
isBatteryLow: 2 ** 0,
|
|
41
|
-
isConnectionLost: 2 ** 3,
|
|
42
|
-
isFirstChannelInactive: 2 ** 4,
|
|
43
|
-
isSecondChannelInactive: 2 ** 5
|
|
44
|
-
};
|
|
45
|
-
const elimpBitMask = {
|
|
46
|
-
isConnectionLost: 2 ** 3
|
|
47
|
-
};
|
|
48
|
-
const waterBitMask = {
|
|
49
|
-
isBatteryLow: 2 ** 0,
|
|
50
|
-
isConnectionLost: 2 ** 3
|
|
51
|
-
};
|
|
52
|
-
const fourChannelBitMask = {
|
|
53
|
-
isBatteryLow: 2 ** 0,
|
|
54
|
-
isConnectionLost: 2 ** 3,
|
|
55
|
-
isFirstChannelInactive: 2 ** 4,
|
|
56
|
-
isSecondChannelInactive: 2 ** 5,
|
|
57
|
-
isThirdChannelInactive: 2 ** 6,
|
|
58
|
-
isForthChannelInactive: 2 ** 7
|
|
59
|
-
};
|
|
60
|
-
const mtxBitMask = {
|
|
61
|
-
isMeterCaseOpen: 2 ** 0,
|
|
62
|
-
isMagneticInfluence: 2 ** 1,
|
|
63
|
-
isParametersSetRemotely: 2 ** 2,
|
|
64
|
-
isParametersSetLocally: 2 ** 3,
|
|
65
|
-
isMeterProgramRestarted: 2 ** 4,
|
|
66
|
-
isLockedOut: 2 ** 5,
|
|
67
|
-
isTimeSet: 2 ** 6,
|
|
68
|
-
isTimeCorrected: 2 ** 7,
|
|
69
|
-
isMeterFailure: 2 ** 8,
|
|
70
|
-
isMeterTerminalBoxOpen: 2 ** 9,
|
|
71
|
-
isModuleCompartmentOpen: 2 ** 10,
|
|
72
|
-
isTariffPlanChanged: 2 ** 11,
|
|
73
|
-
isNewTariffPlanReceived: 2 ** 12
|
|
74
|
-
};
|
|
75
65
|
/**
|
|
76
66
|
* Uplink command.
|
|
77
67
|
*
|
|
@@ -104,61 +94,23 @@ class LastEvent extends Command {
|
|
|
104
94
|
}
|
|
105
95
|
const buffer = new CommandBinaryBuffer(data);
|
|
106
96
|
const sequenceNumber = buffer.getUint8();
|
|
107
|
-
|
|
108
|
-
if (GAS_HARDWARE_TYPES.includes(hardwareType)) {
|
|
109
|
-
status = bitSet.toObject(gasBitMask, buffer.getUint8());
|
|
110
|
-
}
|
|
111
|
-
else if (TWO_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
|
|
112
|
-
status = bitSet.toObject(twoChannelBitMask, buffer.getUint8());
|
|
113
|
-
}
|
|
114
|
-
else if (ELIMP_HARDWARE_TYPES.includes(hardwareType)) {
|
|
115
|
-
status = bitSet.toObject(elimpBitMask, buffer.getUint8());
|
|
116
|
-
}
|
|
117
|
-
else if (WATER_HARDWARE_TYPES.includes(hardwareType)) {
|
|
118
|
-
status = bitSet.toObject(waterBitMask, buffer.getUint8());
|
|
119
|
-
}
|
|
120
|
-
else if (FOUR_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
|
|
121
|
-
status = bitSet.toObject(fourChannelBitMask, buffer.getExtendedValue());
|
|
122
|
-
}
|
|
123
|
-
else if (MTX_HARDWARE_TYPES.includes(hardwareType)) {
|
|
124
|
-
status = bitSet.toObject(mtxBitMask, buffer.getUint16());
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
throw new Error('wrong hardwareType');
|
|
128
|
-
}
|
|
97
|
+
const status = buffer.getEventStatus(hardwareType);
|
|
129
98
|
return new LastEvent({ sequenceNumber, status }, hardwareType);
|
|
130
99
|
}
|
|
131
100
|
// returns full message - header with body
|
|
132
101
|
toBytes() {
|
|
133
102
|
const { sequenceNumber, status } = this.parameters;
|
|
134
|
-
const buffer = new CommandBinaryBuffer(
|
|
103
|
+
const buffer = new CommandBinaryBuffer(
|
|
104
|
+
// sequenceNumber size + status size
|
|
105
|
+
1 + CommandBinaryBuffer.getEventStatusSize(this.hardwareType));
|
|
135
106
|
buffer.setUint8(sequenceNumber);
|
|
136
|
-
|
|
137
|
-
buffer.setUint8(bitSet.fromObject(gasBitMask, status));
|
|
138
|
-
}
|
|
139
|
-
else if (TWO_CHANNELS_HARDWARE_TYPES.includes(this.hardwareType)) {
|
|
140
|
-
buffer.setUint8(bitSet.fromObject(twoChannelBitMask, status));
|
|
141
|
-
}
|
|
142
|
-
else if (ELIMP_HARDWARE_TYPES.includes(this.hardwareType)) {
|
|
143
|
-
buffer.setUint8(bitSet.fromObject(elimpBitMask, status));
|
|
144
|
-
}
|
|
145
|
-
else if (WATER_HARDWARE_TYPES.includes(this.hardwareType)) {
|
|
146
|
-
buffer.setUint8(bitSet.fromObject(waterBitMask, status));
|
|
147
|
-
}
|
|
148
|
-
else if (FOUR_CHANNELS_HARDWARE_TYPES.includes(this.hardwareType)) {
|
|
149
|
-
buffer.setExtendedValue(bitSet.fromObject(fourChannelBitMask, status));
|
|
150
|
-
}
|
|
151
|
-
else if (MTX_HARDWARE_TYPES.includes(this.hardwareType)) {
|
|
152
|
-
buffer.setUint16(bitSet.fromObject(mtxBitMask, status));
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
throw new Error('wrong hardwareType');
|
|
156
|
-
}
|
|
107
|
+
buffer.setEventStatus(this.hardwareType, status);
|
|
157
108
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
158
109
|
}
|
|
159
110
|
}
|
|
160
111
|
LastEvent.id = COMMAND_ID;
|
|
161
112
|
LastEvent.directionType = UPLINK;
|
|
162
|
-
LastEvent.
|
|
113
|
+
LastEvent.examples = examples;
|
|
114
|
+
LastEvent.hasParameters = true;
|
|
163
115
|
export default LastEvent;
|
|
164
116
|
//# sourceMappingURL=LastEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LastEvent.js","sourceRoot":"","sources":["../../../src/commands/uplink/LastEvent.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"LastEvent.js","sourceRoot":"","sources":["../../../src/commands/uplink/LastEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,33 @@
|
|
|
1
|
-
import Command from '../../Command.js';
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IEventMtxStatus } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { TTime2000 } from '../../utils/time.js';
|
|
2
4
|
interface IEventBase {
|
|
3
5
|
}
|
|
6
|
+
interface IEventTime extends IEventBase {
|
|
7
|
+
time: TTime2000;
|
|
8
|
+
}
|
|
9
|
+
interface IEventBatteryAlarm extends IEventBase {
|
|
10
|
+
voltage: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* MTX meters activation event.
|
|
14
|
+
*/
|
|
15
|
+
interface IEventActivateMtx extends IEventTime {
|
|
16
|
+
/**
|
|
17
|
+
* hex string, 8 bytes contains unique meter ID
|
|
18
|
+
* @example
|
|
19
|
+
* '00 1A 79 88 17 01 23 56'
|
|
20
|
+
*/
|
|
21
|
+
deviceId: string;
|
|
22
|
+
}
|
|
23
|
+
interface IEventConnection extends IEventBase {
|
|
24
|
+
channel: number;
|
|
25
|
+
value: number;
|
|
26
|
+
}
|
|
27
|
+
interface IEventMtx extends IEventBase {
|
|
28
|
+
status: IEventMtxStatus;
|
|
29
|
+
}
|
|
30
|
+
type TEventData = IEventTime | IEventBatteryAlarm | IEventActivateMtx | IEventConnection | IEventMtx;
|
|
4
31
|
/**
|
|
5
32
|
* NewEvent command parameters
|
|
6
33
|
*
|
|
@@ -8,13 +35,13 @@ interface IEventBase {
|
|
|
8
35
|
* ```js
|
|
9
36
|
* import {constants} from 'jooby-codec'
|
|
10
37
|
*
|
|
11
|
-
* // `
|
|
12
|
-
* {id: constants.events.MAGNET_ON, sequenceNumber: 1, data: {
|
|
38
|
+
* // `MAGNET_ON` event at 2023-04-05 13:17:20 GMT
|
|
39
|
+
* {id: constants.events.MAGNET_ON, sequenceNumber: 1, data: {time: 734015840}}
|
|
13
40
|
*/
|
|
14
41
|
interface INewEventParameters {
|
|
15
42
|
id: number;
|
|
16
43
|
sequenceNumber: number;
|
|
17
|
-
data:
|
|
44
|
+
data: TEventData;
|
|
18
45
|
}
|
|
19
46
|
/**
|
|
20
47
|
* Uplink command.
|
|
@@ -24,8 +51,8 @@ interface INewEventParameters {
|
|
|
24
51
|
* import {constants} from 'jooby-codec'
|
|
25
52
|
* import NewEvent from 'jooby-codec/commands/uplink/NewEvent';
|
|
26
53
|
*
|
|
27
|
-
* // `
|
|
28
|
-
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {
|
|
54
|
+
* // `MAGNET_ON` event at 2023-04-05 13:17:20 GMT
|
|
55
|
+
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {time: 734015840}};
|
|
29
56
|
* const command = new NewEvent(parameters);
|
|
30
57
|
*
|
|
31
58
|
* // output command binary in hex representation
|
|
@@ -40,7 +67,8 @@ declare class NewEvent extends Command {
|
|
|
40
67
|
constructor(parameters: INewEventParameters);
|
|
41
68
|
static readonly id = 21;
|
|
42
69
|
static readonly directionType = 2;
|
|
43
|
-
static readonly
|
|
70
|
+
static readonly examples: TCommandExampleList;
|
|
71
|
+
static readonly hasParameters = true;
|
|
44
72
|
static fromBytes(data: Uint8Array): NewEvent;
|
|
45
73
|
toBytes(): Uint8Array;
|
|
46
74
|
}
|
|
@@ -3,12 +3,86 @@ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
|
3
3
|
import getHexFromBytes from '../../utils/getHexFromBytes.js';
|
|
4
4
|
import getBytesFromHex from '../../utils/getBytesFromHex.js';
|
|
5
5
|
import * as events from '../../constants/events.js';
|
|
6
|
-
import { UPLINK } from '../../constants/
|
|
6
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
7
|
+
import * as hardwareTypes from '../../constants/hardwareTypes.js';
|
|
7
8
|
const COMMAND_ID = 0x15;
|
|
8
|
-
const COMMAND_TITLE = 'NEW_EVENT';
|
|
9
9
|
// ACTIVATE_MTX are biggest,1 byte event id, 1 byte sequence number, 4 bytes time, 8 bytes mtx address
|
|
10
10
|
const COMMAND_BODY_MAX_SIZE = 14;
|
|
11
11
|
const MTX_ADDRESS_SIZE = 8;
|
|
12
|
+
const examples = [
|
|
13
|
+
{
|
|
14
|
+
name: 'event for MAGNET_ON',
|
|
15
|
+
parameters: {
|
|
16
|
+
id: events.MAGNET_ON,
|
|
17
|
+
sequenceNumber: 2,
|
|
18
|
+
data: { time: 734015840 }
|
|
19
|
+
},
|
|
20
|
+
hex: { header: '15 06', body: '01 02 2b c0 31 60' }
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'event for BATTERY_ALARM',
|
|
24
|
+
parameters: {
|
|
25
|
+
id: events.BATTERY_ALARM,
|
|
26
|
+
sequenceNumber: 2,
|
|
27
|
+
data: { voltage: 3308 }
|
|
28
|
+
},
|
|
29
|
+
hex: { header: '15 04', body: '05 02 0c ec' }
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'event for ACTIVATE_MTX',
|
|
33
|
+
parameters: {
|
|
34
|
+
id: events.ACTIVATE_MTX,
|
|
35
|
+
sequenceNumber: 2,
|
|
36
|
+
data: { time: 734015840, deviceId: '00 1a 79 88 17 01 23 56' }
|
|
37
|
+
},
|
|
38
|
+
hex: { header: '15 0e', body: '0b 02 2b c0 31 60 00 1a 79 88 17 01 23 56' }
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'event for CONNECT',
|
|
42
|
+
parameters: {
|
|
43
|
+
id: events.CONNECT,
|
|
44
|
+
sequenceNumber: 2,
|
|
45
|
+
data: { channel: 0, value: 131 }
|
|
46
|
+
},
|
|
47
|
+
hex: { header: '15 05', body: '0c 02 00 83 01' }
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'event for DISCONNECT',
|
|
51
|
+
parameters: {
|
|
52
|
+
id: events.DISCONNECT,
|
|
53
|
+
sequenceNumber: 2,
|
|
54
|
+
data: { channel: 0, value: 131 }
|
|
55
|
+
},
|
|
56
|
+
hex: { header: '15 05', body: '0d 02 00 83 01' }
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'event for EV_MTX',
|
|
60
|
+
parameters: {
|
|
61
|
+
id: events.MTX,
|
|
62
|
+
sequenceNumber: 2,
|
|
63
|
+
data: {
|
|
64
|
+
status: {
|
|
65
|
+
// first byte: 10000011 = 83 (131)
|
|
66
|
+
isMeterCaseOpen: true,
|
|
67
|
+
isMagneticInfluence: true,
|
|
68
|
+
isParametersSetRemotely: false,
|
|
69
|
+
isParametersSetLocally: false,
|
|
70
|
+
isMeterProgramRestarted: false,
|
|
71
|
+
isLockedOut: false,
|
|
72
|
+
isTimeSet: false,
|
|
73
|
+
isTimeCorrected: true,
|
|
74
|
+
// second byte: 00001010 = 0a (10)
|
|
75
|
+
isMeterFailure: false,
|
|
76
|
+
isMeterTerminalBoxOpen: true,
|
|
77
|
+
isModuleCompartmentOpen: false,
|
|
78
|
+
isTariffPlanChanged: true,
|
|
79
|
+
isNewTariffPlanReceived: false
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
hex: { header: '15 04', body: '11 02 83 0a' }
|
|
84
|
+
}
|
|
85
|
+
];
|
|
12
86
|
const getVoltage = (buffer) => buffer.getUint16(false);
|
|
13
87
|
const setVoltage = (buffer, value) => buffer.setUint16(value, false);
|
|
14
88
|
const getDeviceId = (buffer) => {
|
|
@@ -30,8 +104,8 @@ const setDeviceId = (buffer, value) => {
|
|
|
30
104
|
* import {constants} from 'jooby-codec'
|
|
31
105
|
* import NewEvent from 'jooby-codec/commands/uplink/NewEvent';
|
|
32
106
|
*
|
|
33
|
-
* // `
|
|
34
|
-
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {
|
|
107
|
+
* // `MAGNET_ON` event at 2023-04-05 13:17:20 GMT
|
|
108
|
+
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {time: 734015840}};
|
|
35
109
|
* const command = new NewEvent(parameters);
|
|
36
110
|
*
|
|
37
111
|
* // output command binary in hex representation
|
|
@@ -46,6 +120,7 @@ class NewEvent extends Command {
|
|
|
46
120
|
super();
|
|
47
121
|
this.parameters = parameters;
|
|
48
122
|
}
|
|
123
|
+
// data - only body (without header)
|
|
49
124
|
static fromBytes(data) {
|
|
50
125
|
const buffer = new CommandBinaryBuffer(data);
|
|
51
126
|
const id = buffer.getUint8();
|
|
@@ -60,29 +135,30 @@ class NewEvent extends Command {
|
|
|
60
135
|
case events.INSERT:
|
|
61
136
|
case events.REMOVE:
|
|
62
137
|
case events.COUNTER_OVER:
|
|
63
|
-
case events.
|
|
64
|
-
case events.
|
|
65
|
-
case events.
|
|
66
|
-
eventData = {
|
|
138
|
+
case events.OPTOLOW:
|
|
139
|
+
case events.OPTOFLASH:
|
|
140
|
+
case events.JOIN_ACCEPT:
|
|
141
|
+
eventData = { time: buffer.getTime() };
|
|
67
142
|
break;
|
|
68
143
|
case events.BATTERY_ALARM:
|
|
69
144
|
eventData = { voltage: getVoltage(buffer) };
|
|
70
145
|
break;
|
|
71
146
|
case events.ACTIVATE_MTX:
|
|
72
|
-
eventData = {
|
|
147
|
+
eventData = { time: buffer.getTime(), deviceId: getDeviceId(buffer) };
|
|
73
148
|
break;
|
|
74
149
|
case events.CONNECT:
|
|
75
150
|
case events.DISCONNECT:
|
|
76
151
|
eventData = { channel: buffer.getUint8(), value: buffer.getExtendedValue() };
|
|
77
152
|
break;
|
|
78
|
-
case events.
|
|
79
|
-
eventData = {
|
|
153
|
+
case events.MTX:
|
|
154
|
+
eventData = { status: buffer.getEventStatus(hardwareTypes.MTXLORA) };
|
|
80
155
|
break;
|
|
81
156
|
default:
|
|
82
157
|
throw new Error(`${this.getId()}: event ${id} is not supported`);
|
|
83
158
|
}
|
|
84
159
|
return new NewEvent({ id, sequenceNumber, data: eventData });
|
|
85
160
|
}
|
|
161
|
+
// returns full message - header with body
|
|
86
162
|
toBytes() {
|
|
87
163
|
const { id, sequenceNumber, data } = this.parameters;
|
|
88
164
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
@@ -98,11 +174,11 @@ class NewEvent extends Command {
|
|
|
98
174
|
case events.INSERT:
|
|
99
175
|
case events.REMOVE:
|
|
100
176
|
case events.COUNTER_OVER:
|
|
101
|
-
case events.
|
|
102
|
-
case events.
|
|
103
|
-
case events.
|
|
177
|
+
case events.OPTOLOW:
|
|
178
|
+
case events.OPTOFLASH:
|
|
179
|
+
case events.JOIN_ACCEPT:
|
|
104
180
|
eventData = data;
|
|
105
|
-
buffer.setTime(eventData.
|
|
181
|
+
buffer.setTime(eventData.time);
|
|
106
182
|
break;
|
|
107
183
|
case events.BATTERY_ALARM:
|
|
108
184
|
eventData = data;
|
|
@@ -110,7 +186,7 @@ class NewEvent extends Command {
|
|
|
110
186
|
break;
|
|
111
187
|
case events.ACTIVATE_MTX:
|
|
112
188
|
eventData = data;
|
|
113
|
-
buffer.setTime(eventData.
|
|
189
|
+
buffer.setTime(eventData.time);
|
|
114
190
|
setDeviceId(buffer, eventData.deviceId);
|
|
115
191
|
break;
|
|
116
192
|
case events.CONNECT:
|
|
@@ -119,10 +195,9 @@ class NewEvent extends Command {
|
|
|
119
195
|
buffer.setUint8(eventData.channel);
|
|
120
196
|
buffer.setExtendedValue(eventData.value);
|
|
121
197
|
break;
|
|
122
|
-
case events.
|
|
198
|
+
case events.MTX:
|
|
123
199
|
eventData = data;
|
|
124
|
-
buffer.
|
|
125
|
-
buffer.setUint8(eventData.status2);
|
|
200
|
+
buffer.setEventStatus(hardwareTypes.MTXLORA, eventData.status);
|
|
126
201
|
break;
|
|
127
202
|
default:
|
|
128
203
|
throw new Error(`${NewEvent.getId()}: event ${id} is not supported`);
|
|
@@ -132,6 +207,7 @@ class NewEvent extends Command {
|
|
|
132
207
|
}
|
|
133
208
|
NewEvent.id = COMMAND_ID;
|
|
134
209
|
NewEvent.directionType = UPLINK;
|
|
135
|
-
NewEvent.
|
|
210
|
+
NewEvent.examples = examples;
|
|
211
|
+
NewEvent.hasParameters = true;
|
|
136
212
|
export default NewEvent;
|
|
137
213
|
//# sourceMappingURL=NewEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewEvent.js","sourceRoot":"","sources":["../../../src/commands/uplink/NewEvent.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"NewEvent.js","sourceRoot":"","sources":["../../../src/commands/uplink/NewEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ declare class NewStatus extends Command {
|
|
|
49
49
|
constructor(parameters: INewStatusParameters);
|
|
50
50
|
static readonly id = 20;
|
|
51
51
|
static readonly directionType = 2;
|
|
52
|
-
static readonly
|
|
52
|
+
static readonly hasParameters = true;
|
|
53
53
|
static fromBytes(data: Uint8Array): NewStatus;
|
|
54
54
|
toBytes(): Uint8Array;
|
|
55
55
|
}
|
|
@@ -2,9 +2,8 @@ import Command from '../../Command.js';
|
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import roundNumber from '../../utils/roundNumber.js';
|
|
4
4
|
import * as hardwareTypes from '../../constants/hardwareTypes.js';
|
|
5
|
-
import { UPLINK } from '../../constants/
|
|
5
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
6
6
|
const COMMAND_ID = 0x14;
|
|
7
|
-
const COMMAND_TITLE = 'NEW_STATUS';
|
|
8
7
|
const COMMAND_BODY_MAX_SIZE = 20;
|
|
9
8
|
const UNKNOWN_RESISTANT = 65535;
|
|
10
9
|
// max battery capacity, 254 - 100%
|
|
@@ -45,6 +44,7 @@ class NewStatus extends Command {
|
|
|
45
44
|
super();
|
|
46
45
|
this.parameters = parameters;
|
|
47
46
|
}
|
|
47
|
+
// data - only body (without header)
|
|
48
48
|
static fromBytes(data) {
|
|
49
49
|
const buffer = new CommandBinaryBuffer(data);
|
|
50
50
|
const software = { type: buffer.getUint8(), version: buffer.getUint8() };
|
|
@@ -87,6 +87,7 @@ class NewStatus extends Command {
|
|
|
87
87
|
}
|
|
88
88
|
return new NewStatus({ software, hardware, data: statusData });
|
|
89
89
|
}
|
|
90
|
+
// returns full message - header with body
|
|
90
91
|
toBytes() {
|
|
91
92
|
const { software, hardware, data } = this.parameters;
|
|
92
93
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
@@ -135,6 +136,6 @@ class NewStatus extends Command {
|
|
|
135
136
|
}
|
|
136
137
|
NewStatus.id = COMMAND_ID;
|
|
137
138
|
NewStatus.directionType = UPLINK;
|
|
138
|
-
NewStatus.
|
|
139
|
+
NewStatus.hasParameters = true;
|
|
139
140
|
export default NewStatus;
|
|
140
141
|
//# sourceMappingURL=NewStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewStatus.js","sourceRoot":"","sources":["../../../src/commands/uplink/NewStatus.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAsC,MAAM,8BAA8B,CAAC;AAClF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAC,MAAM,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"NewStatus.js","sourceRoot":"","sources":["../../../src/commands/uplink/NewStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ declare class SetTime2000 extends Command {
|
|
|
30
30
|
constructor(parameters: IUplinkSetTime2000Parameters);
|
|
31
31
|
static readonly id = 2;
|
|
32
32
|
static readonly directionType = 2;
|
|
33
|
-
static readonly
|
|
33
|
+
static readonly hasParameters = true;
|
|
34
34
|
static fromBytes(data: Uint8Array): SetTime2000;
|
|
35
35
|
toBytes(): Uint8Array;
|
|
36
36
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
3
|
-
import { UPLINK } from '../../constants/
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x02;
|
|
5
|
-
const COMMAND_TITLE = 'SET_TIME_2000';
|
|
6
5
|
const COMMAND_BODY_SIZE = 1;
|
|
7
6
|
/**
|
|
8
7
|
* Uplink command.
|
|
@@ -40,6 +39,7 @@ class SetTime2000 extends Command {
|
|
|
40
39
|
}
|
|
41
40
|
return new SetTime2000(parameters);
|
|
42
41
|
}
|
|
42
|
+
// returns full message - header with body
|
|
43
43
|
toBytes() {
|
|
44
44
|
const { status } = this.parameters;
|
|
45
45
|
const buffer = new BinaryBuffer(COMMAND_BODY_SIZE, false);
|
|
@@ -49,6 +49,6 @@ class SetTime2000 extends Command {
|
|
|
49
49
|
}
|
|
50
50
|
SetTime2000.id = COMMAND_ID;
|
|
51
51
|
SetTime2000.directionType = UPLINK;
|
|
52
|
-
SetTime2000.
|
|
52
|
+
SetTime2000.hasParameters = true;
|
|
53
53
|
export default SetTime2000;
|
|
54
54
|
//# sourceMappingURL=SetTime2000.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/uplink/SetTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/uplink/SetTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAcrD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAY,SAAQ,OAAO;IAC7B,YAAqB,UAAwC;QACzD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA8B;IAE7D,CAAC;IAUD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC5B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,MAAM,CAAC;AAEvB,yBAAa,GAAG,IAAI,CAAC;AAkCzC,eAAe,WAAW,CAAC"}
|
|
@@ -17,7 +17,7 @@ import Command from '../../Command.js';
|
|
|
17
17
|
declare class SoftRestart extends Command {
|
|
18
18
|
static readonly id = 25;
|
|
19
19
|
static readonly directionType = 2;
|
|
20
|
-
static readonly
|
|
20
|
+
static readonly hasParameters = false;
|
|
21
21
|
static fromBytes(): SoftRestart;
|
|
22
22
|
toBytes(): Uint8Array;
|
|
23
23
|
}
|