jooby-codec 2.0.0 → 2.2.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 (100) hide show
  1. package/dist/analog/CommandBinaryBuffer.d.ts +2 -2
  2. package/dist/analog/CommandBinaryBuffer.js +5 -5
  3. package/dist/analog/CommandBinaryBuffer.js.map +1 -1
  4. package/dist/analog/commands/downlink/GetArchiveDaysMC.d.ts +1 -1
  5. package/dist/analog/commands/downlink/GetArchiveDaysMC.js +5 -5
  6. package/dist/analog/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  7. package/dist/analog/commands/downlink/GetArchiveEvents.d.ts +1 -1
  8. package/dist/analog/commands/downlink/GetArchiveEvents.js +5 -5
  9. package/dist/analog/commands/downlink/GetArchiveEvents.js.map +1 -1
  10. package/dist/analog/commands/downlink/GetArchiveHoursMC.d.ts +1 -1
  11. package/dist/analog/commands/downlink/GetArchiveHoursMC.js +5 -5
  12. package/dist/analog/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  13. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.d.ts +1 -1
  14. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.js +5 -5
  15. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.js.map +1 -1
  16. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.d.ts +1 -1
  17. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.js +5 -5
  18. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.js.map +1 -1
  19. package/dist/analog/commands/uplink/DayMC.d.ts +1 -1
  20. package/dist/analog/commands/uplink/DayMC.js +6 -6
  21. package/dist/analog/commands/uplink/DayMC.js.map +1 -1
  22. package/dist/analog/commands/uplink/ExAbsDayMC.d.ts +1 -1
  23. package/dist/analog/commands/uplink/ExAbsDayMC.js +5 -5
  24. package/dist/analog/commands/uplink/ExAbsDayMC.js.map +1 -1
  25. package/dist/analog/commands/uplink/ExAbsHourMC.d.ts +1 -1
  26. package/dist/analog/commands/uplink/ExAbsHourMC.js +6 -6
  27. package/dist/analog/commands/uplink/ExAbsHourMC.js.map +1 -1
  28. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.d.ts +1 -1
  29. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.js +5 -5
  30. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.js.map +1 -1
  31. package/dist/analog/commands/uplink/GetArchiveEventsResponse.d.ts +1 -1
  32. package/dist/analog/commands/uplink/GetArchiveEventsResponse.js +7 -7
  33. package/dist/analog/commands/uplink/GetArchiveEventsResponse.js.map +1 -1
  34. package/dist/analog/commands/uplink/GetArchiveHoursMCResponse.d.ts +1 -1
  35. package/dist/analog/commands/uplink/GetArchiveHoursMCResponse.js +3 -3
  36. package/dist/analog/commands/uplink/GetArchiveHoursMCResponse.js.map +1 -1
  37. package/dist/analog/commands/uplink/GetExAbsArchiveDaysMCResponse.d.ts +1 -1
  38. package/dist/analog/commands/uplink/GetExAbsArchiveDaysMCResponse.js +5 -5
  39. package/dist/analog/commands/uplink/GetExAbsArchiveDaysMCResponse.js.map +1 -1
  40. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.d.ts +1 -1
  41. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.js +5 -5
  42. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.js.map +1 -1
  43. package/dist/analog/commands/uplink/HourMC.d.ts +1 -1
  44. package/dist/analog/commands/uplink/HourMC.js +5 -5
  45. package/dist/analog/commands/uplink/HourMC.js.map +1 -1
  46. package/dist/analog/commands/uplink/NewEvent.d.ts +1 -1
  47. package/dist/analog/commands/uplink/NewEvent.js +6 -6
  48. package/dist/analog/commands/uplink/NewEvent.js.map +1 -1
  49. package/dist/analog/commands/uplink/Time2000.d.ts +1 -1
  50. package/dist/analog/commands/uplink/Time2000.js +4 -4
  51. package/dist/analog/commands/uplink/Time2000.js.map +1 -1
  52. package/dist/analog/message.js +16 -17
  53. package/dist/analog/message.js.map +1 -1
  54. package/dist/obis-observer/CommandBinaryBuffer.d.ts +3 -3
  55. package/dist/obis-observer/CommandBinaryBuffer.js +5 -5
  56. package/dist/obis-observer/CommandBinaryBuffer.js.map +1 -1
  57. package/dist/obis-observer/commands/downlink/AddShortNameProfile.js +1 -1
  58. package/dist/obis-observer/commands/downlink/AddShortNameProfile.js.map +1 -1
  59. package/dist/obis-observer/commands/downlink/ReadArchive.d.ts +2 -1
  60. package/dist/obis-observer/commands/downlink/ReadArchive.js +5 -5
  61. package/dist/obis-observer/commands/downlink/ReadArchive.js.map +1 -1
  62. package/dist/obis-observer/commands/downlink/SetSerialPort.d.ts +1 -1
  63. package/dist/obis-observer/commands/downlink/SetSerialPort.js +2 -2
  64. package/dist/obis-observer/commands/downlink/SetSerialPort.js.map +1 -1
  65. package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.js +10 -4
  66. package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.js.map +1 -1
  67. package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.js +1 -1
  68. package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.js.map +1 -1
  69. package/dist/obis-observer/commands/uplink/ObservationReport.d.ts +2 -1
  70. package/dist/obis-observer/commands/uplink/ObservationReport.js +5 -5
  71. package/dist/obis-observer/commands/uplink/ObservationReport.js.map +1 -1
  72. package/dist/obis-observer/commands/uplink/ObservationReportString.d.ts +2 -1
  73. package/dist/obis-observer/commands/uplink/ObservationReportString.js +5 -5
  74. package/dist/obis-observer/commands/uplink/ObservationReportString.js.map +1 -1
  75. package/dist/obis-observer/commands/uplink/ReadArchiveResponse.d.ts +2 -1
  76. package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js +5 -5
  77. package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js.map +1 -1
  78. package/dist/obis-observer/constants/commandRelations.d.ts +2 -0
  79. package/dist/obis-observer/constants/commandRelations.js +21 -0
  80. package/dist/obis-observer/constants/commandRelations.js.map +1 -0
  81. package/dist/obis-observer/constants/shortNames.d.ts +34 -0
  82. package/dist/obis-observer/constants/shortNames.js +228 -0
  83. package/dist/obis-observer/constants/shortNames.js.map +1 -0
  84. package/dist/obis-observer/index.d.ts +2 -1
  85. package/dist/obis-observer/index.js +2 -1
  86. package/dist/obis-observer/index.js.map +1 -1
  87. package/dist/obis-observer/utils/index.d.ts +1 -0
  88. package/dist/obis-observer/utils/index.js +2 -0
  89. package/dist/obis-observer/utils/index.js.map +1 -0
  90. package/dist/obis-observer/utils/obis.d.ts +3 -0
  91. package/dist/obis-observer/utils/obis.js +68 -0
  92. package/dist/obis-observer/utils/obis.js.map +1 -0
  93. package/dist/utils/invertObject.d.ts +3 -0
  94. package/dist/utils/invertObject.js +4 -0
  95. package/dist/utils/invertObject.js.map +1 -0
  96. package/dist/utils/time.d.ts +2 -2
  97. package/dist/utils/time.js +2 -2
  98. package/dist/utils/time.js.map +1 -1
  99. package/package.json +1 -1
  100. package/readme.md +3 -1
@@ -0,0 +1,228 @@
1
+ export default [
2
+ { shortName: 1, obisCode: '1.4.0', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), current avg. 1' },
3
+ { shortName: 2, obisCode: '1.5.0', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), average' },
4
+ { shortName: 3, obisCode: '1.6.0', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), maximum, total' },
5
+ { shortName: 4, obisCode: '1.6.1', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), maximum, tariff T1' },
6
+ { shortName: 5, obisCode: '1.6.2', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), maximum, tariff T2' },
7
+ { shortName: 6, obisCode: '1.6.3', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), maximum, tariff T3' },
8
+ { shortName: 7, obisCode: '1.6.4', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), maximum, tariff T4' },
9
+ { shortName: 8, obisCode: '1.8.0', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), total' },
10
+ { shortName: 9, obisCode: '1.8.1', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), tariff T1' },
11
+ { shortName: 10, obisCode: '1.8.2', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), tariff T2' },
12
+ { shortName: 11, obisCode: '1.8.3', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), tariff T3' },
13
+ { shortName: 12, obisCode: '1.8.4', isStatic: true, isGeneral: true, description: 'active power+ (QI+QIV), tariff T4' },
14
+ { shortName: 13, obisCode: '2.4.0', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), current avg. 1' },
15
+ { shortName: 14, obisCode: '2.5.0', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), average' },
16
+ { shortName: 15, obisCode: '2.6.0', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), maximum, total' },
17
+ { shortName: 16, obisCode: '2.6.1', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), maximum, tariff T1' },
18
+ { shortName: 17, obisCode: '2.6.2', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), maximum, tariff T2' },
19
+ { shortName: 18, obisCode: '2.6.3', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), maximum, tariff T3' },
20
+ { shortName: 19, obisCode: '2.6.4', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), maximum, tariff T4' },
21
+ { shortName: 20, obisCode: '2.8.0', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), total' },
22
+ { shortName: 21, obisCode: '2.8.1', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), tariff T1' },
23
+ { shortName: 22, obisCode: '2.8.2', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), tariff T2' },
24
+ { shortName: 23, obisCode: '2.8.3', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), tariff T3' },
25
+ { shortName: 24, obisCode: '2.8.4', isStatic: true, isGeneral: true, description: 'active power- (QII+QIII), tariff T4' },
26
+ { shortName: 25, obisCode: '3.4.0', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), current avg. 1' },
27
+ { shortName: 26, obisCode: '3.5.0', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), average' },
28
+ { shortName: 27, obisCode: '3.6.0', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), maximum, total' },
29
+ { shortName: 28, obisCode: '3.6.1', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), maximum, tariff T1' },
30
+ { shortName: 39, obisCode: '3.6.2', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), maximum, tariff T2' },
31
+ { shortName: 30, obisCode: '3.6.3', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), maximum, tariff T3' },
32
+ { shortName: 31, obisCode: '3.6.4', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), maximum, tariff T4' },
33
+ { shortName: 32, obisCode: '3.8.0', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), total' },
34
+ { shortName: 33, obisCode: '3.8.1', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), tariff T1' },
35
+ { shortName: 34, obisCode: '3.8.2', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), tariff T2' },
36
+ { shortName: 35, obisCode: '3.8.3', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), tariff T3' },
37
+ { shortName: 36, obisCode: '3.8.4', isStatic: true, isGeneral: true, description: 'reactive power+ (QI+QII), tariff T4' },
38
+ { shortName: 37, obisCode: '4.4.0', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), current avg. 1' },
39
+ { shortName: 38, obisCode: '4.5.0', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), average' },
40
+ { shortName: 39, obisCode: '4.6.0', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), maximum, total' },
41
+ { shortName: 40, obisCode: '4.6.1', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), maximum, tariff T1' },
42
+ { shortName: 41, obisCode: '4.6.2', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), maximum, tariff T2' },
43
+ { shortName: 42, obisCode: '4.6.3', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), maximum, tariff T3' },
44
+ { shortName: 43, obisCode: '4.6.4', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), maximum, tariff T4' },
45
+ { shortName: 44, obisCode: '4.8.0', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), total' },
46
+ { shortName: 45, obisCode: '4.8.1', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), tariff T1' },
47
+ { shortName: 46, obisCode: '4.8.2', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), tariff T2' },
48
+ { shortName: 47, obisCode: '4.8.3', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), tariff T3' },
49
+ { shortName: 48, obisCode: '4.8.4', isStatic: true, isGeneral: true, description: 'reactive power- (QIII+QIV), tariff T4' },
50
+ { shortName: 49, obisCode: '5.4.0', isStatic: true, isGeneral: true, description: 'reactive power QI, current avg. 1' },
51
+ { shortName: 50, obisCode: '5.5.0', isStatic: true, isGeneral: true, description: 'reactive power QI, average' },
52
+ { shortName: 51, obisCode: '5.6.0', isStatic: true, isGeneral: true, description: 'reactive power QI, maximum, total' },
53
+ { shortName: 52, obisCode: '5.6.1', isStatic: true, isGeneral: true, description: 'reactive power QI, maximum, tariff T1' },
54
+ { shortName: 53, obisCode: '5.6.2', isStatic: true, isGeneral: true, description: 'reactive power QI, maximum, tariff T2' },
55
+ { shortName: 54, obisCode: '5.6.3', isStatic: true, isGeneral: true, description: 'reactive power QI, maximum, tariff T3' },
56
+ { shortName: 55, obisCode: '5.6.4', isStatic: true, isGeneral: true, description: 'reactive power QI, maximum, tariff T4' },
57
+ { shortName: 56, obisCode: '5.8.0', isStatic: true, isGeneral: true, description: 'reactive power QI, total' },
58
+ { shortName: 57, obisCode: '5.8.1', isStatic: true, isGeneral: true, description: 'reactive power QI, tariff T1' },
59
+ { shortName: 58, obisCode: '5.8.2', isStatic: true, isGeneral: true, description: 'reactive power QI, tariff T2' },
60
+ { shortName: 59, obisCode: '5.8.3', isStatic: true, isGeneral: true, description: 'reactive power QI, tariff T3' },
61
+ { shortName: 60, obisCode: '5.8.4', isStatic: true, isGeneral: true, description: 'reactive power QI, tariff T4' },
62
+ { shortName: 61, obisCode: '6.4.0', isStatic: true, isGeneral: true, description: 'reactive power QII, current avg. 1' },
63
+ { shortName: 62, obisCode: '6.5.0', isStatic: true, isGeneral: true, description: 'reactive power QII, average' },
64
+ { shortName: 63, obisCode: '6.6.0', isStatic: true, isGeneral: true, description: 'reactive power QII, maximum, total' },
65
+ { shortName: 64, obisCode: '6.6.1', isStatic: true, isGeneral: true, description: 'reactive power QII, maximum, tariff T1' },
66
+ { shortName: 65, obisCode: '6.6.2', isStatic: true, isGeneral: true, description: 'reactive power QII, maximum, tariff T2' },
67
+ { shortName: 66, obisCode: '6.6.3', isStatic: true, isGeneral: true, description: 'reactive power QII, maximum, tariff T3' },
68
+ { shortName: 67, obisCode: '6.6.4', isStatic: true, isGeneral: true, description: 'reactive power QII, maximum, tariff T4' },
69
+ { shortName: 68, obisCode: '6.8.0', isStatic: true, isGeneral: true, description: 'reactive power QII, total' },
70
+ { shortName: 69, obisCode: '6.8.1', isStatic: true, isGeneral: true, description: 'reactive power QII, tariff T1' },
71
+ { shortName: 70, obisCode: '6.8.2', isStatic: true, isGeneral: true, description: 'reactive power QII, tariff T2' },
72
+ { shortName: 71, obisCode: '6.8.3', isStatic: true, isGeneral: true, description: 'reactive power QII, tariff T3' },
73
+ { shortName: 72, obisCode: '6.8.4', isStatic: true, isGeneral: true, description: 'reactive power QII, tariff T4' },
74
+ { shortName: 73, obisCode: '7.4.0', isStatic: true, isGeneral: true, description: 'reactive power QIII, current avg. 1' },
75
+ { shortName: 74, obisCode: '7.5.0', isStatic: true, isGeneral: true, description: 'reactive power QIII, average' },
76
+ { shortName: 75, obisCode: '7.6.0', isStatic: true, isGeneral: true, description: 'reactive power QIII, maximum, total' },
77
+ { shortName: 76, obisCode: '7.6.1', isStatic: true, isGeneral: true, description: 'reactive power QIII, maximum, tariff T1' },
78
+ { shortName: 77, obisCode: '7.6.2', isStatic: true, isGeneral: true, description: 'reactive power QIII, maximum, tariff T2' },
79
+ { shortName: 78, obisCode: '7.6.3', isStatic: true, isGeneral: true, description: 'reactive power QIII, maximum, tariff T3' },
80
+ { shortName: 79, obisCode: '7.6.4', isStatic: true, isGeneral: true, description: 'reactive power QIII, maximum, tariff T4' },
81
+ { shortName: 80, obisCode: '7.8.0', isStatic: true, isGeneral: true, description: 'reactive power QIII, total' },
82
+ { shortName: 81, obisCode: '7.8.1', isStatic: true, isGeneral: true, description: 'reactive power QIII, tariff T1' },
83
+ { shortName: 82, obisCode: '7.8.2', isStatic: true, isGeneral: true, description: 'reactive power QIII, tariff T2' },
84
+ { shortName: 83, obisCode: '7.8.3', isStatic: true, isGeneral: true, description: 'reactive power QIII, tariff T3' },
85
+ { shortName: 84, obisCode: '7.8.4', isStatic: true, isGeneral: true, description: 'reactive power QIII, tariff T4' },
86
+ { shortName: 85, obisCode: '8.4.0', isStatic: true, isGeneral: true, description: 'reactive power QIV, current avg. 1' },
87
+ { shortName: 86, obisCode: '8.5.0', isStatic: true, isGeneral: true, description: 'reactive power QIV, average' },
88
+ { shortName: 87, obisCode: '8.6.0', isStatic: true, isGeneral: true, description: 'reactive power QIV, maximum, total' },
89
+ { shortName: 88, obisCode: '8.6.1', isStatic: true, isGeneral: true, description: 'reactive power QIV, maximum, tariff T1' },
90
+ { shortName: 89, obisCode: '8.6.2', isStatic: true, isGeneral: true, description: 'reactive power QIV, maximum, tariff T2' },
91
+ { shortName: 90, obisCode: '8.6.3', isStatic: true, isGeneral: true, description: 'reactive power QIV, maximum, tariff T3' },
92
+ { shortName: 91, obisCode: '8.6.4', isStatic: true, isGeneral: true, description: 'reactive power QIV, maximum, tariff T4' },
93
+ { shortName: 92, obisCode: '8.8.0', isStatic: true, isGeneral: true, description: 'reactive power QIV, total' },
94
+ { shortName: 93, obisCode: '8.8.1', isStatic: true, isGeneral: true, description: 'reactive power QIV, tariff T1' },
95
+ { shortName: 94, obisCode: '8.8.2', isStatic: true, isGeneral: true, description: 'reactive power QIV, tariff T2' },
96
+ { shortName: 95, obisCode: '8.8.3', isStatic: true, isGeneral: true, description: 'reactive power QIV, tariff T3' },
97
+ { shortName: 96, obisCode: '8.8.4', isStatic: true, isGeneral: true, description: 'reactive power QIV, tariff T4' },
98
+ { shortName: 97, obisCode: '9.5.0', isStatic: true, isGeneral: true, description: 'apparent power+ (QI+QIV), average' },
99
+ { shortName: 98, obisCode: '9.8.0', isStatic: true, isGeneral: true, description: 'apparent power+ (QI+QIV), total' },
100
+ { shortName: 99, obisCode: '10.5.0', isStatic: true, isGeneral: true, description: 'apparent power- (QII+QIII), average' },
101
+ { shortName: 100, obisCode: '10.8.0', isStatic: true, isGeneral: true, description: 'apparent power- (QII+QIII), total' },
102
+ { shortName: 101, obisCode: '15.4.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), current avg. 1' },
103
+ { shortName: 102, obisCode: '15.5.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), average' },
104
+ { shortName: 103, obisCode: '15.6.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), maximum, total' },
105
+ { shortName: 104, obisCode: '15.6.1', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), maximum, tariff T1' },
106
+ { shortName: 105, obisCode: '15.6.2', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), maximum, tariff T2' },
107
+ { shortName: 106, obisCode: '15.6.3', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), maximum, tariff T3' },
108
+ { shortName: 107, obisCode: '15.6.4', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), maximum, tariff T4' },
109
+ { shortName: 108, obisCode: '15.8.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), total' },
110
+ { shortName: 109, obisCode: '15.8.1', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), tariff T1' },
111
+ { shortName: 110, obisCode: '15.8.2', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), tariff T2' },
112
+ { shortName: 111, obisCode: '15.8.3', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), tariff T3' },
113
+ { shortName: 112, obisCode: '15.8.4', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), tariff T4' },
114
+ { shortName: 113, obisCode: '16.4.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), current avg. 1' },
115
+ { shortName: 114, obisCode: '16.5.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), average' },
116
+ { shortName: 115, obisCode: '16.6.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), maximum, total' },
117
+ { shortName: 116, obisCode: '16.6.1', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), maximum, tariff T1' },
118
+ { shortName: 117, obisCode: '16.6.2', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), maximum, tariff T2' },
119
+ { shortName: 118, obisCode: '16.6.3', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), maximum, tariff T3' },
120
+ { shortName: 119, obisCode: '16.6.4', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), maximum, tariff T4' },
121
+ { shortName: 120, obisCode: '16.8.0', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), total' },
122
+ { shortName: 121, obisCode: '16.8.1', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), tariff T1' },
123
+ { shortName: 122, obisCode: '16.8.2', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), tariff T2' },
124
+ { shortName: 123, obisCode: '16.8.3', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), tariff T3' },
125
+ { shortName: 124, obisCode: '16.8.4', isStatic: true, isGeneral: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), tariff T4' },
126
+ { shortName: 125, obisCode: '11.5.0', isStatic: true, isGeneral: true, description: 'current phase L1 average' },
127
+ { shortName: 126, obisCode: '31.5.0', isStatic: true, isGeneral: true, description: 'current phase L1 average' },
128
+ { shortName: 127, obisCode: '51.5.0', isStatic: true, isGeneral: true, description: 'current phase L2 average' },
129
+ { shortName: 128, obisCode: '71.5.0', isStatic: true, isGeneral: true, description: 'current phase L3 average' },
130
+ { shortName: 129, obisCode: '91.5.0', isStatic: true, isGeneral: true, description: 'current neutral average' },
131
+ { shortName: 130, obisCode: '12.5.0', isStatic: true, isGeneral: true, description: 'voltage average' },
132
+ { shortName: 131, obisCode: '32.5.0', isStatic: true, isGeneral: true, description: 'voltage phase L1 average' },
133
+ { shortName: 132, obisCode: '52.5.0', isStatic: true, isGeneral: true, description: 'voltage phase L2 average' },
134
+ { shortName: 133, obisCode: '72.5.0', isStatic: true, isGeneral: true, description: 'voltage phase L3 average' },
135
+ { shortName: 134, obisCode: '1.7.0', isStatic: true, isInstantaneous: true, description: 'active power+ (QI+QIV)' },
136
+ { shortName: 135, obisCode: '21.7.0', isStatic: true, isInstantaneous: true, description: 'active power+ (QI+QIV), L1' },
137
+ { shortName: 136, obisCode: '41.7.0', isStatic: true, isInstantaneous: true, description: 'active power+ (QI+QIV), L2' },
138
+ { shortName: 137, obisCode: '61.7.0', isStatic: true, isInstantaneous: true, description: 'active power+ (QI+QIV), L3' },
139
+ { shortName: 138, obisCode: '2.7.0', isStatic: true, isInstantaneous: true, description: 'active power- (QII+QIII)' },
140
+ { shortName: 139, obisCode: '22.7.0', isStatic: true, isInstantaneous: true, description: 'active power- (QII+QIII), L1' },
141
+ { shortName: 140, obisCode: '42.7.0', isStatic: true, isInstantaneous: true, description: 'active power- (QII+QIII), L2' },
142
+ { shortName: 141, obisCode: '62.7.0', isStatic: true, isInstantaneous: true, description: 'active power- (QII+QIII), L3' },
143
+ { shortName: 142, obisCode: '3.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power+ (QI+QII)' },
144
+ { shortName: 143, obisCode: '23.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power+ (QI+QII), L1' },
145
+ { shortName: 144, obisCode: '43.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power+ (QI+QII), L2' },
146
+ { shortName: 145, obisCode: '63.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power+ (QI+QII), L3' },
147
+ { shortName: 146, obisCode: '4.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power- (QIII+QIV)' },
148
+ { shortName: 147, obisCode: '24.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power- (QIII+QIV), L1' },
149
+ { shortName: 148, obisCode: '44.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power- (QIII+QIV), L2' },
150
+ { shortName: 149, obisCode: '64.7.0', isStatic: true, isInstantaneous: true, description: 'reactive power- (QIII+QIV), L3' },
151
+ { shortName: 150, obisCode: '11.7.0', isStatic: true, isInstantaneous: true, description: 'current' },
152
+ { shortName: 151, obisCode: '31.7.0', isStatic: true, isInstantaneous: true, description: 'current, L1' },
153
+ { shortName: 152, obisCode: '51.7.0', isStatic: true, isInstantaneous: true, description: 'current, L2' },
154
+ { shortName: 153, obisCode: '71.7.0', isStatic: true, isInstantaneous: true, description: 'current, L3' },
155
+ { shortName: 154, obisCode: '12.7.0', isStatic: true, isInstantaneous: true, description: 'voltage' },
156
+ { shortName: 155, obisCode: '32.7.0', isStatic: true, isInstantaneous: true, description: 'voltage, L1' },
157
+ { shortName: 156, obisCode: '52.7.0', isStatic: true, isInstantaneous: true, description: 'voltage, L2' },
158
+ { shortName: 157, obisCode: '72.7.0', isStatic: true, isInstantaneous: true, description: 'voltage, L3' },
159
+ { shortName: 158, obisCode: '13.7.0', isStatic: true, isInstantaneous: true, description: 'sum Li Power factor' },
160
+ { shortName: 159, obisCode: '33.7.0', isStatic: true, isInstantaneous: true, description: 'power factor, L1' },
161
+ { shortName: 160, obisCode: '53.7.0', isStatic: true, isInstantaneous: true, description: 'power factor, L2' },
162
+ { shortName: 161, obisCode: '73.7.0', isStatic: true, isInstantaneous: true, description: 'power factor, L3' },
163
+ { shortName: 162, obisCode: '14.7.0', isStatic: true, isInstantaneous: true, description: 'sum supply frequency' },
164
+ { shortName: 163, obisCode: '34.7.0', isStatic: true, isInstantaneous: true, description: 'supply frequency, L1' },
165
+ { shortName: 164, obisCode: '54.7.0', isStatic: true, isInstantaneous: true, description: 'supply frequency, L2' },
166
+ { shortName: 165, obisCode: '74.7.0', isStatic: true, isInstantaneous: true, description: 'supply frequency, L3' },
167
+ { shortName: 166, obisCode: '15.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII))' },
168
+ { shortName: 167, obisCode: '35.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), L1' },
169
+ { shortName: 168, obisCode: '55.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), L2' },
170
+ { shortName: 169, obisCode: '75.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)+(abs(QII+QIII)), L3' },
171
+ { shortName: 170, obisCode: '16.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII))' },
172
+ { shortName: 171, obisCode: '36.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), L1' },
173
+ { shortName: 172, obisCode: '56.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), L2' },
174
+ { shortName: 173, obisCode: '76.7.0', isStatic: true, isInstantaneous: true, description: 'active power (abs(QI+QIV)-abs(QII+QIII)), L3' },
175
+ { shortName: 174, obisCode: '17.7.0', isStatic: true, isInstantaneous: true, description: 'active power QI' },
176
+ { shortName: 175, obisCode: '37.7.0', isStatic: true, isInstantaneous: true, description: 'active power QI, L1' },
177
+ { shortName: 176, obisCode: '57.7.0', isStatic: true, isInstantaneous: true, description: 'active power QI, L2' },
178
+ { shortName: 177, obisCode: '77.7.0', isStatic: true, isInstantaneous: true, description: 'active power QI, L3' },
179
+ { shortName: 178, obisCode: '18.7.0', isStatic: true, isInstantaneous: true, description: 'active power QII' },
180
+ { shortName: 179, obisCode: '38.7.0', isStatic: true, isInstantaneous: true, description: 'active power QII, L1' },
181
+ { shortName: 180, obisCode: '58.7.0', isStatic: true, isInstantaneous: true, description: 'active power QII, L2' },
182
+ { shortName: 181, obisCode: '78.7.0', isStatic: true, isInstantaneous: true, description: 'active power QII, L3' },
183
+ { shortName: 182, obisCode: '19.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIII' },
184
+ { shortName: 183, obisCode: '39.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIII, L1' },
185
+ { shortName: 184, obisCode: '59.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIII, L2' },
186
+ { shortName: 185, obisCode: '79.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIII, L3' },
187
+ { shortName: 186, obisCode: '20.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIV' },
188
+ { shortName: 187, obisCode: '40.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIV, L1' },
189
+ { shortName: 188, obisCode: '60.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIV, L2' },
190
+ { shortName: 189, obisCode: '80.7.0', isStatic: true, isInstantaneous: true, description: 'active power QIV, L3' },
191
+ { shortName: 190, obisCode: '81.7.1', isStatic: true, isInstantaneous: true, description: 'angle of U(L2) - U(L1)' },
192
+ { shortName: 191, obisCode: '81.7.2', isStatic: true, isInstantaneous: true, description: 'angle of U(L3) - U(L2)' },
193
+ { shortName: 192, obisCode: '91.7.0', isStatic: true, isInstantaneous: true, description: 'L0 current (neutral)' },
194
+ { shortName: 193, obisCode: '0.0.0', isStatic: true, isAbstract: true, description: 'device ID' },
195
+ { shortName: 194, obisCode: '0.2.0', isStatic: true, isAbstract: true, description: 'active firmware identifier' },
196
+ { shortName: 195, obisCode: '0.2.1', isStatic: true, isAbstract: true, description: 'active firmware version' },
197
+ { shortName: 196, obisCode: '0.2.8', isStatic: true, isAbstract: true, description: 'active firmware signature' },
198
+ { shortName: 197, obisCode: '0.9.1', isStatic: true, isAbstract: true, description: 'local time' },
199
+ { shortName: 198, obisCode: '0.9.2', isStatic: true, isAbstract: true, description: 'local date' },
200
+ { shortName: 199, obisCode: 'F.F.0*255', isStatic: true, isAbstract: true, description: 'fatal error meter status' },
201
+ { shortName: 210, obisCode: 'C.5.0', isStatic: false, description: 'internal operating status, global' },
202
+ { shortName: 211, obisCode: 'C.5.1', isStatic: false, description: 'internal operating status (status word 1)' },
203
+ { shortName: 212, obisCode: 'C.5.2', isStatic: false, description: 'internal operating status (status word 2)' },
204
+ { shortName: 213, obisCode: 'C.5.3', isStatic: false, description: 'internal operating status (status word 3)' },
205
+ { shortName: 214, obisCode: 'C.5.4', isStatic: false, description: 'internal operating status (status word 4)' },
206
+ { shortName: 215, obisCode: 'C.5.5', isStatic: false, description: 'meter started status flag' },
207
+ { shortName: 216, obisCode: 'C.7.0', isStatic: false, description: 'number of power failures' },
208
+ { shortName: 217, obisCode: 'C.7.5', isStatic: false, description: 'number of long power failures' },
209
+ { shortName: 218, obisCode: 'C.10.0', isStatic: false, description: 'status information missing voltage' },
210
+ { shortName: 219, obisCode: 'C.10.1', isStatic: false, description: 'status information missing current' },
211
+ { shortName: 220, obisCode: 'C.10.2', isStatic: false, description: 'status information current without voltage' },
212
+ { shortName: 221, obisCode: 'C.10.3', isStatic: false, description: 'status information auxiliary power supply' },
213
+ { shortName: 222, obisCode: 'C.20.0', isStatic: false, description: 'meter open event counter' },
214
+ { shortName: 223, obisCode: 'C.20.1', isStatic: false, description: 'meter open event, time stamp of current event occurrence' },
215
+ { shortName: 224, obisCode: 'C.20.5', isStatic: false, description: 'terminal cover open event counter' },
216
+ { shortName: 225, obisCode: 'C.20.6', isStatic: false, description: 'terminal cover open event, time stamp of current event occurrence' },
217
+ { shortName: 226, obisCode: 'C.20.10', isStatic: false, description: 'tilt event counter' },
218
+ { shortName: 227, obisCode: 'C.20.11', isStatic: false, description: 'tilt event, time stamp of current event occurrence' },
219
+ { shortName: 228, obisCode: 'C.20.15', isStatic: false, description: 'strong DC magnetic field event counter' },
220
+ { shortName: 229, obisCode: 'C.20.16', isStatic: false, description: 'strong DC magnetic field event, time stamp of current event occurrence' },
221
+ { shortName: 230, obisCode: 'C.20.20', isStatic: false, description: 'supply control switch / valve tamper event counter' },
222
+ { shortName: 231, obisCode: 'C.20.21', isStatic: false, description: 'supply control switch / valve tamper event, time stamp of current event occurrence' },
223
+ { shortName: 232, obisCode: 'C.20.25', isStatic: false, description: 'metrology tamper event counter' },
224
+ { shortName: 233, obisCode: 'C.20.26', isStatic: false, description: 'metrology tamper event, time stamp of current event occurrence' },
225
+ { shortName: 234, obisCode: 'C.20.30', isStatic: false, description: 'communication tamper event counter' },
226
+ { shortName: 235, obisCode: 'C.20.31', isStatic: false, description: 'communication tamper event, time stamp of current event occurrence' }
227
+ ];
228
+ //# sourceMappingURL=shortNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortNames.js","sourceRoot":"","sources":["../../../src/obis-observer/constants/shortNames.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * as commands from './commands/index.js';
2
- export * as message from './message.js';
3
2
  export * as constants from './constants/index.js';
3
+ export * as message from './message.js';
4
+ export * as utils from './utils/index.js';
@@ -1,4 +1,5 @@
1
1
  export * as commands from './commands/index.js';
2
- export * as message from './message.js';
3
2
  export * as constants from './constants/index.js';
3
+ export * as message from './message.js';
4
+ export * as utils from './utils/index.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/obis-observer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/obis-observer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ export * as obis from './obis.js';
@@ -0,0 +1,2 @@
1
+ export * as obis from './obis.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/obis-observer/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IObis } from '../CommandBinaryBuffer.js';
2
+ export declare const toString: (obis: IObis) => string;
3
+ export declare const fromString: (obisString: string) => IObis;
@@ -0,0 +1,68 @@
1
+ import invertObject from '../../utils/invertObject.js';
2
+ const letterCodes = {
3
+ C: 96,
4
+ F: 97,
5
+ L: 98,
6
+ P: 99
7
+ };
8
+ const codeLetters = invertObject(letterCodes);
9
+ export const toString = (obis) => {
10
+ if (!obis || typeof obis !== 'object' || Object.keys(obis).length === 0) {
11
+ throw new Error('Must be an object with properties.');
12
+ }
13
+ const { a, b, c, d, e, f } = obis;
14
+ if (c === null || c === undefined || d === null || d === undefined) {
15
+ throw new Error('Properties "c" and "d" are mandatory.');
16
+ }
17
+ let result = '';
18
+ if (a && b) {
19
+ result += `${a}-${b}:`;
20
+ }
21
+ result += `${(codeLetters[c] ?? c)}.${(codeLetters[d] ?? d)}`;
22
+ if (e && f) {
23
+ result += `.${e}*${f}`;
24
+ }
25
+ else if (e) {
26
+ result += `.${e}`;
27
+ }
28
+ return result;
29
+ };
30
+ export const fromString = (obisString) => {
31
+ const result = {};
32
+ let unprocessed = obisString;
33
+ let parts;
34
+ parts = unprocessed.split('-');
35
+ if (parts.length > 1) {
36
+ [result.a, unprocessed] = parts;
37
+ }
38
+ parts = unprocessed.split(':');
39
+ if (parts.length > 1) {
40
+ [result.b, unprocessed] = parts;
41
+ }
42
+ parts = unprocessed.split('*');
43
+ if (parts.length > 1) {
44
+ [unprocessed, result.f] = parts;
45
+ }
46
+ parts = unprocessed.split('.');
47
+ if (parts.length > 1) {
48
+ [result.c, result.d, result.e] = parts;
49
+ }
50
+ Object.keys(result).forEach(groupName => {
51
+ const groupValue = result[groupName];
52
+ if (groupValue) {
53
+ const intValue = parseInt(letterCodes[groupValue] || groupValue, 10);
54
+ if (intValue < 0 || intValue > 255) {
55
+ throw new Error(`Value for group "${groupName}" should be in range [0..255].`);
56
+ }
57
+ result[groupName] = intValue;
58
+ }
59
+ else {
60
+ throw new Error(`Value for group "${groupName}" can't be empty.`);
61
+ }
62
+ });
63
+ if (!('c' in result && 'd' in result)) {
64
+ throw new Error('Properties "c" and "d" are mandatory.');
65
+ }
66
+ return result;
67
+ };
68
+ //# sourceMappingURL=obis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obis.js","sourceRoot":"","sources":["../../../src/obis-observer/utils/obis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type THashTable = Record<string, unknown>;
2
+ declare const _default: (source: THashTable) => THashTable;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ export default (source) => Object.fromEntries(Object
2
+ .entries(source)
3
+ .map(([key, value]) => [value, key]));
4
+ //# sourceMappingURL=invertObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invertObject.js","sourceRoot":"","sources":["../../src/utils/invertObject.ts"],"names":[],"mappings":"AASA,eAAe,CAAE,MAAkB,EAAe,EAAE,CAAC,MAAM,CAAC,WAAW,CACnE,MAAM;KACD,OAAO,CAAC,MAAM,CAAC;KACf,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC3C,CAAC"}
@@ -2,6 +2,6 @@ type BrandType<K, T> = K & {
2
2
  info?: T;
3
3
  };
4
4
  export type TTime2000 = BrandType<number, 'seconds'>;
5
- export declare const getDateFromSeconds: (time: TTime2000) => Date;
6
- export declare const getSecondsFromDate: (date: Date) => TTime2000;
5
+ export declare const getDateFromTime2000: (time2000: TTime2000) => Date;
6
+ export declare const getTime2000FromDate: (date: Date) => TTime2000;
7
7
  export {};
@@ -1,5 +1,5 @@
1
1
  const INITIAL_YEAR_TIMESTAMP = 946684800000;
2
2
  const MILLISECONDS_IN_SECONDS = 1000;
3
- export const getDateFromSeconds = (time) => new Date(INITIAL_YEAR_TIMESTAMP + (time * MILLISECONDS_IN_SECONDS));
4
- export const getSecondsFromDate = (date) => (date.getTime() - INITIAL_YEAR_TIMESTAMP) / MILLISECONDS_IN_SECONDS;
3
+ export const getDateFromTime2000 = (time2000) => new Date(INITIAL_YEAR_TIMESTAMP + (time2000 * MILLISECONDS_IN_SECONDS));
4
+ export const getTime2000FromDate = (date) => (date.getTime() - INITIAL_YEAR_TIMESTAMP) / MILLISECONDS_IN_SECONDS;
5
5
  //# sourceMappingURL=time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAiBA,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,uBAAuB,GAAG,IAAI,CAAC;AASrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAE,IAAe,EAAS,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,uBAAuB,CAAC,CAAC,CAAC;AAQnI,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAE,IAAU,EAAc,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAiBA,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,uBAAuB,GAAG,IAAI,CAAC;AASrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAE,QAAmB,EAAS,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,QAAQ,GAAG,uBAAuB,CAAC,CAAC,CAAC;AAQ5I,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAE,IAAU,EAAc,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,GAAG,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jooby-codec",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Jooby message encoders/decoders",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/readme.md CHANGED
@@ -99,6 +99,8 @@ const messageData = message.fromHex(
99
99
  It's possible to parse message with autodetect direction:
100
100
 
101
101
  ```js
102
+ // It is highly recommended to use a specific direction.
103
+ // AUTO is used here just for example.
102
104
  const messageData = message.fromHex(
103
105
  '02 01 01 18 06 0f 83 01 08 0a 0c 16 08 2f 97 0f 83 01 08 0a 0c ef',
104
106
  directions.AUTO
@@ -154,7 +156,7 @@ const commandInstancesArray = [
154
156
  hardwareTypes.GASI3
155
157
  ),
156
158
  new DayMC({
157
- startTime: 756604800,
159
+ startTime2000: 756604800,
158
160
  channelList: [
159
161
  {value: 131, index: 3},
160
162
  {value: 8, index: 5},