queclink-parser 1.9.28 → 1.9.31

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/src/gv350ceu.js CHANGED
@@ -23,18 +23,18 @@ const parse = raw => {
23
23
  imei: parsedData[2],
24
24
  protocolVersion: utils.getProtocolVersion(parsedData[1]),
25
25
  temperature: null,
26
- history: history,
26
+ history,
27
27
  sentTime: utils.parseDate(parsedData[parsedData.length - 2]),
28
28
  serialId: parseInt(parsedData[parsedData.length - 1], 16)
29
29
  }
30
30
  // Gps
31
31
  if (command[1] === 'GTFRI') {
32
32
  try {
33
- let number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
34
- let satelliteInfo = utils.includeSatellites(parsedData[18])
35
- let gnnsTriggerType = utils.includeGnssTrigger(parsedData[18])
36
- let jammingSate = utils.includeJammingSate(parsedData[18])
37
- let index =
33
+ const number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
34
+ const satelliteInfo = utils.includeSatellites(parsedData[18])
35
+ const gnnsTriggerType = utils.includeGnssTrigger(parsedData[18])
36
+ const jammingSate = utils.includeJammingSate(parsedData[18])
37
+ const index =
38
38
  6 + (12 + satelliteInfo + gnnsTriggerType + jammingSate) * number
39
39
 
40
40
  data = Object.assign(data, {
@@ -53,28 +53,28 @@ const parse = raw => {
53
53
  raw: parsedData[index + 7],
54
54
  sos: false,
55
55
  input: {
56
- '1':
56
+ 1:
57
57
  utils.nHexDigit(
58
58
  utils.hex2bin(
59
59
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
60
60
  ),
61
61
  4
62
62
  )[3] === '1',
63
- '2':
63
+ 2:
64
64
  utils.nHexDigit(
65
65
  utils.hex2bin(
66
66
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
67
67
  ),
68
68
  4
69
69
  )[2] === '1',
70
- '3':
70
+ 3:
71
71
  utils.nHexDigit(
72
72
  utils.hex2bin(
73
73
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
74
74
  ),
75
75
  4
76
76
  )[1] === '1',
77
- '4':
77
+ 4:
78
78
  utils.nHexDigit(
79
79
  utils.hex2bin(
80
80
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
@@ -83,21 +83,21 @@ const parse = raw => {
83
83
  )[0] === '1'
84
84
  },
85
85
  output: {
86
- '1':
86
+ 1:
87
87
  utils.nHexDigit(
88
88
  utils.hex2bin(
89
89
  utils.nHexDigit(parsedData[index + 7], 10).substring(8, 10)
90
90
  ),
91
91
  3
92
92
  )[2] === '1',
93
- '2':
93
+ 2:
94
94
  utils.nHexDigit(
95
95
  utils.hex2bin(
96
96
  utils.nHexDigit(parsedData[index + 7], 10).substring(8, 10)
97
97
  ),
98
98
  3
99
99
  )[1] === '1',
100
- '3':
100
+ 3:
101
101
  utils.nHexDigit(
102
102
  utils.hex2bin(
103
103
  utils.nHexDigit(parsedData[index + 7], 10).substring(8, 10)
@@ -109,8 +109,8 @@ const parse = raw => {
109
109
  state:
110
110
  utils.nHexDigit(parsedData[index + 7], 10).substring(4, 6) !== ''
111
111
  ? utils.states[ // eslint-disable-line
112
- utils.nHexDigit(parsedData[index + 7], 10).substring(4, 6)
113
- ]
112
+ utils.nHexDigit(parsedData[index + 7], 10).substring(4, 6)
113
+ ]
114
114
  : null
115
115
  },
116
116
  azimuth: parsedData[9] !== '' ? parseFloat(parsedData[9]) : null,
@@ -153,18 +153,18 @@ const parse = raw => {
153
153
  index - (satelliteInfo + gnnsTriggerType + jammingSate) + 1
154
154
  ] !== ''
155
155
  ? parseInt(
156
- parsedData[
157
- index - (satelliteInfo + gnnsTriggerType + jammingSate) + 1
158
- ],
159
- 10
160
- )
156
+ parsedData[
157
+ index - (satelliteInfo + gnnsTriggerType + jammingSate) + 1
158
+ ],
159
+ 10
160
+ )
161
161
  : null,
162
162
  triggerType:
163
163
  gnnsTriggerType &&
164
164
  parsedData[index - (jammingSate + gnnsTriggerType) + 1] !== ''
165
165
  ? utils.gnssTriggerTypes[
166
- parsedData[index - (jammingSate + gnnsTriggerType) + 1]
167
- ]
166
+ parsedData[index - (jammingSate + gnnsTriggerType) + 1]
167
+ ]
168
168
  : null,
169
169
  jammingSate:
170
170
  jammingSate && parsedData[index - jammingSate + 1] !== ''
@@ -182,9 +182,9 @@ const parse = raw => {
182
182
 
183
183
  // More than 1 GNSS report in data
184
184
  if (number > 1) {
185
- let moreData = []
185
+ const moreData = []
186
186
  for (let i = 1; i < number; i++) {
187
- let gnssIx =
187
+ const gnssIx =
188
188
  7 + (12 + satelliteInfo + gnnsTriggerType + jammingSate) * i
189
189
  moreData.push({
190
190
  index: i,
@@ -244,8 +244,8 @@ const parse = raw => {
244
244
  gnnsTriggerType &&
245
245
  parsedData[gnssIx + (jammingSate + gnnsTriggerType) + 1] !== ''
246
246
  ? utils.gnssTriggerTypes[
247
- parsedData[gnssIx + (jammingSate + gnnsTriggerType) + 1]
248
- ]
247
+ parsedData[gnssIx + (jammingSate + gnnsTriggerType) + 1]
248
+ ]
249
249
  : null,
250
250
  jammingSate:
251
251
  jammingSate && parsedData[gnssIx + jammingSate + 1] !== ''
@@ -254,17 +254,17 @@ const parse = raw => {
254
254
  })
255
255
  }
256
256
 
257
- data = Object.assign(data, { moreData: moreData })
257
+ data = Object.assign(data, { moreData })
258
258
  }
259
259
  } catch (err) {
260
260
  return { type: 'UNKNOWN', raw: data.raw.toString() }
261
261
  }
262
262
  } else if (command[1] === 'GTERI') {
263
263
  // GPS with AC100 and/or Bluetoth Devices Connected
264
- let number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
265
- let satelliteInfo = utils.includeSatellites(parsedData[18])
266
- let gnnsTriggerType = utils.includeGnssTrigger(parsedData[18])
267
- let jammingSate = utils.includeJammingSate(parsedData[18])
264
+ const number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
265
+ const satelliteInfo = utils.includeSatellites(parsedData[18])
266
+ const gnnsTriggerType = utils.includeGnssTrigger(parsedData[18])
267
+ const jammingSate = utils.includeJammingSate(parsedData[18])
268
268
  let index =
269
269
  7 + (12 + satelliteInfo + gnnsTriggerType + jammingSate) * number
270
270
 
@@ -297,28 +297,28 @@ const parse = raw => {
297
297
  raw: parsedData[index + 7],
298
298
  sos: false,
299
299
  input: {
300
- '1':
300
+ 1:
301
301
  utils.nHexDigit(
302
302
  utils.hex2bin(
303
303
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
304
304
  ),
305
305
  4
306
306
  )[3] === '1',
307
- '2':
307
+ 2:
308
308
  utils.nHexDigit(
309
309
  utils.hex2bin(
310
310
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
311
311
  ),
312
312
  4
313
313
  )[2] === '1',
314
- '3':
314
+ 3:
315
315
  utils.nHexDigit(
316
316
  utils.hex2bin(
317
317
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
318
318
  ),
319
319
  4
320
320
  )[1] === '1',
321
- '4':
321
+ 4:
322
322
  utils.nHexDigit(
323
323
  utils.hex2bin(
324
324
  utils.nHexDigit(parsedData[index + 7], 10).substring(6, 8)
@@ -327,21 +327,21 @@ const parse = raw => {
327
327
  )[0] === '1'
328
328
  },
329
329
  output: {
330
- '1':
330
+ 1:
331
331
  utils.nHexDigit(
332
332
  utils.hex2bin(
333
333
  utils.nHexDigit(parsedData[index + 7], 10).substring(8, 10)
334
334
  ),
335
335
  3
336
336
  )[2] === '1',
337
- '2':
337
+ 2:
338
338
  utils.nHexDigit(
339
339
  utils.hex2bin(
340
340
  utils.nHexDigit(parsedData[index + 7], 10).substring(8, 10)
341
341
  ),
342
342
  3
343
343
  )[1] === '1',
344
- '3':
344
+ 3:
345
345
  utils.nHexDigit(
346
346
  utils.hex2bin(
347
347
  utils.nHexDigit(parsedData[index + 7], 10).substring(8, 10)
@@ -353,8 +353,8 @@ const parse = raw => {
353
353
  state:
354
354
  utils.nHexDigit(parsedData[index + 7], 10).substring(4, 6) !== ''
355
355
  ? utils.states[ // eslint-disable-line
356
- utils.nHexDigit(parsedData[index + 7], 10).substring(4, 6)
357
- ]
356
+ utils.nHexDigit(parsedData[index + 7], 10).substring(4, 6)
357
+ ]
358
358
  : null
359
359
  },
360
360
  azimuth: parsedData[10] !== '' ? parseFloat(parsedData[10]) : null,
@@ -396,17 +396,17 @@ const parse = raw => {
396
396
  index - (satelliteInfo + gnnsTriggerType + jammingSate) + 1
397
397
  ] !== ''
398
398
  ? parseInt(
399
- parsedData[
400
- index - (satelliteInfo + gnnsTriggerType + jammingSate) + 1
401
- ]
402
- )
399
+ parsedData[
400
+ index - (satelliteInfo + gnnsTriggerType + jammingSate) + 1
401
+ ]
402
+ )
403
403
  : null,
404
404
  triggerType:
405
405
  gnnsTriggerType &&
406
406
  parsedData[index - (jammingSate + gnnsTriggerType) + 1] !== ''
407
407
  ? utils.gnssTriggerTypes[
408
- parsedData[index - (jammingSate + gnnsTriggerType) + 1]
409
- ]
408
+ parsedData[index - (jammingSate + gnnsTriggerType) + 1]
409
+ ]
410
410
  : null,
411
411
  jammingSate:
412
412
  jammingSate && parsedData[index - jammingSate + 1] !== ''
@@ -424,7 +424,9 @@ const parse = raw => {
424
424
  const ac100DevicesConnected =
425
425
  AC100 && digitFuelSensor
426
426
  ? parseInt(parsedData[index + 10], 10)
427
- : AC100 && !digitFuelSensor ? parseInt(parsedData[index + 9], 10) : 0
427
+ : AC100 && !digitFuelSensor
428
+ ? parseInt(parsedData[index + 9], 10)
429
+ : 0
428
430
  // Review when RF433 devices are implemented
429
431
  // eslint-disable-next-line no-unused-vars
430
432
  const rf433DevicesConnected =
@@ -433,12 +435,12 @@ const parse = raw => {
433
435
  let externalData = {
434
436
  eriMask: {
435
437
  raw: parsedData[4],
436
- digitFuelSensor: digitFuelSensor,
437
- AC100: AC100,
438
- canData: canData,
439
- fuelLevelPercentage: fuelLevelPercentage,
440
- fuelVolume: fuelVolume,
441
- bluetoothAccessory: bluetoothAccessory
438
+ digitFuelSensor,
439
+ AC100,
440
+ canData,
441
+ fuelLevelPercentage,
442
+ fuelVolume,
443
+ bluetoothAccessory
442
444
  },
443
445
  uartDeviceType:
444
446
  parsedData[index + 8] !== ''
@@ -461,17 +463,17 @@ const parse = raw => {
461
463
  fuelVolume && fuelLevelPercentage && parsedData[index + 12] !== ''
462
464
  ? parseInt(parsedData[index + 13], 10)
463
465
  : fuelVolume &&
464
- !fuelLevelPercentage &&
465
- parsedData[index + 12] !== ''
466
+ !fuelLevelPercentage &&
467
+ parsedData[index + 12] !== ''
466
468
  ? parseInt(parsedData[index + 12], 10)
467
469
  : null
468
470
  },
469
471
  AC100Devices: null
470
472
  })
471
473
  } else if (!digitFuelSensor && AC100) {
472
- let ac100Devices = []
474
+ const ac100Devices = []
473
475
  let count = index + 11
474
- for (var i = 0; i < ac100DevicesConnected; i++) {
476
+ for (let i = 0; i < ac100DevicesConnected; i++) {
475
477
  ac100Devices.push({
476
478
  deviceNumber: parsedData[count],
477
479
  deviceType: parsedData[count + 1],
@@ -487,12 +489,14 @@ const parse = raw => {
487
489
  AC100Devices: ac100Devices
488
490
  })
489
491
  } else if (digitFuelSensor && AC100) {
490
- let ac100Devices = []
492
+ const ac100Devices = []
491
493
  let count =
492
494
  fuelVolume && fuelLevelPercentage
493
495
  ? 33
494
- : fuelVolume && !fuelLevelPercentage ? index + 13 : index + 12
495
- for (var j = 0; j < ac100DevicesConnected; j++) {
496
+ : fuelVolume && !fuelLevelPercentage
497
+ ? index + 13
498
+ : index + 12
499
+ for (let j = 0; j < ac100DevicesConnected; j++) {
496
500
  ac100Devices.push({
497
501
  deviceNumber: parsedData[count],
498
502
  deviceType: parsedData[count + 1],
@@ -514,8 +518,8 @@ const parse = raw => {
514
518
  fuelVolume && fuelLevelPercentage && parsedData[index + 13] !== ''
515
519
  ? parseInt(parsedData[index + 13], 10)
516
520
  : fuelVolume &&
517
- !fuelLevelPercentage &&
518
- parsedData[index + 12] !== ''
521
+ !fuelLevelPercentage &&
522
+ parsedData[index + 12] !== ''
519
523
  ? parseInt(parsedData[index + 12], 10)
520
524
  : null
521
525
  },
@@ -525,9 +529,9 @@ const parse = raw => {
525
529
  } else if (parsedData[index + 8] === '2') {
526
530
  // AC100 1 Wire Bus
527
531
  if (!digitFuelSensor && AC100) {
528
- let ac100Devices = []
532
+ const ac100Devices = []
529
533
  let count = index + 10
530
- for (var k = 0; k < ac100DevicesConnected; k++) {
534
+ for (let k = 0; k < ac100DevicesConnected; k++) {
531
535
  ac100Devices.push({
532
536
  deviceNumber: parsedData[count],
533
537
  deviceType: parsedData[count + 1],
@@ -552,9 +556,9 @@ const parse = raw => {
552
556
  AC100Devices: null
553
557
  })
554
558
  } else if (digitFuelSensor && AC100) {
555
- let ac100Devices = []
559
+ const ac100Devices = []
556
560
  let count = index + 12
557
- for (var l = 0; l < ac100DevicesConnected; l++) {
561
+ for (let l = 0; l < ac100DevicesConnected; l++) {
558
562
  ac100Devices.push({
559
563
  deviceNumber: parsedData[count],
560
564
  deviceType: parsedData[count + 1],
@@ -598,16 +602,18 @@ const parse = raw => {
598
602
  }
599
603
 
600
604
  if (canData) {
601
- let newIndex =
605
+ const newIndex =
602
606
  digitFuelSensor && !AC100
603
607
  ? index + 9 + 1
604
608
  : !digitFuelSensor && AC100
605
609
  ? index + 9 + 4
606
- : digitFuelSensor && AC100 ? index + 9 + 5 : index + 9
607
- let parsedCanData = utils.getCanData(parsedData, newIndex, command[1], {
610
+ : digitFuelSensor && AC100
611
+ ? index + 9 + 5
612
+ : index + 9
613
+ const parsedCanData = utils.getCanData(parsedData, newIndex, command[1], {
608
614
  deviceType: 'GV350CEU'
609
615
  })
610
- let canInfo = parsedCanData[3]
616
+ const canInfo = parsedCanData[3]
611
617
  index = parsedCanData[0]
612
618
  if (Object.keys(canInfo).length > 0) {
613
619
  data = Object.assign(data, { can: canInfo })
@@ -635,23 +641,23 @@ const parse = raw => {
635
641
  // Bluetooth Accessories
636
642
  if (bluetoothAccessory) {
637
643
  // let btIndex = digitFuelSensor ? index + 1 : index
638
- let btIndex = canData ? index : index + 9
639
- let btDevices = utils.getBleData(parsedData, btIndex)
644
+ const btIndex = canData ? index : index + 9
645
+ const btDevices = utils.getBleData(parsedData, btIndex)
640
646
  externalData = Object.assign(externalData, {
641
- btDevices: btDevices
647
+ btDevices
642
648
  })
643
649
  }
644
650
 
645
651
  data = Object.assign(data, {
646
- externalData: externalData
652
+ externalData
647
653
  })
648
654
 
649
655
  // More than 1 GNSS report in data
650
656
  if (number > 1) {
651
- let moreData = []
657
+ const moreData = []
652
658
  const optionalLen = satelliteInfo + gnnsTriggerType + jammingSate
653
659
  for (let i = 1; i < number; i++) {
654
- let gnssIx = 7 + (12 + optionalLen) * i
660
+ const gnssIx = 7 + (12 + optionalLen) * i
655
661
  moreData.push({
656
662
  index: i,
657
663
  loc: {
@@ -711,13 +717,13 @@ const parse = raw => {
711
717
  jammingSate &&
712
718
  parsedData[gnssIx + 12 + satelliteInfo + gnnsTriggerType] !== ''
713
719
  ? utils.jammingSateTypes[
714
- parsedData[gnssIx + 12 + satelliteInfo + gnnsTriggerType]
715
- ]
720
+ parsedData[gnssIx + 12 + satelliteInfo + gnnsTriggerType]
721
+ ]
716
722
  : null
717
723
  })
718
724
  }
719
725
 
720
- data = Object.assign(data, { moreData: moreData })
726
+ data = Object.assign(data, { moreData })
721
727
  }
722
728
  } else if (command[1] === 'GTHBD') {
723
729
  // Heartbeat. It must response an ACK command
@@ -737,16 +743,16 @@ const parse = raw => {
737
743
  RSSI_quality:
738
744
  parsedData[10] !== ''
739
745
  ? utils.getSignalStrength(
740
- utils.networkTypes[parsedData[10]],
741
- parseInt(parsedData[6], 10)
742
- )
746
+ utils.networkTypes[parsedData[10]],
747
+ parseInt(parsedData[6], 10)
748
+ )
743
749
  : null, // Signal Strength
744
750
  RSSI_percentage:
745
751
  parsedData[10] !== ''
746
752
  ? utils.getSignalPercentage(
747
- utils.networkTypes[parsedData[10]],
748
- parseInt(parsedData[6], 10)
749
- )
753
+ utils.networkTypes[parsedData[10]],
754
+ parseInt(parsedData[6], 10)
755
+ )
750
756
  : null, // Signal Percetange
751
757
  GSM_quality:
752
758
  parsedData[7] !== ''
@@ -763,16 +769,16 @@ const parse = raw => {
763
769
  raw: parsedData[18] + parsedData[19] + parsedData[20],
764
770
  sos: false,
765
771
  input: {
766
- '4': utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[0] === '1',
767
- '3': utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[1] === '1',
768
- '2': utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[2] === '1',
769
- '1': utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[3] === '1'
772
+ 4: utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[0] === '1',
773
+ 3: utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[1] === '1',
774
+ 2: utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[2] === '1',
775
+ 1: utils.nHexDigit(utils.hex2bin(parsedData[21][1]), 4)[3] === '1'
770
776
  },
771
777
  output: {
772
- '4': utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[0] === '1',
773
- '3': utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[1] === '1',
774
- '2': utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[2] === '1',
775
- '1': utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[3] === '1'
778
+ 4: utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[0] === '1',
779
+ 3: utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[1] === '1',
780
+ 2: utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[2] === '1',
781
+ 1: utils.nHexDigit(utils.hex2bin(parsedData[22][1]), 4)[3] === '1'
776
782
  },
777
783
  charge: parsedData[12] === '1'
778
784
  },
@@ -804,15 +810,15 @@ const parse = raw => {
804
810
  command[1] === 'GTHBM'
805
811
  ) {
806
812
  // Common Alarms
807
- let number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
808
- let posAppendMask = parsedData[18]
813
+ const number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
814
+ const posAppendMask = parsedData[18]
809
815
  ? utils.nHexDigit(utils.hex2bin(parsedData[18]), 8)
810
816
  : null
811
817
 
812
818
  // If get satellites is configured
813
- let satelliteInfo = posAppendMask && posAppendMask[7] === '1' ? 1 : 0
814
- let jammingSate = posAppendMask && posAppendMask[3] === '1' ? 1 : 0
815
- let index = 6 + (12 + satelliteInfo + jammingSate) * number
819
+ const satelliteInfo = posAppendMask && posAppendMask[7] === '1' ? 1 : 0
820
+ const jammingSate = posAppendMask && posAppendMask[3] === '1' ? 1 : 0
821
+ const index = 6 + (12 + satelliteInfo + jammingSate) * number
816
822
 
817
823
  data = Object.assign(data, {
818
824
  alarm: utils.getAlarm(command[1], parsedData[5], 'gv310lau'),
@@ -865,15 +871,17 @@ const parse = raw => {
865
871
  lastSpeedStateDuration:
866
872
  parseInt(parsedData[4], 10) === 2
867
873
  ? parsedData[index + 2]
868
- : parseInt(parsedData[4], 10) === 3 ? parsedData[index + 3] : null,
874
+ : parseInt(parsedData[4], 10) === 3
875
+ ? parsedData[index + 3]
876
+ : null,
869
877
  hourmeter: null
870
878
  })
871
879
  } else if (command[1] === 'GTEPS' || command[1] === 'GTAIS') {
872
880
  // External low battery and voltage for analog input
873
- let number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
874
- let satelliteInfo = utils.includeSatellites(parsedData[18])
875
- let jammingSate = utils.includeJammingSate(parsedData[18])
876
- let index = 6 + (12 + satelliteInfo + jammingSate) * number // position append mask
881
+ const number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
882
+ const satelliteInfo = utils.includeSatellites(parsedData[18])
883
+ const jammingSate = utils.includeJammingSate(parsedData[18])
884
+ const index = 6 + (12 + satelliteInfo + jammingSate) * number // position append mask
877
885
 
878
886
  data = Object.assign(data, {
879
887
  alarm: utils.getAlarm(command[1], parsedData[5]),
@@ -923,10 +931,10 @@ const parse = raw => {
923
931
  })
924
932
  } else if (command[1] === 'GTTMP') {
925
933
  // Temperature Alarm
926
- let number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
927
- let satelliteInfo = utils.includeSatellites(parsedData[19])
928
- let jammingSate = utils.includeJammingSate(parsedData[19])
929
- let index = 7 + (12 + satelliteInfo + jammingSate) * number // position append mask
934
+ const number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
935
+ const satelliteInfo = utils.includeSatellites(parsedData[19])
936
+ const jammingSate = utils.includeJammingSate(parsedData[19])
937
+ const index = 7 + (12 + satelliteInfo + jammingSate) * number // position append mask
930
938
 
931
939
  data = Object.assign(data, {
932
940
  alarm: utils.getAlarm(command[1], parsedData[6], [
@@ -948,27 +956,27 @@ const parse = raw => {
948
956
  raw: `${parsedData[index + 6]}${parsedData[index + 7]}`,
949
957
  sos: false,
950
958
  input: {
951
- '4':
959
+ 4:
952
960
  utils.nHexDigit(utils.hex2bin(parsedData[index + 6][1]), 4)[0] ===
953
961
  '1',
954
- '3':
962
+ 3:
955
963
  utils.nHexDigit(utils.hex2bin(parsedData[index + 6][1]), 4)[1] ===
956
964
  '1',
957
- '2':
965
+ 2:
958
966
  utils.nHexDigit(utils.hex2bin(parsedData[index + 6][1]), 4)[2] ===
959
967
  '1',
960
- '1':
968
+ 1:
961
969
  utils.nHexDigit(utils.hex2bin(parsedData[index + 6][1]), 4)[3] ===
962
970
  '1'
963
971
  },
964
972
  output: {
965
- '3':
973
+ 3:
966
974
  utils.nHexDigit(utils.hex2bin(parsedData[index + 7][1]), 4)[1] ===
967
975
  '1',
968
- '2':
976
+ 2:
969
977
  utils.nHexDigit(utils.hex2bin(parsedData[index + 7][1]), 4)[2] ===
970
978
  '1',
971
- '1':
979
+ 1:
972
980
  utils.nHexDigit(utils.hex2bin(parsedData[index + 7][1]), 4)[3] ===
973
981
  '1'
974
982
  },
@@ -1082,9 +1090,9 @@ const parse = raw => {
1082
1090
  command[1] === 'GTMPF' ||
1083
1091
  command[1] === 'GTBTC'
1084
1092
  ) {
1085
- let satelliteInfo = utils.includeSatellites(parsedData[15])
1086
- let jammingSate = utils.includeJammingSate(parsedData[15])
1087
- let index = 15 // position append mask
1093
+ const satelliteInfo = utils.includeSatellites(parsedData[15])
1094
+ const jammingSate = utils.includeJammingSate(parsedData[15])
1095
+ const index = 15 // position append mask
1088
1096
 
1089
1097
  data = Object.assign(data, {
1090
1098
  alarm: utils.getAlarm(command[1], null),
@@ -1141,9 +1149,9 @@ const parse = raw => {
1141
1149
  command[1] === 'GTAVC' ||
1142
1150
  command[1] === 'GTWPB'
1143
1151
  ) {
1144
- let satelliteInfo = utils.includeSatellites(parsedData[16])
1145
- let jammingSate = utils.includeJammingSate(parsedData[16])
1146
- let index = 16 // position append mask
1152
+ const satelliteInfo = utils.includeSatellites(parsedData[16])
1153
+ const jammingSate = utils.includeJammingSate(parsedData[16])
1154
+ const index = 16 // position append mask
1147
1155
 
1148
1156
  data = Object.assign(data, {
1149
1157
  alarm: utils.getAlarm(command[1], parsedData[4]),
@@ -1191,7 +1199,7 @@ const parse = raw => {
1191
1199
  hourmeter: null
1192
1200
  })
1193
1201
  } else if (command[1] === 'GTCRG') {
1194
- let number = parsedData[5] !== '' ? parseInt(parsedData[5]) : 1
1202
+ const number = parsedData[5] !== '' ? parseInt(parsedData[5]) : 1
1195
1203
  let start = 6
1196
1204
 
1197
1205
  data = Object.assign(data, {
@@ -1205,7 +1213,7 @@ const parse = raw => {
1205
1213
  }
1206
1214
  })
1207
1215
 
1208
- let more = []
1216
+ const more = []
1209
1217
  for (let i = 1; i <= number; i++) {
1210
1218
  more.push({
1211
1219
  id: parsedData[start] !== '' ? parseInt(parsedData[start]) : null,
@@ -1248,9 +1256,9 @@ const parse = raw => {
1248
1256
  gnssData: more
1249
1257
  })
1250
1258
  } else if (command[1] === 'GTJDS') {
1251
- let index = 17 // position append mask
1252
- let satelliteInfo = utils.includeSatellites(parsedData[17])
1253
- let jammingSate = utils.includeJammingSate(parsedData[17])
1259
+ const index = 17 // position append mask
1260
+ const satelliteInfo = utils.includeSatellites(parsedData[17])
1261
+ const jammingSate = utils.includeJammingSate(parsedData[17])
1254
1262
 
1255
1263
  data = Object.assign(data, {
1256
1264
  alarm: utils.getAlarm(command[1], parsedData[4]),
@@ -1298,9 +1306,9 @@ const parse = raw => {
1298
1306
  hourmeter: null
1299
1307
  })
1300
1308
  } else if (command[1] === 'GTIGN' || command[1] === 'GTIGF') {
1301
- let index = 16 // position append mask
1302
- let satelliteInfo = utils.includeSatellites(parsedData[16])
1303
- let jammingSate = utils.includeJammingSate(parsedData[16])
1309
+ const index = 16 // position append mask
1310
+ const satelliteInfo = utils.includeSatellites(parsedData[16])
1311
+ const jammingSate = utils.includeJammingSate(parsedData[16])
1304
1312
 
1305
1313
  data = Object.assign(data, {
1306
1314
  alarm: utils.getAlarm(command[1], parsedData[4]),
@@ -1352,9 +1360,9 @@ const parse = raw => {
1352
1360
  : null
1353
1361
  })
1354
1362
  } else if (command[1] === 'GTIDN' || command[1] === 'GTIDF') {
1355
- let index = 17 // position append mask
1356
- let satelliteInfo = utils.includeSatellites(parsedData[17])
1357
- let jammingSate = utils.includeJammingSate(parsedData[17])
1363
+ const index = 17 // position append mask
1364
+ const satelliteInfo = utils.includeSatellites(parsedData[17])
1365
+ const jammingSate = utils.includeJammingSate(parsedData[17])
1358
1366
 
1359
1367
  data = Object.assign(data, {
1360
1368
  alarm: utils.getAlarm(command[1], parsedData[5]),
@@ -1407,9 +1415,9 @@ const parse = raw => {
1407
1415
  command[1] === 'GTSTP' ||
1408
1416
  command[1] === 'GTLSP'
1409
1417
  ) {
1410
- let satelliteInfo = utils.includeSatellites(parsedData[17])
1411
- let jammingSate = utils.includeJammingSate(parsedData[17])
1412
- let index = 17 + (satelliteInfo + jammingSate)
1418
+ const satelliteInfo = utils.includeSatellites(parsedData[17])
1419
+ const jammingSate = utils.includeJammingSate(parsedData[17])
1420
+ const index = 17 + (satelliteInfo + jammingSate)
1413
1421
 
1414
1422
  data = Object.assign(data, {
1415
1423
  alarm: utils.getAlarm(command[1], null),
@@ -1459,9 +1467,9 @@ const parse = raw => {
1459
1467
  })
1460
1468
  } else if (command[1] === 'GTGSS') {
1461
1469
  // GPS Status
1462
- let satelliteInfo = utils.includeSatellites(parsedData[19])
1463
- let jammingSate = utils.includeJammingSate(parsedData[19])
1464
- let index = 19 + (satelliteInfo + jammingSate)
1470
+ const satelliteInfo = utils.includeSatellites(parsedData[19])
1471
+ const jammingSate = utils.includeJammingSate(parsedData[19])
1472
+ const index = 19 + (satelliteInfo + jammingSate)
1465
1473
 
1466
1474
  data = Object.assign(data, {
1467
1475
  alarm: utils.getAlarm(command[1], parsedData[4]),
@@ -1511,10 +1519,10 @@ const parse = raw => {
1511
1519
  })
1512
1520
  } else if (command[1] === 'GTIDA') {
1513
1521
  // iButton
1514
- let number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
1515
- let satelliteInfo = utils.includeSatellites(parsedData[19])
1516
- let jammingSate = utils.includeJammingSate(parsedData[19])
1517
- let index = 7 + (12 + satelliteInfo + jammingSate) * number
1522
+ const number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
1523
+ const satelliteInfo = utils.includeSatellites(parsedData[19])
1524
+ const jammingSate = utils.includeJammingSate(parsedData[19])
1525
+ const index = 7 + (12 + satelliteInfo + jammingSate) * number
1518
1526
 
1519
1527
  data = Object.assign(data, {
1520
1528
  alarm: utils.getAlarm(command[1], `${parsedData[5]},${parsedData[6]}`),
@@ -1563,12 +1571,12 @@ const parse = raw => {
1563
1571
  hourmeter: null
1564
1572
  })
1565
1573
  } else if (command[1] === 'GTCAN') {
1566
- let canData = utils.getCanData(parsedData, 5, command[1], {
1574
+ const canData = utils.getCanData(parsedData, 5, command[1], {
1567
1575
  deviceType: 'GV350CEU'
1568
1576
  })
1569
- let satelliteInfo = utils.includeSatellites(parsedData[canData[0]])
1570
- let jammingSate = utils.includeJammingSate(parsedData[canData[0]])
1571
- let index = canData[0] + (satelliteInfo ? 1 : 0) + (jammingSate ? 1 : 0)
1577
+ const satelliteInfo = utils.includeSatellites(parsedData[canData[0]])
1578
+ const jammingSate = utils.includeJammingSate(parsedData[canData[0]])
1579
+ const index = canData[0] + (satelliteInfo ? 1 : 0) + (jammingSate ? 1 : 0)
1572
1580
 
1573
1581
  data = Object.assign(data, {
1574
1582
  alarm: utils.getAlarm(command[1], parsedData[4]),
@@ -1682,7 +1690,7 @@ const parse = raw => {
1682
1690
  uartDeviceType: 'Camaleon',
1683
1691
  fuelSensorData: null
1684
1692
  }
1685
- let AC100Devices = [
1693
+ const AC100Devices = [
1686
1694
  {
1687
1695
  deviceNumber: `${parsedData[2]}|1`,
1688
1696
  deviceType: '1',
@@ -1699,11 +1707,11 @@ const parse = raw => {
1699
1707
  })
1700
1708
  }
1701
1709
  externalData = Object.assign(externalData, {
1702
- AC100Devices: AC100Devices
1710
+ AC100Devices
1703
1711
  })
1704
1712
  data = Object.assign(data, {
1705
1713
  alarm: utils.getAlarm('GTERI', null),
1706
- externalData: externalData
1714
+ externalData
1707
1715
  })
1708
1716
  } else if (/^>ET/.test(parsedData[7])) {
1709
1717
  // Temp Alarms
@@ -1715,7 +1723,7 @@ const parse = raw => {
1715
1723
  parsedSerialData[4]
1716
1724
  ])
1717
1725
  data = Object.assign(data, {
1718
- alarm: alarm
1726
+ alarm
1719
1727
  })
1720
1728
  } else if (/^>ID/.test(parsedData[7])) {
1721
1729
  // Checks if its a iButton GTDAT -> DT
@@ -1724,7 +1732,7 @@ const parse = raw => {
1724
1732
  const driverID = parsedSerialData[2] ? parsedSerialData[2] : ''
1725
1733
  const alarm = utils.getAlarm('GTIDA', `${driverID},1`)
1726
1734
  data = Object.assign(data, {
1727
- alarm: alarm
1735
+ alarm
1728
1736
  })
1729
1737
  } else {
1730
1738
  // Normal GTDAT
@@ -1733,9 +1741,9 @@ const parse = raw => {
1733
1741
  })
1734
1742
  }
1735
1743
  } else if (command[1] === 'GTDOS') {
1736
- let satelliteInfo = utils.includeSatellites(parsedData[17])
1737
- let jammingSate = utils.includeJammingSate(parsedData[17])
1738
- let index = 17 + (satelliteInfo ? 1 : 0) + (jammingSate ? 1 : 0)
1744
+ const satelliteInfo = utils.includeSatellites(parsedData[17])
1745
+ const jammingSate = utils.includeJammingSate(parsedData[17])
1746
+ const index = 17 + (satelliteInfo ? 1 : 0) + (jammingSate ? 1 : 0)
1739
1747
 
1740
1748
  data = Object.assign(data, {
1741
1749
  alarm: utils.getAlarm(command[1], `${parsedData[4]},${parsedData[5]}`),
@@ -1818,9 +1826,9 @@ const parse = raw => {
1818
1826
  })
1819
1827
  } else if (command[1] === 'GTBCS' || command[1] === 'GTBDS') {
1820
1828
  // Bluetooth connection/desconnection
1821
- let satelliteInfo = utils.includeSatellites(parsedData[16])
1822
- let jammingSate = utils.includeJammingSate(parsedData[16])
1823
- let index = 16 + (satelliteInfo ? 1 : 0) + (jammingSate ? 1 : 0)
1829
+ const satelliteInfo = utils.includeSatellites(parsedData[16])
1830
+ const jammingSate = utils.includeJammingSate(parsedData[16])
1831
+ const index = 16 + (satelliteInfo ? 1 : 0) + (jammingSate ? 1 : 0)
1824
1832
 
1825
1833
  data = Object.assign(data, {
1826
1834
  alarm: utils.getAlarm(command[1], null, 'gv310lau'),
@@ -1930,34 +1938,34 @@ const parse = raw => {
1930
1938
  // Bluetooth alarms
1931
1939
  let satelliteInfo = false
1932
1940
  let jammingSate = false
1933
- let appendIx = 8
1934
- let appendMask = utils.nHexDigit(utils.hex2bin(parsedData[appendIx]), 16)
1935
- let btAccessory = parsedData[5]
1936
- let aNameIx = appendIx + parseInt(appendMask[15])
1937
- let aMacIx = aNameIx + parseInt(appendMask[14])
1938
- let aStatIx = aMacIx + parseInt(appendMask[13])
1939
- let aBatIx = aStatIx + parseInt(appendMask[12])
1940
- let aTmpIx = aBatIx + parseInt(appendMask[11])
1941
- let aHumIx = aTmpIx + parseInt(appendMask[10])
1942
- let ioIx = aHumIx + parseInt(appendMask[8])
1943
- let aEvIx =
1941
+ const appendIx = 8
1942
+ const appendMask = utils.nHexDigit(utils.hex2bin(parsedData[appendIx]), 16)
1943
+ const btAccessory = parsedData[5]
1944
+ const aNameIx = appendIx + parseInt(appendMask[15])
1945
+ const aMacIx = aNameIx + parseInt(appendMask[14])
1946
+ const aStatIx = aMacIx + parseInt(appendMask[13])
1947
+ const aBatIx = aStatIx + parseInt(appendMask[12])
1948
+ const aTmpIx = aBatIx + parseInt(appendMask[11])
1949
+ const aHumIx = aTmpIx + parseInt(appendMask[10])
1950
+ const ioIx = aHumIx + parseInt(appendMask[8])
1951
+ const aEvIx =
1944
1952
  appendMask[8] === '1' && appendMask[7] === '1'
1945
1953
  ? ioIx + 3
1946
1954
  : ioIx + parseInt(appendMask[7])
1947
- let pressIx =
1955
+ const pressIx =
1948
1956
  appendMask[7] === '1' && appendMask[6] === '1'
1949
1957
  ? aEvIx + 2
1950
1958
  : aEvIx + parseInt(appendMask[6])
1951
- let timeIx = pressIx + parseInt(appendMask[5])
1952
- let eTmpIx = timeIx + parseInt(appendMask[4])
1953
- let magIx = eTmpIx + parseInt(appendMask[3])
1954
- let aBatpIx =
1959
+ const timeIx = pressIx + parseInt(appendMask[5])
1960
+ const eTmpIx = timeIx + parseInt(appendMask[4])
1961
+ const magIx = eTmpIx + parseInt(appendMask[3])
1962
+ const aBatpIx =
1955
1963
  appendMask[3] === '1' && appendMask[2] === '1'
1956
1964
  ? magIx + 3
1957
1965
  : magIx + parseInt(appendMask[2])
1958
- let relIx = aBatpIx + parseInt(appendMask[1])
1966
+ const relIx = aBatpIx + parseInt(appendMask[1])
1959
1967
 
1960
- let newIndex = relIx + 1 + parseInt(appendMask[1])
1968
+ const newIndex = relIx + 1 + parseInt(appendMask[1])
1961
1969
  let satIndex = newIndex + 11
1962
1970
 
1963
1971
  // If get satellites is configured
@@ -1972,7 +1980,7 @@ const parse = raw => {
1972
1980
  jammingSate = true
1973
1981
  }
1974
1982
 
1975
- let bleInfo = {
1983
+ const bleInfo = {
1976
1984
  accesory:
1977
1985
  btAccessory !== '' ? utils.bluetoothAccessories[btAccessory] : null,
1978
1986
  model: parsedData[6] !== '' ? parseInt(parsedData[6]) : null,
@@ -2000,7 +2008,7 @@ const parse = raw => {
2000
2008
  : null
2001
2009
  }
2002
2010
 
2003
- let bleData = {
2011
+ const bleData = {
2004
2012
  temperature:
2005
2013
  parsedData[aTmpIx] !== '' && appendMask[11] === '1'
2006
2014
  ? parseInt(parsedData[aTmpIx])
@@ -2141,16 +2149,19 @@ const parse = raw => {
2141
2149
  } else if (command[1] === 'GTBID') {
2142
2150
  // Bluetooth beacon detection
2143
2151
  let index = 4
2144
- let number = parsedData[index] !== '' ? parseInt(parsedData[index]) : 1
2152
+ const number = parsedData[index] !== '' ? parseInt(parsedData[index]) : 1
2145
2153
 
2146
- let btDevices = []
2154
+ const btDevices = []
2147
2155
  for (let i = 1; i <= number; i++) {
2148
- let appendMask = utils.nHexDigit(utils.hex2bin(parsedData[index + 2]), 8)
2149
- let nmIx = index + 2 + parseInt(appendMask[7])
2150
- let macIx = nmIx + parseInt(appendMask[6])
2151
- let batIx = macIx + parseInt(appendMask[4])
2152
- let sigIx = batIx + parseInt(appendMask[1])
2153
- let typeIx = sigIx + parseInt(appendMask[0])
2156
+ const appendMask = utils.nHexDigit(
2157
+ utils.hex2bin(parsedData[index + 2]),
2158
+ 8
2159
+ )
2160
+ const nmIx = index + 2 + parseInt(appendMask[7])
2161
+ const macIx = nmIx + parseInt(appendMask[6])
2162
+ const batIx = macIx + parseInt(appendMask[4])
2163
+ const sigIx = batIx + parseInt(appendMask[1])
2164
+ const typeIx = sigIx + parseInt(appendMask[0])
2154
2165
  btDevices.push({
2155
2166
  model:
2156
2167
  parsedData[index + 1] !== ''
@@ -2180,43 +2191,47 @@ const parse = raw => {
2180
2191
  data:
2181
2192
  appendMask[0] === '1' && parsedData[typeIx + 1] !== ''
2182
2193
  ? {
2183
- idMfrData:
2194
+ idMfrData:
2184
2195
  parsedData[typeIx] === '0' && parsedData[typeIx + 1] !== ''
2185
2196
  ? parsedData[typeIx + 1]
2186
2197
  : null,
2187
- uuid:
2198
+ uuid:
2188
2199
  parsedData[typeIx] === '1' && parsedData[typeIx + 1] !== ''
2189
2200
  ? parsedData[typeIx + 1]
2190
2201
  : null,
2191
- major:
2202
+ major:
2192
2203
  parsedData[typeIx] === '1' && parsedData[typeIx + 2] !== ''
2193
2204
  ? parsedData[typeIx + 2]
2194
2205
  : null,
2195
- minor:
2206
+ minor:
2196
2207
  parsedData[typeIx] === '1' && parsedData[typeIx + 3] !== ''
2197
2208
  ? parsedData[typeIx + 3]
2198
2209
  : null,
2199
- nid:
2210
+ nid:
2200
2211
  parsedData[typeIx] === '2' && parsedData[typeIx + 1] !== ''
2201
2212
  ? parsedData[typeIx + 1]
2202
2213
  : null,
2203
- bid:
2214
+ bid:
2204
2215
  parsedData[typeIx] === '2' && parsedData[typeIx + 2] !== ''
2205
2216
  ? parsedData[typeIx + 2]
2206
2217
  : null
2207
- }
2218
+ }
2208
2219
  : null
2209
2220
  })
2210
- let extra =
2221
+ const extra =
2211
2222
  parsedData[typeIx] === '0'
2212
2223
  ? 1
2213
- : parsedData[typeIx] === '1' ? 3 : parsedData[typeIx] === '2' ? 2 : 0
2224
+ : parsedData[typeIx] === '1'
2225
+ ? 3
2226
+ : parsedData[typeIx] === '2'
2227
+ ? 2
2228
+ : 0
2214
2229
  index = typeIx + 1 + extra
2215
2230
  }
2216
2231
 
2217
- let satelliteInfo = utils.includeSatellites(parsedData[index + 12])
2218
- let jammingSate = utils.includeJammingSate(parsedData[index + 12])
2219
- let satIndex = index + 12 + satelliteInfo + jammingSate
2232
+ const satelliteInfo = utils.includeSatellites(parsedData[index + 12])
2233
+ const jammingSate = utils.includeJammingSate(parsedData[index + 12])
2234
+ const satIndex = index + 12 + satelliteInfo + jammingSate
2220
2235
 
2221
2236
  data = Object.assign(data, {
2222
2237
  alarm: utils.getAlarm(command[1], null, 'gv310lau'),
@@ -2276,19 +2291,19 @@ const parse = raw => {
2276
2291
  hourmeter: null
2277
2292
  })
2278
2293
 
2279
- let bluetoothData = {
2294
+ const bluetoothData = {
2280
2295
  connectedDevices: number,
2281
- btDevices: btDevices
2296
+ btDevices
2282
2297
  }
2283
2298
 
2284
2299
  data = Object.assign(data, {
2285
- bluetoothData: bluetoothData
2300
+ bluetoothData
2286
2301
  })
2287
2302
  } else if (command[1] === 'GTVGN' || command[1] === 'GTVGF') {
2288
2303
  // Virtual ignition
2289
- let satelliteInfo = utils.includeSatellites(parsedData[18])
2290
- let jammingSate = utils.includeJammingSate(parsedData[18])
2291
- let index = 18 + satelliteInfo + jammingSate
2304
+ const satelliteInfo = utils.includeSatellites(parsedData[18])
2305
+ const jammingSate = utils.includeJammingSate(parsedData[18])
2306
+ const index = 18 + satelliteInfo + jammingSate
2292
2307
 
2293
2308
  data = Object.assign(data, {
2294
2309
  alarm: utils.getAlarm(command[1], [parsedData[6], parsedData[5]]),
@@ -2341,8 +2356,8 @@ const parse = raw => {
2341
2356
  alarm: utils.getAlarm(command[1], null),
2342
2357
  fixType: parsedData[3] !== '' ? parsedData[3] : null
2343
2358
  })
2344
- let antData = []
2345
- var index = 4
2359
+ const antData = []
2360
+ let index = 4
2346
2361
  for (let i = 0; i < 6; i++) {
2347
2362
  antData.push({
2348
2363
  mcc: parsedData[index] !== '' ? parseInt(parsedData[index], 10) : null,
@@ -2363,16 +2378,16 @@ const parse = raw => {
2363
2378
  rxLevel:
2364
2379
  parsedData[index + 4] !== ''
2365
2380
  ? utils.getSignalStrength(
2366
- 'GSM',
2367
- parseInt(parsedData[index + 4], 10)
2368
- )
2381
+ 'GSM',
2382
+ parseInt(parsedData[index + 4], 10)
2383
+ )
2369
2384
  : null,
2370
2385
  rxSignalPercentage:
2371
2386
  parsedData[index + 4] !== ''
2372
2387
  ? utils.getSignalPercentage(
2373
- 'GSM',
2374
- parseInt(parsedData[index + 4], 10)
2375
- )
2388
+ 'GSM',
2389
+ parseInt(parsedData[index + 4], 10)
2390
+ )
2376
2391
  : null
2377
2392
  })
2378
2393
  index += 6
@@ -2401,9 +2416,9 @@ const parse = raw => {
2401
2416
  rxSignalPercentage:
2402
2417
  parsedData[index + 4] !== ''
2403
2418
  ? utils.getSignalPercentage(
2404
- 'GSM',
2405
- parseInt(parsedData[index + 4], 10)
2406
- )
2419
+ 'GSM',
2420
+ parseInt(parsedData[index + 4], 10)
2421
+ )
2407
2422
  : null
2408
2423
  })
2409
2424
  } else if (command[1] === 'GTCLT') {
@@ -2417,65 +2432,65 @@ const parse = raw => {
2417
2432
  satelliteInfo = true
2418
2433
  }
2419
2434
 
2420
- let alarmMask1 =
2435
+ const alarmMask1 =
2421
2436
  parsedData[5] !== ''
2422
2437
  ? utils
2423
- .nHexDigit(utils.hex2bin(parsedData[5]), 32)
2424
- .split('')
2425
- .reverse()
2426
- .join('')
2438
+ .nHexDigit(utils.hex2bin(parsedData[5]), 32)
2439
+ .split('')
2440
+ .reverse()
2441
+ .join('')
2427
2442
  : null
2428
- let alarmMask2 =
2443
+ const alarmMask2 =
2429
2444
  parsedData[6] !== ''
2430
2445
  ? utils
2431
- .nHexDigit(utils.hex2bin(parsedData[6]), 32)
2432
- .split('')
2433
- .reverse()
2434
- .join('')
2446
+ .nHexDigit(utils.hex2bin(parsedData[6]), 32)
2447
+ .split('')
2448
+ .reverse()
2449
+ .join('')
2435
2450
  : null
2436
- let alarmMask3 =
2451
+ const alarmMask3 =
2437
2452
  parsedData[7] !== ''
2438
2453
  ? utils
2439
- .nHexDigit(utils.hex2bin(parsedData[7]), 32)
2440
- .split('')
2441
- .reverse()
2442
- .join('')
2454
+ .nHexDigit(utils.hex2bin(parsedData[7]), 32)
2455
+ .split('')
2456
+ .reverse()
2457
+ .join('')
2443
2458
  : null
2444
- let inicatorsBin =
2459
+ const inicatorsBin =
2445
2460
  parsedData[28] !== ''
2446
2461
  ? utils.nHexDigit(utils.hex2bin(parsedData[28]), 16)
2447
2462
  : null
2448
- let lights =
2463
+ const lights =
2449
2464
  parsedData[29] !== ''
2450
2465
  ? utils.nHexDigit(utils.hex2bin(parsedData[29]), 8)
2451
2466
  : null
2452
- let doors =
2467
+ const doors =
2453
2468
  parsedData[30] !== ''
2454
2469
  ? utils.nHexDigit(utils.hex2bin(parsedData[30]), 8)
2455
2470
  : null
2456
- let canExpansionMask =
2471
+ const canExpansionMask =
2457
2472
  parsedData[33] !== ''
2458
2473
  ? utils
2459
- .nHexDigit(utils.hex2bin(parsedData[33]), 32)
2460
- .split('')
2461
- .reverse()
2462
- .join('')
2474
+ .nHexDigit(utils.hex2bin(parsedData[33]), 32)
2475
+ .split('')
2476
+ .reverse()
2477
+ .join('')
2463
2478
  : null
2464
- let expansionBin =
2479
+ const expansionBin =
2465
2480
  parsedData[54] !== ''
2466
2481
  ? utils
2467
- .nHexDigit(utils.hex2bin(parsedData[54]), 16)
2468
- .split('')
2469
- .reverse()
2470
- .join('')
2482
+ .nHexDigit(utils.hex2bin(parsedData[54]), 16)
2483
+ .split('')
2484
+ .reverse()
2485
+ .join('')
2471
2486
  : null
2472
- let tachographBin =
2487
+ const tachographBin =
2473
2488
  parsedData[27] !== ''
2474
2489
  ? utils
2475
- .nHexDigit(utils.hex2bin(parsedData[27]), 8)
2476
- .split('')
2477
- .reverse()
2478
- .join('')
2490
+ .nHexDigit(utils.hex2bin(parsedData[27]), 8)
2491
+ .split('')
2492
+ .reverse()
2493
+ .join('')
2479
2494
  : null
2480
2495
  data = Object.assign(data, {
2481
2496
  alarm: utils.getAlarm(command[1], parsedData[6], [
@@ -2772,9 +2787,9 @@ const parse = raw => {
2772
2787
  } else if (command[1] === 'GTSVR') {
2773
2788
  // Primary Stolen Vehicle Recovery
2774
2789
  // Primary: GV350CEU - Ghost: GV58LAU
2775
- let satelliteInfo = utils.includeSatellites(parsedData[18])
2776
- let jammingState = utils.includeJammingSate(parsedData[18])
2777
- let index = 18 + satelliteInfo + jammingState
2790
+ const satelliteInfo = utils.includeSatellites(parsedData[18])
2791
+ const jammingState = utils.includeJammingSate(parsedData[18])
2792
+ const index = 18 + satelliteInfo + jammingState
2778
2793
 
2779
2794
  data = Object.assign(data, {
2780
2795
  alarm: utils.getAlarm(command[1], parsedData[4]),
@@ -2828,9 +2843,9 @@ const parse = raw => {
2828
2843
  })
2829
2844
  } else if (command[1] === 'GTLBA') {
2830
2845
  // Low Battery for FR433 devices
2831
- let satelliteInfo = utils.includeSatellites(parsedData[17])
2832
- let jammingState = utils.includeJammingSate(parsedData[17])
2833
- let index = 17 + satelliteInfo + jammingState
2846
+ const satelliteInfo = utils.includeSatellites(parsedData[17])
2847
+ const jammingState = utils.includeJammingSate(parsedData[17])
2848
+ const index = 17 + satelliteInfo + jammingState
2834
2849
 
2835
2850
  data = Object.assign(data, {
2836
2851
  alarm: utils.getAlarm(command[1], [parsedData[4], parsedData[5]]),
@@ -2879,9 +2894,9 @@ const parse = raw => {
2879
2894
  })
2880
2895
  } else if (command[1] === 'GTASC') {
2881
2896
  // Calibrarion data for XYZ-axis acceleration sensor
2882
- let satelliteInfo = utils.includeSatellites(parsedData[24])
2883
- let jammingState = utils.includeJammingSate(parsedData[24])
2884
- let index = 24 + satelliteInfo + jammingState
2897
+ const satelliteInfo = utils.includeSatellites(parsedData[24])
2898
+ const jammingState = utils.includeJammingSate(parsedData[24])
2899
+ const index = 24 + satelliteInfo + jammingState
2885
2900
 
2886
2901
  data = Object.assign(data, {
2887
2902
  alarm: utils.getAlarm(command[1], null),
@@ -2942,13 +2957,13 @@ const parse = raw => {
2942
2957
  } else if (command[1] === 'GTHBE') {
2943
2958
  // Harsh Behavior Information
2944
2959
  // Only works when GTHBM is in mode 5
2945
- let satelliteInfo = utils.includeSatellites(parsedData[18])
2946
- let jammingState = utils.includeJammingSate(parsedData[18])
2947
- let index = 18 + satelliteInfo + jammingState
2960
+ const satelliteInfo = utils.includeSatellites(parsedData[18])
2961
+ const jammingState = utils.includeJammingSate(parsedData[18])
2962
+ const index = 18 + satelliteInfo + jammingState
2948
2963
 
2949
- let maxAcc = parsedData[index + 1] !== '' ? parsedData[index + 1] : null
2950
- let avgAcc = parsedData[index + 2] !== '' ? parsedData[index + 2] : null
2951
- let duration =
2964
+ const maxAcc = parsedData[index + 1] !== '' ? parsedData[index + 1] : null
2965
+ const avgAcc = parsedData[index + 2] !== '' ? parsedData[index + 2] : null
2966
+ const duration =
2952
2967
  parsedData[index + 3] !== '' ? parseFloat(parsedData[index + 3]) : null
2953
2968
 
2954
2969
  data = Object.assign(data, {
@@ -3023,7 +3038,7 @@ const parse = raw => {
3023
3038
  ? utils.getAccelerationMagnitude(avgAcc.substring(8, 12), 4)
3024
3039
  : null
3025
3040
  },
3026
- duration: duration,
3041
+ duration,
3027
3042
  odometer:
3028
3043
  parsedData[index + 4] !== '' ? parseFloat(parsedData[index + 4]) : null,
3029
3044
  hourmeter: null
@@ -3049,5 +3064,5 @@ const parse = raw => {
3049
3064
  }
3050
3065
 
3051
3066
  module.exports = {
3052
- parse: parse
3067
+ parse
3053
3068
  }