jooby-codec 1.5.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.
Files changed (135) hide show
  1. package/dist/Command.d.ts +14 -4
  2. package/dist/Command.js +10 -5
  3. package/dist/Command.js.map +1 -1
  4. package/dist/CommandBinaryBuffer.d.ts +142 -5
  5. package/dist/CommandBinaryBuffer.js +275 -0
  6. package/dist/CommandBinaryBuffer.js.map +1 -1
  7. package/dist/commands/downlink/CorrectTime2000.d.ts +1 -6
  8. package/dist/commands/downlink/CorrectTime2000.js +2 -8
  9. package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
  10. package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +5 -10
  11. package/dist/commands/downlink/ExAbsArchiveDaysMC.js +3 -9
  12. package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
  13. package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +5 -10
  14. package/dist/commands/downlink/ExAbsArchiveHoursMC.js +3 -9
  15. package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
  16. package/dist/commands/downlink/ExAbsCurrentMC.d.ts +1 -6
  17. package/dist/commands/downlink/ExAbsCurrentMC.js +3 -8
  18. package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -1
  19. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -5
  20. package/dist/commands/downlink/GetArchiveDaysMC.js +3 -4
  21. package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  22. package/dist/commands/downlink/GetArchiveEvents.d.ts +39 -0
  23. package/dist/commands/downlink/GetArchiveEvents.js +58 -0
  24. package/dist/commands/downlink/GetArchiveEvents.js.map +1 -0
  25. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -10
  26. package/dist/commands/downlink/GetArchiveHoursMC.js +3 -9
  27. package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  28. package/dist/commands/downlink/GetCurrentMC.d.ts +25 -0
  29. package/dist/commands/downlink/GetCurrentMC.js +41 -0
  30. package/dist/commands/downlink/GetCurrentMC.js.map +1 -0
  31. package/dist/commands/downlink/GetLmicVersion.d.ts +25 -0
  32. package/dist/commands/downlink/GetLmicVersion.js +41 -0
  33. package/dist/commands/downlink/GetLmicVersion.js.map +1 -0
  34. package/dist/commands/downlink/GetParameter.d.ts +37 -0
  35. package/dist/commands/downlink/GetParameter.js +64 -0
  36. package/dist/commands/downlink/GetParameter.js.map +1 -0
  37. package/dist/commands/downlink/NewStatus.d.ts +1 -1
  38. package/dist/commands/downlink/NewStatus.js +3 -3
  39. package/dist/commands/downlink/NewStatus.js.map +1 -1
  40. package/dist/commands/downlink/SetParameter.d.ts +6 -56
  41. package/dist/commands/downlink/SetParameter.js +45 -105
  42. package/dist/commands/downlink/SetParameter.js.map +1 -1
  43. package/dist/commands/downlink/SetTime2000.d.ts +1 -6
  44. package/dist/commands/downlink/SetTime2000.js +2 -8
  45. package/dist/commands/downlink/SetTime2000.js.map +1 -1
  46. package/dist/commands/downlink/SoftRestart.d.ts +1 -1
  47. package/dist/commands/downlink/SoftRestart.js +3 -3
  48. package/dist/commands/downlink/SoftRestart.js.map +1 -1
  49. package/dist/commands/downlink/index.d.ts +4 -0
  50. package/dist/commands/downlink/index.js +4 -0
  51. package/dist/commands/downlink/index.js.map +1 -1
  52. package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
  53. package/dist/commands/uplink/CorrectTime2000.js +3 -3
  54. package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
  55. package/dist/commands/uplink/DataDayMC.d.ts +3 -5
  56. package/dist/commands/uplink/DataDayMC.js +4 -3
  57. package/dist/commands/uplink/DataDayMC.js.map +1 -1
  58. package/dist/commands/uplink/DataHourMC.d.ts +3 -2
  59. package/dist/commands/uplink/DataHourMC.js +4 -3
  60. package/dist/commands/uplink/DataHourMC.js.map +1 -1
  61. package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +3 -2
  62. package/dist/commands/uplink/ExAbsArchiveDaysMC.js +4 -3
  63. package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
  64. package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +3 -2
  65. package/dist/commands/uplink/ExAbsArchiveHoursMC.js +4 -3
  66. package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
  67. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +1 -1
  68. package/dist/commands/uplink/ExAbsCurrentMC.js +4 -3
  69. package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
  70. package/dist/commands/uplink/ExAbsDayMC.d.ts +3 -2
  71. package/dist/commands/uplink/ExAbsDayMC.js +4 -3
  72. package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
  73. package/dist/commands/uplink/ExAbsHourMC.d.ts +3 -2
  74. package/dist/commands/uplink/ExAbsHourMC.js +4 -3
  75. package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
  76. package/dist/commands/uplink/GetArchiveDaysMC.d.ts +3 -2
  77. package/dist/commands/uplink/GetArchiveDaysMC.js +4 -3
  78. package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
  79. package/dist/commands/uplink/GetArchiveEvents.d.ts +48 -0
  80. package/dist/commands/uplink/GetArchiveEvents.js +105 -0
  81. package/dist/commands/uplink/GetArchiveEvents.js.map +1 -0
  82. package/dist/commands/uplink/GetArchiveHoursMC.d.ts +3 -2
  83. package/dist/commands/uplink/GetArchiveHoursMC.js +4 -3
  84. package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
  85. package/dist/commands/uplink/GetCurrentMC.d.ts +24 -2
  86. package/dist/commands/uplink/GetCurrentMC.js +60 -3
  87. package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
  88. package/dist/commands/uplink/GetLmicVersion.d.ts +46 -0
  89. package/dist/commands/uplink/GetLmicVersion.js +90 -0
  90. package/dist/commands/uplink/GetLmicVersion.js.map +1 -0
  91. package/dist/commands/uplink/GetParameter.d.ts +30 -0
  92. package/dist/commands/uplink/GetParameter.js +91 -0
  93. package/dist/commands/uplink/GetParameter.js.map +1 -0
  94. package/dist/commands/uplink/LastEvent.d.ts +5 -76
  95. package/dist/commands/uplink/LastEvent.js +67 -115
  96. package/dist/commands/uplink/LastEvent.js.map +1 -1
  97. package/dist/commands/uplink/NewEvent.d.ts +35 -7
  98. package/dist/commands/uplink/NewEvent.js +96 -20
  99. package/dist/commands/uplink/NewEvent.js.map +1 -1
  100. package/dist/commands/uplink/NewStatus.d.ts +1 -1
  101. package/dist/commands/uplink/NewStatus.js +4 -3
  102. package/dist/commands/uplink/NewStatus.js.map +1 -1
  103. package/dist/commands/uplink/SetTime2000.d.ts +1 -1
  104. package/dist/commands/uplink/SetTime2000.js +3 -3
  105. package/dist/commands/uplink/SetTime2000.js.map +1 -1
  106. package/dist/commands/uplink/SoftRestart.d.ts +1 -1
  107. package/dist/commands/uplink/SoftRestart.js +3 -3
  108. package/dist/commands/uplink/SoftRestart.js.map +1 -1
  109. package/dist/commands/uplink/Time2000.d.ts +5 -5
  110. package/dist/commands/uplink/Time2000.js +6 -7
  111. package/dist/commands/uplink/Time2000.js.map +1 -1
  112. package/dist/commands/uplink/index.d.ts +3 -0
  113. package/dist/commands/uplink/index.js +3 -0
  114. package/dist/commands/uplink/index.js.map +1 -1
  115. package/dist/constants/{directionTypes.js → directions.js} +1 -1
  116. package/dist/constants/directions.js.map +1 -0
  117. package/dist/constants/events.d.ts +30 -4
  118. package/dist/constants/events.js +30 -4
  119. package/dist/constants/events.js.map +1 -1
  120. package/dist/constants/hardwareTypes.d.ts +2 -2
  121. package/dist/constants/hardwareTypes.js +2 -2
  122. package/dist/constants/index.d.ts +1 -1
  123. package/dist/constants/index.js +1 -1
  124. package/dist/constants/index.js.map +1 -1
  125. package/dist/utils/bitSet.d.ts +2 -2
  126. package/dist/utils/bitSet.js +2 -2
  127. package/dist/utils/message.d.ts +8 -0
  128. package/dist/utils/message.js +3 -3
  129. package/dist/utils/message.js.map +1 -1
  130. package/dist/utils/time.d.ts +20 -3
  131. package/dist/utils/time.js +2 -2
  132. package/dist/utils/time.js.map +1 -1
  133. package/package.json +1 -1
  134. package/dist/constants/directionTypes.js.map +0 -1
  135. /package/dist/constants/{directionTypes.d.ts → directions.d.ts} +0 -0
@@ -1,77 +1,5 @@
1
- import Command from '../../Command.js';
2
- interface ILastEventGasStatus {
3
- /** the battery voltage has dropped below the set threshold */
4
- isBatteryLow?: boolean;
5
- /** there is a magnetic field influence */
6
- isMagneticInfluence?: boolean;
7
- /** button is release (device is unmounted) */
8
- isButtonReleased?: boolean;
9
- /** the device has detected a loss of connection to the server */
10
- isConnectionLost?: boolean;
11
- }
12
- interface ILastEvent2ChannelStatus {
13
- /** the battery voltage has dropped below the set threshold */
14
- isBatteryLow?: boolean;
15
- /** the device has detected a loss of connection to the server */
16
- isConnectionLost?: boolean;
17
- /** the first channel is not active */
18
- isFirstChannelInactive?: boolean;
19
- /** the second channel is not active */
20
- isSecondChannelInactive?: boolean;
21
- }
22
- interface ILastEventElimpStatus {
23
- /** the device has detected a loss of connection to the server */
24
- isConnectionLost?: boolean;
25
- }
26
- interface ILastEventWaterStatus {
27
- /** the battery voltage has dropped below the set threshold */
28
- isBatteryLow?: boolean;
29
- /** the device has detected a loss of connection to the server */
30
- isConnectionLost?: boolean;
31
- }
32
- interface ILastEvent4ChannelStatus {
33
- /** the battery voltage has dropped below the set threshold */
34
- isBatteryLow?: boolean;
35
- /** the device has detected a loss of connection to the server */
36
- isConnectionLost?: boolean;
37
- /** the first channel is not active */
38
- isFirstChannelInactive?: boolean;
39
- /** the second channel is not active */
40
- isSecondChannelInactive?: boolean;
41
- /** the third channel is not active */
42
- isThirdChannelInactive?: boolean;
43
- /** the forth channel is not active */
44
- isForthChannelInactive?: boolean;
45
- }
46
- interface ILastEventMtxStatus {
47
- /** meter case is open */
48
- isMeterCaseOpen?: boolean;
49
- /** there is a magnetic field influence */
50
- isMagneticInfluence?: boolean;
51
- /** parameters set remotely */
52
- isParametersSetRemotely?: boolean;
53
- /** parameters set locally */
54
- isParametersSetLocally?: boolean;
55
- /** meter program restart */
56
- isMeterProgramRestarted?: boolean;
57
- /** incorrect password and lockout */
58
- isLockedOut?: boolean;
59
- /** time set */
60
- isTimeSet?: boolean;
61
- /** time correction */
62
- isTimeCorrected?: boolean;
63
- /** meter failure */
64
- isMeterFailure?: boolean;
65
- /** meter terminal box is open */
66
- isMeterTerminalBoxOpen?: boolean;
67
- /** meter module compartment is open */
68
- isModuleCompartmentOpen?: boolean;
69
- /** tariff plan changed */
70
- isTariffPlanChanged?: boolean;
71
- /** new tariff plan received */
72
- isNewTariffPlanReceived?: boolean;
73
- }
74
- type TLastEventStatus = ILastEventGasStatus | ILastEvent2ChannelStatus | ILastEventElimpStatus | ILastEventWaterStatus | ILastEvent4ChannelStatus | ILastEventMtxStatus;
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { TEventStatus } from '../../CommandBinaryBuffer.js';
75
3
  /**
76
4
  * LastEvent command parameters
77
5
  *
@@ -82,7 +10,7 @@ interface ILastEventParameters {
82
10
  /** unique event number */
83
11
  sequenceNumber: number;
84
12
  /** object with boolean values depending on the device hardware type */
85
- status: TLastEventStatus;
13
+ status: TEventStatus;
86
14
  }
87
15
  /**
88
16
  * Uplink command.
@@ -109,7 +37,8 @@ declare class LastEvent extends Command {
109
37
  constructor(parameters: ILastEventParameters, hardwareType: number);
110
38
  static readonly id = 96;
111
39
  static readonly directionType = 2;
112
- static readonly title = "LAST_EVENT";
40
+ static readonly examples: TCommandExampleList;
41
+ static readonly hasParameters = true;
113
42
  static fromBytes(data: Uint8Array, hardwareType?: number): LastEvent;
114
43
  toBytes(): Uint8Array;
115
44
  }
@@ -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 * as bitSet from '../../utils/bitSet.js';
5
- import { UPLINK } from '../../constants/directionTypes.js';
3
+ import { UPLINK } from '../../constants/directions.js';
4
+ import * as hardwareTypes from '../../constants/hardwareTypes.js';
6
5
  const COMMAND_ID = 0x60;
7
- const COMMAND_TITLE = 'LAST_EVENT';
8
- const GAS_HARDWARE_TYPES = [
9
- hardwareTypes.GAZM0,
10
- hardwareTypes.GAZM0NEW,
11
- hardwareTypes.GAZM3,
12
- hardwareTypes.GAZWLE
13
- ];
14
- const TWO_CHANNELS_HARDWARE_TYPES = [
15
- hardwareTypes.IMP2AS,
16
- hardwareTypes.IMP2EU,
17
- hardwareTypes.IMP2IN,
18
- hardwareTypes.NOVATOR
19
- ];
20
- const ELIMP_HARDWARE_TYPES = [
21
- hardwareTypes.ELIMP
22
- ];
23
- const WATER_HARDWARE_TYPES = [
24
- hardwareTypes.WATER
25
- ];
26
- const FOUR_CHANNELS_HARDWARE_TYPES = [
27
- hardwareTypes.IMP4EU,
28
- hardwareTypes.IMP4IN
29
- ];
30
- const MTX_HARDWARE_TYPES = [
31
- hardwareTypes.MTXLORA
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
- let status;
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([...FOUR_CHANNELS_HARDWARE_TYPES, ...MTX_HARDWARE_TYPES].includes(this.hardwareType) ? 3 : 2);
103
+ const buffer = new CommandBinaryBuffer(
104
+ // sequenceNumber size + status size
105
+ 1 + CommandBinaryBuffer.getEventStatusSize(this.hardwareType));
135
106
  buffer.setUint8(sequenceNumber);
136
- if (GAS_HARDWARE_TYPES.includes(this.hardwareType)) {
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.title = COMMAND_TITLE;
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,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAC;AAClE,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAuGzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,kBAAkB,GAAG;IACvB,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,MAAM;CACvB,CAAC;AACF,MAAM,2BAA2B,GAAG;IAChC,aAAa,CAAC,MAAM;IACpB,aAAa,CAAC,MAAM;IACpB,aAAa,CAAC,MAAM;IACpB,aAAa,CAAC,OAAO;CACxB,CAAC;AACF,MAAM,oBAAoB,GAAG;IACzB,aAAa,CAAC,KAAK;CACtB,CAAC;AACF,MAAM,oBAAoB,GAAG;IACzB,aAAa,CAAC,KAAK;CACtB,CAAC;AACF,MAAM,4BAA4B,GAAG;IACjC,aAAa,CAAC,MAAM;IACpB,aAAa,CAAC,MAAM;CACvB,CAAC;AACF,MAAM,kBAAkB,GAAG;IACvB,aAAa,CAAC,OAAO;CACxB,CAAC;AAEF,MAAM,UAAU,GAAG;IACf,YAAY,EAAE,CAAC,IAAI,CAAC;IACpB,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,IAAI,CAAC;IACxB,gBAAgB,EAAE,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,iBAAiB,GAAG;IACtB,YAAY,EAAE,CAAC,IAAI,CAAC;IACpB,gBAAgB,EAAE,CAAC,IAAI,CAAC;IACxB,sBAAsB,EAAE,CAAC,IAAI,CAAC;IAC9B,uBAAuB,EAAE,CAAC,IAAI,CAAC;CAClC,CAAC;AACF,MAAM,YAAY,GAAG;IACjB,gBAAgB,EAAE,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,YAAY,GAAG;IACjB,YAAY,EAAE,CAAC,IAAI,CAAC;IACpB,gBAAgB,EAAE,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,kBAAkB,GAAG;IACvB,YAAY,EAAE,CAAC,IAAI,CAAC;IACpB,gBAAgB,EAAE,CAAC,IAAI,CAAC;IACxB,sBAAsB,EAAE,CAAC,IAAI,CAAC;IAC9B,uBAAuB,EAAE,CAAC,IAAI,CAAC;IAC/B,sBAAsB,EAAE,CAAC,IAAI,CAAC;IAC9B,sBAAsB,EAAE,CAAC,IAAI,CAAC;CACjC,CAAC;AACF,MAAM,UAAU,GAAG;IACf,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,uBAAuB,EAAE,CAAC,IAAI,CAAC;IAC/B,sBAAsB,EAAE,CAAC,IAAI,CAAC;IAC9B,uBAAuB,EAAE,CAAC,IAAI,CAAC;IAC/B,WAAW,EAAE,CAAC,IAAI,CAAC;IACnB,SAAS,EAAE,CAAC,IAAI,CAAC;IACjB,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,CAAC,IAAI,CAAC;IACtB,sBAAsB,EAAE,CAAC,IAAI,CAAC;IAC9B,uBAAuB,EAAE,CAAC,IAAI,EAAE;IAChC,mBAAmB,EAAE,CAAC,IAAI,EAAE;IAC5B,uBAAuB,EAAE,CAAC,IAAI,EAAE;CACnC,CAAC;AAGF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,SAAU,SAAQ,OAAO;IAC3B,YAAqB,UAAgC,EAAS,YAAoB;QAC9E,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAsB;QAAS,iBAAY,GAAZ,YAAY,CAAQ;IAElF,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB,EAAE,YAAqB;QACtD,IAAK,CAAC,YAAY,EAAG;YACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACzD;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,MAAwB,CAAC;QAE7B,IAAK,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAG;YAC7C,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;aAAM,IAAK,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAG;YAC7D,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClE;aAAM,IAAK,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAG;YACtD,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7D;aAAM,IAAK,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAG;YACtD,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7D;aAAM,IAAK,4BAA4B,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAG;YAC9D,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC3E;aAAM,IAAK,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAG;YACpD,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SAC5D;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,SAAS,CAAC,EAAC,cAAc,EAAE,MAAM,EAAC,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAClC,CAAC,GAAG,4BAA4B,EAAE,GAAG,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEhC,IAAK,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAG;YAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAA+B,CAAC,CAAC,CAAC;SACnF;aAAM,IAAK,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAG;YAClE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,MAA+B,CAAC,CAAC,CAAC;SAC1F;aAAM,IAAK,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAG;YAC3D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAA+B,CAAC,CAAC,CAAC;SACrF;aAAM,IAAK,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAG;YAC3D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAA+B,CAAC,CAAC,CAAC;SACrF;aAAM,IAAK,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAG;YACnE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAA+B,CAAC,CAAC,CAAC;SACnG;aAAM,IAAK,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAG;YACzD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAA+B,CAAC,CAAC,CAAC;SACpF;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AA7De,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,MAAM,CAAC;AAEvB,eAAK,GAAG,aAAa,CAAC;AA6D1C,eAAe,SAAS,CAAC"}
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
- * // `Magnet On` event at 2023-04-05 13:17:20 GMT
12
- * {id: constants.events.MAGNET_ON, sequenceNumber: 1, data: {seconds: 734015840}}
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: IEventBase;
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
- * // `Magnet On` event at 2023-04-05 13:17:20 GMT
28
- * const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {seconds: 734015840}}
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 title = "NEW_EVENT";
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/directionTypes.js';
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
- * // `Magnet On` event at 2023-04-05 13:17:20 GMT
34
- * const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {seconds: 734015840}}
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.EV_OPTOLOW:
64
- case events.EV_OPTOFLASH:
65
- case events.EV_REJOIN:
66
- eventData = { seconds: buffer.getTime() };
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 = { seconds: buffer.getTime(), deviceId: getDeviceId(buffer) };
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.EV_MTX:
79
- eventData = { status1: buffer.getUint8(), status2: buffer.getUint8() };
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.EV_OPTOLOW:
102
- case events.EV_OPTOFLASH:
103
- case events.EV_REJOIN:
177
+ case events.OPTOLOW:
178
+ case events.OPTOFLASH:
179
+ case events.JOIN_ACCEPT:
104
180
  eventData = data;
105
- buffer.setTime(eventData.seconds);
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.seconds);
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.EV_MTX:
198
+ case events.MTX:
123
199
  eventData = data;
124
- buffer.setUint8(eventData.status1);
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.title = COMMAND_TITLE;
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,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAqDzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,sGAAsG;AACtG,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,UAAU,GAAG,CAAE,MAA2B,EAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtF,MAAM,UAAU,GAAG,CAAE,MAA2B,EAAE,KAAa,EAAS,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE1G,MAAM,WAAW,GAAG,CAAE,MAA2B,EAAW,EAAE;IAC1D,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,EAAE,CAAC,EAAG;QACzC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjC;IAED,OAAO,eAAe,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAE,MAA2B,EAAE,KAAa,EAAS,EAAE;IACvE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAErC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAGF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,QAAS,SAAQ,OAAO;IAC1B,YAAqB,UAA+B;QAChD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAqB;IAEpD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,SAAS,CAAC;QAEd,QAAS,EAAE,EAAG;YACV,KAAK,MAAM,CAAC,SAAS,CAAC;YACtB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,QAAQ,CAAC;YACrB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,OAAO,CAAC;YACpB,KAAK,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,MAAM,CAAC,YAAY,CAAC;YACzB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,YAAY,CAAC;YACzB,KAAK,MAAM,CAAC,SAAS;gBACjB,SAAS,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAe,CAAC;gBACtD,MAAM;YAEV,KAAK,MAAM,CAAC,aAAa;gBACrB,SAAS,GAAG,EAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAuB,CAAC;gBAChE,MAAM;YAEV,KAAK,MAAM,CAAC,YAAY;gBACpB,SAAS,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAsB,CAAC;gBAC5F,MAAM;YAEV,KAAK,MAAM,CAAC,OAAO,CAAC;YACpB,KAAK,MAAM,CAAC,UAAU;gBAClB,SAAS,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAqB,CAAC;gBAC/F,MAAM;YAEV,KAAK,MAAM,CAAC,MAAM;gBACd,SAAS,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAc,CAAC;gBAClF,MAAM;YAEV;gBACI,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;SACxE;QAED,OAAO,IAAI,QAAQ,CAAC,EAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACH,MAAM,EAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC;QAEd,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEhC,QAAS,EAAE,EAAG;YACV,KAAK,MAAM,CAAC,SAAS,CAAC;YACtB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,QAAQ,CAAC;YACrB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,OAAO,CAAC;YACpB,KAAK,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,MAAM,CAAC,YAAY,CAAC;YACzB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,YAAY,CAAC;YACzB,KAAK,MAAM,CAAC,SAAS;gBACjB,SAAS,GAAG,IAAkB,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YAEV,KAAK,MAAM,CAAC,aAAa;gBACrB,SAAS,GAAG,IAA0B,CAAC;gBACvC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM;YAEV,KAAK,MAAM,CAAC,YAAY;gBACpB,SAAS,GAAG,IAAyB,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAClC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM;YAEV,KAAK,MAAM,CAAC,OAAO,CAAC;YACpB,KAAK,MAAM,CAAC,UAAU;gBAClB,SAAS,GAAG,IAAwB,CAAC;gBACrC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM;YAEV,KAAK,MAAM,CAAC,MAAM;gBACd,SAAS,GAAG,IAAiB,CAAC;gBAC9B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM;YAEV;gBACI,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;SAC5E;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAxGe,WAAE,GAAG,UAAU,CAAC;AAEhB,sBAAa,GAAG,MAAM,CAAC;AAEvB,cAAK,GAAG,aAAa,CAAC;AAwG1C,eAAe,QAAQ,CAAC"}
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 title = "NEW_STATUS";
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/directionTypes.js';
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.title = COMMAND_TITLE;
139
+ NewStatus.hasParameters = true;
139
140
  export default NewStatus;
140
141
  //# sourceMappingURL=NewStatus.js.map