jooby-codec 1.7.0 → 1.9.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 (169) hide show
  1. package/dist/BinaryBuffer.d.ts +2 -0
  2. package/dist/BinaryBuffer.js +9 -0
  3. package/dist/BinaryBuffer.js.map +1 -1
  4. package/dist/CommandBinaryBuffer.d.ts +182 -49
  5. package/dist/CommandBinaryBuffer.js +274 -28
  6. package/dist/CommandBinaryBuffer.js.map +1 -1
  7. package/dist/commands/downlink/CorrectTime2000.d.ts +4 -3
  8. package/dist/commands/downlink/CorrectTime2000.js +1 -0
  9. package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
  10. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -4
  11. package/dist/commands/downlink/GetArchiveDaysMC.js +2 -1
  12. package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  13. package/dist/commands/downlink/GetArchiveEvents.d.ts +4 -3
  14. package/dist/commands/downlink/GetArchiveEvents.js +3 -5
  15. package/dist/commands/downlink/GetArchiveEvents.js.map +1 -1
  16. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -4
  17. package/dist/commands/downlink/GetArchiveHoursMC.js +2 -1
  18. package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  19. package/dist/commands/downlink/GetCurrentMC.d.ts +1 -0
  20. package/dist/commands/downlink/GetCurrentMC.js +1 -0
  21. package/dist/commands/downlink/GetCurrentMC.js.map +1 -1
  22. package/dist/commands/downlink/{ExAbsArchiveDaysMC.d.ts → GetExAbsArchiveDaysMC.d.ts} +12 -11
  23. package/dist/commands/downlink/{ExAbsArchiveDaysMC.js → GetExAbsArchiveDaysMC.js} +12 -11
  24. package/dist/commands/downlink/GetExAbsArchiveDaysMC.js.map +1 -0
  25. package/dist/commands/downlink/{ExAbsArchiveHoursMC.d.ts → GetExAbsArchiveHoursMC.d.ts} +12 -11
  26. package/dist/commands/downlink/{ExAbsArchiveHoursMC.js → GetExAbsArchiveHoursMC.js} +12 -11
  27. package/dist/commands/downlink/GetExAbsArchiveHoursMC.js.map +1 -0
  28. package/dist/commands/downlink/{ExAbsCurrentMC.d.ts → GetExAbsCurrentMC.d.ts} +8 -7
  29. package/dist/commands/downlink/{ExAbsCurrentMC.js → GetExAbsCurrentMC.js} +12 -11
  30. package/dist/commands/downlink/GetExAbsCurrentMC.js.map +1 -0
  31. package/dist/commands/downlink/{GetLmicVersion.d.ts → GetLmicInfo.d.ts} +7 -6
  32. package/dist/commands/downlink/{GetLmicVersion.js → GetLmicInfo.js} +12 -11
  33. package/dist/commands/downlink/GetLmicInfo.js.map +1 -0
  34. package/dist/commands/downlink/GetParameter.d.ts +4 -3
  35. package/dist/commands/downlink/GetParameter.js +3 -8
  36. package/dist/commands/downlink/GetParameter.js.map +1 -1
  37. package/dist/commands/downlink/{NewStatus.d.ts → GetStatus.d.ts} +9 -7
  38. package/dist/commands/downlink/{NewStatus.js → GetStatus.js} +18 -10
  39. package/dist/commands/downlink/GetStatus.js.map +1 -0
  40. package/dist/commands/downlink/SetParameter.d.ts +1 -0
  41. package/dist/commands/downlink/SetParameter.js +94 -16
  42. package/dist/commands/downlink/SetParameter.js.map +1 -1
  43. package/dist/commands/downlink/SetTime2000.d.ts +4 -3
  44. package/dist/commands/downlink/SetTime2000.js +1 -0
  45. package/dist/commands/downlink/SetTime2000.js.map +1 -1
  46. package/dist/commands/downlink/SoftRestart.d.ts +1 -0
  47. package/dist/commands/downlink/SoftRestart.js +1 -0
  48. package/dist/commands/downlink/SoftRestart.js.map +1 -1
  49. package/dist/commands/downlink/index.d.ts +5 -5
  50. package/dist/commands/downlink/index.js +5 -5
  51. package/dist/commands/downlink/index.js.map +1 -1
  52. package/dist/commands/uplink/CorrectTime2000Response.d.ts +39 -0
  53. package/dist/commands/uplink/{CorrectTime2000.js → CorrectTime2000Response.js} +23 -14
  54. package/dist/commands/uplink/CorrectTime2000Response.js.map +1 -0
  55. package/dist/commands/uplink/CurrentMC.d.ts +41 -0
  56. package/dist/commands/uplink/{GetCurrentMC.js → CurrentMC.js} +19 -18
  57. package/dist/commands/uplink/CurrentMC.js.map +1 -0
  58. package/dist/commands/uplink/DataDayMC.d.ts +32 -3
  59. package/dist/commands/uplink/DataDayMC.js +47 -4
  60. package/dist/commands/uplink/DataDayMC.js.map +1 -1
  61. package/dist/commands/uplink/DataHourMC.d.ts +32 -2
  62. package/dist/commands/uplink/DataHourMC.js +49 -4
  63. package/dist/commands/uplink/DataHourMC.js.map +1 -1
  64. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +32 -4
  65. package/dist/commands/uplink/ExAbsCurrentMC.js +46 -0
  66. package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
  67. package/dist/commands/uplink/ExAbsDayMC.d.ts +32 -2
  68. package/dist/commands/uplink/ExAbsDayMC.js +50 -2
  69. package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
  70. package/dist/commands/uplink/ExAbsHourMC.d.ts +16 -11
  71. package/dist/commands/uplink/ExAbsHourMC.js +32 -9
  72. package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
  73. package/dist/commands/uplink/GetArchiveDaysMCResponse.d.ts +58 -0
  74. package/dist/commands/uplink/{GetArchiveDaysMC.js → GetArchiveDaysMCResponse.js} +44 -20
  75. package/dist/commands/uplink/GetArchiveDaysMCResponse.js.map +1 -0
  76. package/dist/commands/uplink/GetArchiveEventsResponse.d.ts +54 -0
  77. package/dist/commands/uplink/{GetArchiveEvents.js → GetArchiveEventsResponse.js} +24 -18
  78. package/dist/commands/uplink/GetArchiveEventsResponse.js.map +1 -0
  79. package/dist/commands/uplink/GetArchiveHoursMCResponse.d.ts +58 -0
  80. package/dist/commands/uplink/GetArchiveHoursMCResponse.js +77 -0
  81. package/dist/commands/uplink/GetArchiveHoursMCResponse.js.map +1 -0
  82. package/dist/commands/uplink/GetExAbsArchiveDaysMCResponse.d.ts +47 -0
  83. package/dist/commands/uplink/{ExAbsArchiveDaysMC.js → GetExAbsArchiveDaysMCResponse.js} +52 -7
  84. package/dist/commands/uplink/GetExAbsArchiveDaysMCResponse.js.map +1 -0
  85. package/dist/commands/uplink/GetExAbsArchiveHoursMCResponse.d.ts +44 -0
  86. package/dist/commands/uplink/{ExAbsArchiveHoursMC.js → GetExAbsArchiveHoursMCResponse.js} +46 -7
  87. package/dist/commands/uplink/GetExAbsArchiveHoursMCResponse.js.map +1 -0
  88. package/dist/commands/uplink/GetLmicInfoResponse.d.ts +52 -0
  89. package/dist/commands/uplink/{GetLmicVersion.js → GetLmicInfoResponse.js} +27 -27
  90. package/dist/commands/uplink/GetLmicInfoResponse.js.map +1 -0
  91. package/dist/commands/uplink/GetParameterResponse.d.ts +35 -0
  92. package/dist/commands/uplink/{GetParameter.js → GetParameterResponse.js} +25 -32
  93. package/dist/commands/uplink/GetParameterResponse.js.map +1 -0
  94. package/dist/commands/uplink/LastEvent.d.ts +19 -10
  95. package/dist/commands/uplink/LastEvent.js +21 -12
  96. package/dist/commands/uplink/LastEvent.js.map +1 -1
  97. package/dist/commands/uplink/NewEvent.d.ts +12 -8
  98. package/dist/commands/uplink/NewEvent.js +12 -8
  99. package/dist/commands/uplink/NewEvent.js.map +1 -1
  100. package/dist/commands/uplink/SetTime2000Response.d.ts +38 -0
  101. package/dist/commands/uplink/{SetTime2000.js → SetTime2000Response.js} +23 -15
  102. package/dist/commands/uplink/SetTime2000Response.js.map +1 -0
  103. package/dist/commands/uplink/SoftRestartResponse.d.ts +28 -0
  104. package/dist/commands/uplink/SoftRestartResponse.js +44 -0
  105. package/dist/commands/uplink/SoftRestartResponse.js.map +1 -0
  106. package/dist/commands/uplink/Status.d.ts +55 -0
  107. package/dist/commands/uplink/Status.js +153 -0
  108. package/dist/commands/uplink/Status.js.map +1 -0
  109. package/dist/commands/uplink/Time2000.d.ts +11 -9
  110. package/dist/commands/uplink/Time2000.js +18 -8
  111. package/dist/commands/uplink/Time2000.js.map +1 -1
  112. package/dist/commands/uplink/index.d.ts +12 -12
  113. package/dist/commands/uplink/index.js +12 -12
  114. package/dist/commands/uplink/index.js.map +1 -1
  115. package/dist/constants/deviceParameters.d.ts +26 -12
  116. package/dist/constants/deviceParameters.js +26 -12
  117. package/dist/constants/deviceParameters.js.map +1 -1
  118. package/dist/constants/hardwareTypes.d.ts +55 -27
  119. package/dist/constants/hardwareTypes.js +55 -27
  120. package/dist/constants/hardwareTypes.js.map +1 -1
  121. package/dist/constants/index.d.ts +2 -1
  122. package/dist/constants/index.js +2 -1
  123. package/dist/constants/index.js.map +1 -1
  124. package/dist/constants/rx2SpreadFactors.d.ts +12 -0
  125. package/dist/constants/rx2SpreadFactors.js +13 -0
  126. package/dist/constants/rx2SpreadFactors.js.map +1 -0
  127. package/package.json +5 -1
  128. package/readme.md +33 -16
  129. package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +0 -1
  130. package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +0 -1
  131. package/dist/commands/downlink/ExAbsCurrentMC.js.map +0 -1
  132. package/dist/commands/downlink/GetLmicVersion.js.map +0 -1
  133. package/dist/commands/downlink/NewStatus.js.map +0 -1
  134. package/dist/commands/uplink/CorrectTime2000.d.ts +0 -37
  135. package/dist/commands/uplink/CorrectTime2000.js.map +0 -1
  136. package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +0 -18
  137. package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +0 -1
  138. package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +0 -18
  139. package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +0 -1
  140. package/dist/commands/uplink/GetArchiveDaysMC.d.ts +0 -50
  141. package/dist/commands/uplink/GetArchiveDaysMC.js.map +0 -1
  142. package/dist/commands/uplink/GetArchiveEvents.d.ts +0 -48
  143. package/dist/commands/uplink/GetArchiveEvents.js.map +0 -1
  144. package/dist/commands/uplink/GetArchiveHoursMC.d.ts +0 -69
  145. package/dist/commands/uplink/GetArchiveHoursMC.js +0 -72
  146. package/dist/commands/uplink/GetArchiveHoursMC.js.map +0 -1
  147. package/dist/commands/uplink/GetCurrentMC.d.ts +0 -40
  148. package/dist/commands/uplink/GetCurrentMC.js.map +0 -1
  149. package/dist/commands/uplink/GetLmicVersion.d.ts +0 -46
  150. package/dist/commands/uplink/GetLmicVersion.js.map +0 -1
  151. package/dist/commands/uplink/GetParameter.d.ts +0 -30
  152. package/dist/commands/uplink/GetParameter.js.map +0 -1
  153. package/dist/commands/uplink/NewStatus.d.ts +0 -56
  154. package/dist/commands/uplink/NewStatus.js +0 -141
  155. package/dist/commands/uplink/NewStatus.js.map +0 -1
  156. package/dist/commands/uplink/SetTime2000.d.ts +0 -37
  157. package/dist/commands/uplink/SetTime2000.js.map +0 -1
  158. package/dist/commands/uplink/SoftRestart.d.ts +0 -24
  159. package/dist/commands/uplink/SoftRestart.js +0 -34
  160. package/dist/commands/uplink/SoftRestart.js.map +0 -1
  161. package/dist/constants/general.d.ts +0 -1
  162. package/dist/constants/general.js +0 -2
  163. package/dist/constants/general.js.map +0 -1
  164. package/dist/utils/getBitArrayFromNumber.d.ts +0 -14
  165. package/dist/utils/getBitArrayFromNumber.js +0 -15
  166. package/dist/utils/getBitArrayFromNumber.js.map +0 -1
  167. package/dist/utils/getIntFromBitString.d.ts +0 -6
  168. package/dist/utils/getIntFromBitString.js +0 -6
  169. package/dist/utils/getIntFromBitString.js.map +0 -1
@@ -32,6 +32,8 @@ declare class BinaryBuffer {
32
32
  getInt32(isLittleEndian?: boolean): number;
33
33
  setUint32(value: number, isLittleEndian?: boolean): void;
34
34
  getUint32(isLittleEndian?: boolean): number;
35
+ setFloat32(value: number, isLittleEndian?: boolean): void;
36
+ getFloat32(isLittleEndian?: boolean): number;
35
37
  /**
36
38
  * Get bytes from start to offset.
37
39
  *
@@ -112,6 +112,15 @@ class BinaryBuffer {
112
112
  this.offset += INT32_SIZE;
113
113
  return result;
114
114
  }
115
+ setFloat32(value, isLittleEndian = this.isLittleEndian) {
116
+ createView(this, INT32_SIZE).setFloat32(0, value, isLittleEndian);
117
+ this.offset += INT32_SIZE;
118
+ }
119
+ getFloat32(isLittleEndian = this.isLittleEndian) {
120
+ const result = createView(this, INT32_SIZE).getFloat32(0, isLittleEndian);
121
+ this.offset += INT32_SIZE;
122
+ return result;
123
+ }
115
124
  /**
116
125
  * Get bytes from start to offset.
117
126
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryBuffer.js","sourceRoot":"","sources":["../src/BinaryBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BinaryBuffer.js","sourceRoot":"","sources":["../src/BinaryBuffer.ts"],"names":[],"mappings":"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"}
@@ -2,65 +2,49 @@ import BinaryBuffer from './BinaryBuffer.js';
2
2
  import { TTime2000 } from './utils/time.js';
3
3
  export interface IBatteryVoltage {
4
4
  /**
5
- * battery voltage value at low consumption, in mV;
5
+ * battery voltage value at low consumption, in mV
6
6
  *
7
- * 4095 === undefined
7
+ * `4095` - unknown value and becomes `undefined`
8
8
  */
9
9
  low: number | undefined;
10
10
  /**
11
- * battery voltage value at hight consumption, in mV;
11
+ * battery voltage value at hight consumption, in mV
12
12
  *
13
- * 4095 === undefined
13
+ * `4095` - unknown value and becomes `undefined`
14
14
  */
15
15
  high: number | undefined;
16
16
  }
17
17
  export interface IChannel {
18
- /**
19
- * Channel number.
20
- */
18
+ /** channel number */
21
19
  index: number;
22
20
  }
23
21
  export interface IChannelValue extends IChannel {
24
- /**
25
- * Pulse counter or absolute value of device channel.
26
- */
22
+ /** pulse counter or absolute value of device channel */
27
23
  value: number;
28
24
  }
29
25
  export interface IChannelHours extends IChannelValue {
30
- /**
31
- * values differences between hours
32
- */
26
+ /** values differences between hours */
33
27
  diff: Array<number>;
34
28
  }
35
29
  export interface IChannelHourAbsoluteValue extends IChannelHours {
36
- /**
37
- * Channel pulse coefficient - IPK in bytes.
38
- */
30
+ /** channel pulse coefficient - IPK in bytes */
39
31
  pulseCoefficient: number;
40
32
  }
41
33
  export interface IChannelDays extends IChannel {
42
34
  dayList: Array<number>;
43
35
  }
44
36
  export interface IChannelAbsoluteValue extends IChannelValue {
45
- /**
46
- * Channel pulse coefficient - IPK in bytes.
47
- */
37
+ /** channel pulse coefficient - IPK in bytes */
48
38
  pulseCoefficient: number;
49
39
  }
50
40
  export interface IChannelArchiveDaysAbsolute extends IChannel {
51
- /**
52
- * values by days
53
- */
41
+ /** values by days */
54
42
  dayList: Array<number>;
55
- /**
56
- * Channel pulse coefficient - IPK in bytes.
57
- */
43
+ /** Channel pulse coefficient - IPK in bytes */
58
44
  pulseCoefficient: number;
59
45
  }
60
46
  export interface IChannelArchiveDays extends IChannel {
61
- /**
62
- * values by days
63
- */
47
+ /** values by days */
64
48
  dayList: Array<number>;
65
49
  }
66
50
  export interface IEventGasStatus {
@@ -87,12 +71,6 @@ export interface IEventElimpStatus {
87
71
  /** the device has detected a loss of connection to the server */
88
72
  isConnectionLost?: boolean;
89
73
  }
90
- export interface IEventWaterStatus {
91
- /** the battery voltage has dropped below the set threshold */
92
- isBatteryLow?: boolean;
93
- /** the device has detected a loss of connection to the server */
94
- isConnectionLost?: boolean;
95
- }
96
74
  export interface IEvent4ChannelStatus {
97
75
  /** the battery voltage has dropped below the set threshold */
98
76
  isBatteryLow?: boolean;
@@ -136,40 +114,169 @@ export interface IEventMtxStatus {
136
114
  isNewTariffPlanReceived?: boolean;
137
115
  }
138
116
  /**
139
- * Initial values for pulse devices.
117
+ * Device send data periodically using this interval.
118
+ * deviceParameters.DATA_SENDING_INTERVAL = `1`.
140
119
  */
141
- interface IParameterInitialData {
120
+ interface IParameterDataSendingInterval {
142
121
  /**
143
- * 4 byte int BE
122
+ * Minimal interval for data sending from device (in seconds).
123
+ * Real value = value + pseudo-random value which is not more than `255` * `4`.
144
124
  */
145
125
  value: number;
126
+ }
127
+ /**
128
+ * The parameter defines the hour of the day by which the daily consumption is calculated.
129
+ * deviceParameters.DAY_CHECKOUT_HOUR = `4`.
130
+ */
131
+ interface IParameterDayCheckoutHour {
132
+ value: number;
133
+ }
134
+ /**
135
+ * Type of data from device.
136
+ * deviceParameters.OUTPUT_DATA_TYPE = `5`.
137
+ */
138
+ interface IParameterOutputDataType {
146
139
  /**
147
- * 4 byte int BE
140
+ * `0` - hour, by default
141
+ * `1` - day
142
+ * `2` - current
143
+ * `3` - hour + day
148
144
  */
149
- meterValue: number;
150
- pulseCoefficient: number;
145
+ type: number;
151
146
  }
152
- interface IParameterInitialDataMC extends IParameterInitialData {
147
+ /**
148
+ * Delivery type of priority data, with or without acknowledgment.
149
+ * Priority data - frames from uplink/NewEvent command.
150
+ * deviceParameters.DELIVERY_TYPE_OF_PRIORITY_DATA = `8`.
151
+ */
152
+ interface IParameterDeliveryTypeOfPriorityData {
153
153
  /**
154
- * Channel that accept initial values.
154
+ * `0` - delivery with confirmation
155
+ * `1` - delivery without confirmation
155
156
  */
156
- channel: number;
157
+ value: number;
158
+ }
159
+ /**
160
+ * Device activation method in LoRaWAN network.
161
+ * deviceParameters.ACTIVATION_METHOD = `9`.
162
+ */
163
+ interface IParameterActivationMethod {
164
+ /**
165
+ * `0` - OTAA, by default
166
+ * `1` - ABP
167
+ *
168
+ * @see https://www.thethingsindustries.com/docs/devices/abp-vs-otaa/
169
+ */
170
+ type: number;
157
171
  }
172
+ /**
173
+ * RX2 configuration.
174
+ * deviceParameters.RX2_CONFIG = `18`.
175
+ *
176
+ * @see https://www.thethingsindustries.com/docs/reference/glossary/
177
+ */
178
+ interface IParameterRx2Config {
179
+ /**
180
+ * The transmission speed or Data Rate of a LoRaWAN message, ranging from `SF7` (highest Data Rate) to `SF12` (lowest Data Rate).
181
+ * Making the spreading factor `1` step lower (from `SF10` to `SF9`) allows you to roughly send the same amount of data use half the time on air.
182
+ * Lowering the spreading factor makes it more difficult for the gateway to receive a transmission, as it will be more sensitive to noise.
183
+ *
184
+ * `0` - delivery with confirmation
185
+ * `1` - delivery without confirmation
186
+ *
187
+ * @see https://www.thethingsnetwork.org/docs/lorawan/spreading-factors/
188
+ */
189
+ spreadFactor: number;
190
+ /**
191
+ * RX2 data rate frequency.
192
+ * The second receive window (RX2) uses a fixed frequency and data rate.
193
+ * This value configures the frequency to use in RX2.
194
+ * Changing the desired value makes the Network Server transmit the RXParamSetupReq MAC command.
195
+ */
196
+ frequency: number;
197
+ }
198
+ /**
199
+ * Device battery depassivation information.
200
+ * deviceParameters.BATTERY_DEPASSIVATION_INFO = `10`.
201
+ */
202
+ interface IParameterBatteryDepassivationInfo {
203
+ /** battery load time in milliseconds */
204
+ loadTime: number;
205
+ /** battery internal resistance, in mΩ */
206
+ internalResistance: number;
207
+ /** battery low voltage, in mV */
208
+ lowVoltage: number;
209
+ }
210
+ /**
211
+ * Device battery minimum required battery load time per day to prevent passivation.
212
+ * deviceParameters.BATTERY_MINIMAL_LOAD_TIME = `11`.
213
+ */
214
+ interface IParameterBatteryMinimalLoadTime {
215
+ value: number;
216
+ }
217
+ /**
218
+ * Initial values for pulse devices.
219
+ * deviceParameters.INITIAL_DATA = `23`.
220
+ */
221
+ interface IParameterInitialData {
222
+ /** 4 byte int BE */
223
+ value: number;
224
+ /** 4 byte int BE */
225
+ meterValue: number;
226
+ pulseCoefficient: number;
227
+ }
228
+ /**
229
+ * Data type sending from device - absolute or not.
230
+ * deviceParameters.ABSOLUTE_DATA_STATUS = `24`
231
+ */
158
232
  interface IParameterAbsoluteDataStatus {
233
+ /**
234
+ * `1` - absolute data sending enabled
235
+ * `0` - disabled, device send pulse counter
236
+ */
159
237
  status: number;
160
238
  }
161
- interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
239
+ /**
240
+ * Device serial number.
241
+ * deviceParameters.SERIAL_NUMBER = `25`
242
+ */
243
+ interface IParameterSerialNumber {
162
244
  /**
163
- * Channel that accept status changing.
245
+ * hex string, 6 bytes
164
246
  */
247
+ value: string;
248
+ }
249
+ /**
250
+ * Device geolocation.
251
+ * deviceParameters.GEOLOCATION = `26`
252
+ */
253
+ interface IParameterGeolocation {
254
+ latitude: number;
255
+ longitude: number;
256
+ attitude: number;
257
+ }
258
+ /**
259
+ * Initial values for multi-channel devices.
260
+ * deviceParameters.INITIAL_DATA_MULTI_CHANNEL = `29`.
261
+ */
262
+ interface IParameterInitialDataMC extends IParameterInitialData {
263
+ /** channel that accept initial values */
264
+ channel: number;
265
+ }
266
+ /**
267
+ * Data type sending from device - absolute or not, multi-channel devices.
268
+ * deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL = `30`
269
+ */
270
+ interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
271
+ /** channel that accept status changing */
165
272
  channel: number;
166
273
  }
167
274
  export interface IParameter {
168
275
  id: number;
169
276
  data: TParameterData;
170
277
  }
171
- export type TEventStatus = IEventGasStatus | IEvent2ChannelStatus | IEventElimpStatus | IEventWaterStatus | IEvent4ChannelStatus | IEventMtxStatus;
172
- type TParameterData = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus | IParameterAbsoluteDataStatusMC;
278
+ export type TEventStatus = IEventGasStatus | IEvent2ChannelStatus | IEventElimpStatus | IEvent4ChannelStatus | IEventMtxStatus;
279
+ type TParameterData = IParameterDataSendingInterval | IParameterOutputDataType | IParameterDayCheckoutHour | IParameterDeliveryTypeOfPriorityData | IParameterActivationMethod | IParameterBatteryDepassivationInfo | IParameterBatteryMinimalLoadTime | IParameterRx2Config | IParameterInitialData | IParameterAbsoluteDataStatus | IParameterSerialNumber | IParameterGeolocation | IParameterInitialDataMC | IParameterAbsoluteDataStatusMC;
173
280
  /**
174
281
  * Command specific byte array manipulation.
175
282
  */
@@ -188,6 +295,10 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
188
295
  */
189
296
  static getExtendedValueSize(bits: number): number;
190
297
  static getParameterSize(parameter: IParameter): number;
298
+ setInt12(value: number, isLittleEndian?: boolean): void;
299
+ getInt12(isLittleEndian?: boolean): number;
300
+ setUint12(value: number, isLittleEndian?: boolean): void;
301
+ getUint12(isLittleEndian?: boolean): number;
191
302
  getExtendedValue(): number;
192
303
  setExtendedValue(value: number): void;
193
304
  /**
@@ -225,8 +336,8 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
225
336
  setHours(hour: number, hours: number): void;
226
337
  getTime(): TTime2000;
227
338
  setTime(value: TTime2000): void;
228
- getBatterVoltage(): IBatteryVoltage;
229
- setBatterVoltage(batteryVoltage: IBatteryVoltage): void;
339
+ getBatteryVoltage(): IBatteryVoltage;
340
+ setBatteryVoltage(batteryVoltage: IBatteryVoltage): void;
230
341
  getChannelsValuesWithHourDiff(): {
231
342
  hours: number;
232
343
  startTime: TTime2000;
@@ -248,6 +359,28 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
248
359
  private setParameterAbsoluteDataStatus;
249
360
  private getParameterAbsoluteDataStatusMC;
250
361
  private setParameterAbsoluteDataStatusMC;
362
+ private getParameterActivationMethod;
363
+ private setParameterActivationMethod;
364
+ private getOutputDataType;
365
+ private setOutputDataType;
366
+ private getParameterDayCheckoutHour;
367
+ private setParameterDayCheckoutHour;
368
+ private getParameterDataSendingInterval;
369
+ private setParameterDataSendingInterval;
370
+ private getParameterDeliveryTypeOfPriorityData;
371
+ private setParameterDeliveryTypeOfPriorityData;
372
+ private getParameterRx2Config;
373
+ private setParameterRx2Config;
374
+ private getParameterExtraFrameInterval;
375
+ private setParameterExtraFrameInterval;
376
+ private getParameterBatteryDepassivationInfo;
377
+ private setParameterBatteryDepassivationInfo;
378
+ private getParameterBatteryMinimalLoadTime;
379
+ private setParameterBatteryMinimalLoadTime;
380
+ private getParameterSerialNumber;
381
+ private setParameterSerialNumber;
382
+ private getParameterGeolocation;
383
+ private setParameterGeolocation;
251
384
  getParameter(): IParameter;
252
385
  setParameter(parameter: IParameter): void;
253
386
  }