jooby-codec 2.5.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/analog/CommandBinaryBuffer.js +6 -11
  2. package/dist/analog/CommandBinaryBuffer.js.map +1 -1
  3. package/dist/analog/commands/downlink/GetArchiveDays.js +3 -3
  4. package/dist/analog/commands/downlink/GetArchiveDays.js.map +1 -1
  5. package/dist/analog/commands/downlink/GetArchiveDaysMC.d.ts +1 -1
  6. package/dist/analog/commands/downlink/GetArchiveDaysMC.js +3 -3
  7. package/dist/analog/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  8. package/dist/analog/commands/downlink/GetArchiveHours.js +4 -4
  9. package/dist/analog/commands/downlink/GetArchiveHours.js.map +1 -1
  10. package/dist/analog/commands/downlink/GetArchiveHoursMC.js +4 -4
  11. package/dist/analog/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  12. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.js +3 -3
  13. package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.js.map +1 -1
  14. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.js +1 -1
  15. package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.js.map +1 -1
  16. package/dist/analog/commands/uplink/Day.js +1 -1
  17. package/dist/analog/commands/uplink/Day.js.map +1 -1
  18. package/dist/analog/commands/uplink/DayMC.js +3 -5
  19. package/dist/analog/commands/uplink/DayMC.js.map +1 -1
  20. package/dist/analog/commands/uplink/ExAbsDayMC.js +2 -2
  21. package/dist/analog/commands/uplink/ExAbsDayMC.js.map +1 -1
  22. package/dist/analog/commands/uplink/ExAbsHourMC.js +5 -6
  23. package/dist/analog/commands/uplink/ExAbsHourMC.js.map +1 -1
  24. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.js +2 -2
  25. package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.js.map +1 -1
  26. package/dist/analog/commands/uplink/GetArchiveDaysResponse.js +2 -2
  27. package/dist/analog/commands/uplink/GetArchiveDaysResponse.js.map +1 -1
  28. package/dist/analog/commands/uplink/GetArchiveHoursMCResponse.js +2 -2
  29. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.js +5 -5
  30. package/dist/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.js.map +1 -1
  31. package/dist/analog/commands/uplink/HourMC.js +5 -28
  32. package/dist/analog/commands/uplink/HourMC.js.map +1 -1
  33. package/dist/obis-observer/commands/downlink/GetArchiveState.d.ts +16 -0
  34. package/dist/obis-observer/commands/downlink/GetArchiveState.js +42 -0
  35. package/dist/obis-observer/commands/downlink/GetArchiveState.js.map +1 -0
  36. package/dist/obis-observer/commands/downlink/GetDate.d.ts +13 -0
  37. package/dist/obis-observer/commands/downlink/GetDate.js +39 -0
  38. package/dist/obis-observer/commands/downlink/GetDate.js.map +1 -0
  39. package/dist/obis-observer/commands/downlink/GetLorawanState.d.ts +13 -0
  40. package/dist/obis-observer/commands/downlink/GetLorawanState.js +39 -0
  41. package/dist/obis-observer/commands/downlink/GetLorawanState.js.map +1 -0
  42. package/dist/obis-observer/commands/downlink/GetReadoutState.d.ts +13 -0
  43. package/dist/obis-observer/commands/downlink/GetReadoutState.js +39 -0
  44. package/dist/obis-observer/commands/downlink/GetReadoutState.js.map +1 -0
  45. package/dist/obis-observer/commands/downlink/index.d.ts +4 -0
  46. package/dist/obis-observer/commands/downlink/index.js +4 -0
  47. package/dist/obis-observer/commands/downlink/index.js.map +1 -1
  48. package/dist/obis-observer/commands/uplink/GetArchiveStateResponse.d.ts +19 -0
  49. package/dist/obis-observer/commands/uplink/GetArchiveStateResponse.js +58 -0
  50. package/dist/obis-observer/commands/uplink/GetArchiveStateResponse.js.map +1 -0
  51. package/dist/obis-observer/commands/uplink/GetDateResponse.d.ts +18 -0
  52. package/dist/obis-observer/commands/uplink/GetDateResponse.js +47 -0
  53. package/dist/obis-observer/commands/uplink/GetDateResponse.js.map +1 -0
  54. package/dist/obis-observer/commands/uplink/GetLorawanStateResponse.d.ts +22 -0
  55. package/dist/obis-observer/commands/uplink/GetLorawanStateResponse.js +62 -0
  56. package/dist/obis-observer/commands/uplink/GetLorawanStateResponse.js.map +1 -0
  57. package/dist/obis-observer/commands/uplink/GetReadoutStateResponse.d.ts +27 -0
  58. package/dist/obis-observer/commands/uplink/GetReadoutStateResponse.js +77 -0
  59. package/dist/obis-observer/commands/uplink/GetReadoutStateResponse.js.map +1 -0
  60. package/dist/obis-observer/commands/uplink/index.d.ts +4 -0
  61. package/dist/obis-observer/commands/uplink/index.js +4 -0
  62. package/dist/obis-observer/commands/uplink/index.js.map +1 -1
  63. package/dist/obis-observer/constants/index.d.ts +1 -0
  64. package/dist/obis-observer/constants/index.js +1 -0
  65. package/dist/obis-observer/constants/index.js.map +1 -1
  66. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GetArchiveDaysResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetArchiveDaysResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAqC,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;AAYtE,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gCAAgC;QACtC,UAAU,EAAE;YACR,aAAa,EAAE,UAAU;YACzB,OAAO,EAAE;gBACL,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC;aAC1C;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAC;KACpD;CACJ,CAAC;AAyBF,MAAM,sBAAuB,SAAQ,OAAO;IACxC,YAAqB,UAA6C;QAC9D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAmC;IAElE,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,OAAQ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAG;YAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,sBAAsB,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC3F,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAhCe,yBAAE,GAAG,UAAU,CAAC;AAEhB,oCAAa,GAAG,MAAM,CAAC;AAEvB,+BAAQ,GAAG,QAAQ,CAAC;AAEpB,oCAAa,GAAG,IAAI,CAAC;AA8BzC,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"GetArchiveDaysResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetArchiveDaysResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAqC,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;AAYtE,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gCAAgC;QACtC,UAAU,EAAE;YACR,aAAa,EAAE,UAAU;YACzB,OAAO,EAAE;gBACL,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC;aAC1C;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAC;KACpD;CACJ,CAAC;AAyBF,MAAM,sBAAuB,SAAQ,OAAO;IACxC,YAAqB,UAA6C;QAC9D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAmC;IAElE,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,OAAQ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAG;YAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,sBAAsB,CAAC,EAAC,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAC,CAAC,CAAC;IAC3F,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,aAAa,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAhCe,yBAAE,GAAG,UAAU,CAAC;AAEhB,oCAAa,GAAG,MAAM,CAAC;AAEvB,+BAAQ,GAAG,QAAQ,CAAC;AAEpB,oCAAa,GAAG,IAAI,CAAC;AA8BzC,eAAe,sBAAsB,CAAC"}
@@ -8,7 +8,7 @@ const examples = [
8
8
  name: '4 channels at 2023.12.23 12:00:00 GMT',
9
9
  parameters: {
10
10
  startTime2000: 756648000,
11
- hours: 1,
11
+ hours: 2,
12
12
  channelList: [
13
13
  { index: 1, value: 131, diff: [10] },
14
14
  { index: 2, value: 8, diff: [10] },
@@ -16,7 +16,7 @@ const examples = [
16
16
  { index: 4, value: 12, diff: [10] }
17
17
  ]
18
18
  },
19
- hex: { header: '1a 0d', body: '2f 97 0c 0f 83 01 0a 08 0a 08 0a 0c 0a' }
19
+ hex: { header: '1a 0d', body: '2f 97 2c 0f 83 01 0a 08 0a 08 0a 0c 0a' }
20
20
  }
21
21
  ];
22
22
  class GetArchiveHoursMCResponse extends Command {
@@ -9,12 +9,12 @@ const examples = [
9
9
  name: '1 channel at 2023.12.23 12:00:00 GMT',
10
10
  parameters: {
11
11
  startTime2000: 756648000,
12
- hours: 1,
12
+ hours: 2,
13
13
  channelList: [
14
14
  { value: 234, index: 2, diff: [2] }
15
15
  ]
16
16
  },
17
- hex: { header: '1f 0c 07', body: '2f 97 0c 02 ea 01 02' }
17
+ hex: { header: '1f 0c 07', body: '2f 97 2c 02 ea 01 02' }
18
18
  }
19
19
  ];
20
20
  class GetExAbsArchiveHoursMCResponse extends Command {
@@ -33,7 +33,7 @@ class GetExAbsArchiveHoursMCResponse extends Command {
33
33
  channels.forEach(channelIndex => {
34
34
  const value = buffer.getExtendedValue();
35
35
  const diff = [];
36
- for (let hourIndex = 0; hourIndex < hours; ++hourIndex) {
36
+ for (let hourIndex = 1; hourIndex < hours; ++hourIndex) {
37
37
  diff.push(buffer.getExtendedValue());
38
38
  }
39
39
  channelList.push({
@@ -42,11 +42,11 @@ class GetExAbsArchiveHoursMCResponse extends Command {
42
42
  index: channelIndex
43
43
  });
44
44
  });
45
- return new GetExAbsArchiveHoursMCResponse({ channelList, hours, startTime2000: getTime2000FromDate(date) });
45
+ return new GetExAbsArchiveHoursMCResponse({ startTime2000: getTime2000FromDate(date), hours, channelList });
46
46
  }
47
47
  toBytes() {
48
48
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
49
- const { channelList, startTime2000, hours } = this.parameters;
49
+ const { startTime2000, hours, channelList } = this.parameters;
50
50
  const date = getDateFromTime2000(startTime2000);
51
51
  const hour = date.getUTCHours();
52
52
  buffer.setDate(date);
@@ -1 +1 @@
1
- {"version":3,"file":"GetExAbsArchiveHoursMCResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GetExAbsArchiveHoursMCResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetExAbsArchiveHoursMCResponse.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import Command from '../../Command.js';
2
2
  import CurrentMC from './CurrentMC.js';
3
- import { getTime2000FromDate, getDateFromTime2000 } from '../../../utils/time.js';
4
3
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
5
4
  import { UPLINK } from '../../constants/directions.js';
6
5
  const COMMAND_ID = 0x17;
@@ -10,7 +9,7 @@ const examples = [
10
9
  name: '4 first channels at 2023.12.23 12:00:00 GMT',
11
10
  parameters: {
12
11
  startTime2000: 756648000,
13
- hours: 1,
12
+ hours: 2,
14
13
  channelList: [
15
14
  { index: 1, value: 131, diff: [10] },
16
15
  { index: 2, value: 832, diff: [12] },
@@ -18,7 +17,7 @@ const examples = [
18
17
  { index: 4, value: 234, diff: [11] }
19
18
  ]
20
19
  },
21
- hex: { header: '17 0f', body: '2f 97 0c 0f 83 01 0a c0 06 0c 26 08 ea 01 0b' }
20
+ hex: { header: '17 0f', body: '2f 97 2c 0f 83 01 0a c0 06 0c 26 08 ea 01 0b' }
22
21
  }
23
22
  ];
24
23
  class HourMC extends CurrentMC {
@@ -28,34 +27,12 @@ class HourMC extends CurrentMC {
28
27
  }
29
28
  static fromBytes(data) {
30
29
  const buffer = new CommandBinaryBuffer(data);
31
- const date = buffer.getDate();
32
- const { hour, hours } = buffer.getHours();
33
- const channels = buffer.getChannels();
34
- const channelList = [];
35
- let value;
36
- date.setUTCHours(hour);
37
- channels.forEach(channelIndex => {
38
- value = buffer.getExtendedValue();
39
- const diff = [];
40
- for (let diffHour = 0; diffHour < hours; ++diffHour) {
41
- diff.push(buffer.getExtendedValue());
42
- }
43
- channelList.push({ value, index: channelIndex, diff });
44
- });
45
- return new HourMC({ channelList, hours, startTime2000: getTime2000FromDate(date) });
30
+ return new HourMC(buffer.getChannelsValuesWithHourDiff());
46
31
  }
47
32
  toBytes() {
48
33
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
49
- const { channelList, startTime2000, hours } = this.parameters;
50
- const date = getDateFromTime2000(startTime2000);
51
- const hour = date.getUTCHours();
52
- buffer.setDate(date);
53
- buffer.setHours(hour, hours);
54
- buffer.setChannels(channelList);
55
- for (const { value, diff } of channelList) {
56
- buffer.setExtendedValue(value);
57
- diff.forEach(diffValue => buffer.setExtendedValue(diffValue));
58
- }
34
+ const { startTime2000, hours, channelList } = this.parameters;
35
+ buffer.setChannelsValuesWithHourDiff(hours, startTime2000, channelList);
59
36
  return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
60
37
  }
61
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HourMC.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/HourMC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HourMC.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/HourMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAUrD,MAAM,UAAU,GAAG,IAAI,CAAC;AAKxB,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,6CAA6C;QACnD,UAAU,EAAE;YACR,aAAa,EAAE,SAAS;YACxB,KAAK,EAAE,CAAC;YACR,WAAW,EAAE;gBACT,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC;gBAClC,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC;gBAClC,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAC;gBAChC,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC;aACrC;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,8CAA8C,EAAC;KAC/E;CACJ,CAAC;AA+BF,MAAM,MAAO,SAAQ,SAAS;IAC1B,YAAqB,UAA6B;QAC9C,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAmB;IAElD,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC9D,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE5D,MAAM,CAAC,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAxBe,SAAE,GAAG,UAAU,CAAC;AAEhB,oBAAa,GAAG,MAAM,CAAC;AAEvB,eAAQ,GAAG,QAAQ,CAAC;AAEpB,oBAAa,GAAG,IAAI,CAAC;AAsBzC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,16 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ interface IGetArchiveStateParameters extends ICommandParameters {
4
+ profile: number;
5
+ }
6
+ declare class GetArchiveState extends Command {
7
+ parameters: IGetArchiveStateParameters;
8
+ constructor(parameters: IGetArchiveStateParameters);
9
+ static readonly id = 40;
10
+ static readonly directionType = 1;
11
+ static readonly examples: TCommandExampleList;
12
+ static readonly hasParameters = true;
13
+ static fromBytes(data: Uint8Array): GetArchiveState;
14
+ toBytes(): Uint8Array;
15
+ }
16
+ export default GetArchiveState;
@@ -0,0 +1,42 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer, { REQUEST_ID_SIZE } from '../../CommandBinaryBuffer.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
4
+ const COMMAND_ID = 0x28;
5
+ const COMMAND_SIZE = REQUEST_ID_SIZE + 1;
6
+ const examples = [
7
+ {
8
+ name: 'get archive state',
9
+ parameters: {
10
+ requestId: 5,
11
+ profile: 1
12
+ },
13
+ hex: { header: '28', body: '05 01' }
14
+ }
15
+ ];
16
+ class GetArchiveState extends Command {
17
+ constructor(parameters) {
18
+ super();
19
+ this.parameters = parameters;
20
+ this.size = COMMAND_SIZE;
21
+ }
22
+ static fromBytes(data) {
23
+ const buffer = new CommandBinaryBuffer(data);
24
+ return new GetArchiveState({
25
+ requestId: buffer.getUint8(),
26
+ profile: buffer.getUint8()
27
+ });
28
+ }
29
+ toBytes() {
30
+ const buffer = new CommandBinaryBuffer(COMMAND_SIZE);
31
+ const { requestId, profile } = this.parameters;
32
+ buffer.setUint8(requestId);
33
+ buffer.setUint8(profile);
34
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
35
+ }
36
+ }
37
+ GetArchiveState.id = COMMAND_ID;
38
+ GetArchiveState.directionType = DOWNLINK;
39
+ GetArchiveState.examples = examples;
40
+ GetArchiveState.hasParameters = true;
41
+ export default GetArchiveState;
42
+ //# sourceMappingURL=GetArchiveState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetArchiveState.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/downlink/GetArchiveState.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAC,eAAe,EAAqB,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAWvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,YAAY,GAAG,eAAe,GAAG,CAAC,CAAC;AAEzC,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;SACb;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC;KACrC;CACJ,CAAC;AAuBF,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAAsC;QACvD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA4B;QAGvD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,eAAe,CAAC;YACvB,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC7B,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,EAAC,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE7C,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AA5Be,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAQ,GAAG,QAAQ,CAAC;AAEpB,6BAAa,GAAG,IAAI,CAAC;AA0BzC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ declare class GetDate extends Command {
4
+ parameters: ICommandParameters;
5
+ constructor(parameters: ICommandParameters);
6
+ static readonly id = 34;
7
+ static readonly directionType = 1;
8
+ static readonly examples: TCommandExampleList;
9
+ static readonly hasParameters = true;
10
+ static fromBytes(data: Uint8Array): GetDate;
11
+ toBytes(): Uint8Array;
12
+ }
13
+ export default GetDate;
@@ -0,0 +1,39 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer, { REQUEST_ID_SIZE } from '../../CommandBinaryBuffer.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
4
+ const COMMAND_ID = 0x22;
5
+ const examples = [
6
+ {
7
+ name: 'simple request',
8
+ parameters: {
9
+ requestId: 8
10
+ },
11
+ hex: { header: '22', body: '08' }
12
+ }
13
+ ];
14
+ class GetDate extends Command {
15
+ constructor(parameters) {
16
+ super();
17
+ this.parameters = parameters;
18
+ this.size = REQUEST_ID_SIZE;
19
+ }
20
+ static fromBytes(data) {
21
+ const buffer = new CommandBinaryBuffer(data);
22
+ return new GetDate({ requestId: buffer.getUint8() });
23
+ }
24
+ toBytes() {
25
+ if (typeof this.size !== 'number') {
26
+ throw new Error('unknown or invalid size');
27
+ }
28
+ const buffer = new CommandBinaryBuffer(this.size);
29
+ const { requestId } = this.parameters;
30
+ buffer.setUint8(requestId);
31
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
32
+ }
33
+ }
34
+ GetDate.id = COMMAND_ID;
35
+ GetDate.directionType = DOWNLINK;
36
+ GetDate.examples = examples;
37
+ GetDate.hasParameters = true;
38
+ export default GetDate;
39
+ //# sourceMappingURL=GetDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDate.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/downlink/GetDate.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAqB,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;SACf;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;KAClC;CACJ,CAAC;AAsBF,MAAM,OAAQ,SAAQ,OAAO;IACzB,YAAqB,UAA8B;QAC/C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoB;QAG/C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,OAAO,CAAC,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;IACvD,CAAC;IAGD,OAAO;QACH,IAAK,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAG;YACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,EAAC,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AA5Be,UAAE,GAAG,UAAU,CAAC;AAEhB,qBAAa,GAAG,QAAQ,CAAC;AAEzB,gBAAQ,GAAG,QAAQ,CAAC;AAEpB,qBAAa,GAAG,IAAI,CAAC;AA0BzC,eAAe,OAAO,CAAC"}
@@ -0,0 +1,13 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ declare class GetLorawanState extends Command {
4
+ parameters: ICommandParameters;
5
+ constructor(parameters: ICommandParameters);
6
+ static readonly id = 36;
7
+ static readonly directionType = 1;
8
+ static readonly examples: TCommandExampleList;
9
+ static readonly hasParameters = true;
10
+ static fromBytes(data: Uint8Array): GetLorawanState;
11
+ toBytes(): Uint8Array;
12
+ }
13
+ export default GetLorawanState;
@@ -0,0 +1,39 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer, { REQUEST_ID_SIZE } from '../../CommandBinaryBuffer.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
4
+ const COMMAND_ID = 0x24;
5
+ const examples = [
6
+ {
7
+ name: 'simple request',
8
+ parameters: {
9
+ requestId: 8
10
+ },
11
+ hex: { header: '24', body: '08' }
12
+ }
13
+ ];
14
+ class GetLorawanState extends Command {
15
+ constructor(parameters) {
16
+ super();
17
+ this.parameters = parameters;
18
+ this.size = REQUEST_ID_SIZE;
19
+ }
20
+ static fromBytes(data) {
21
+ const buffer = new CommandBinaryBuffer(data);
22
+ return new GetLorawanState({ requestId: buffer.getUint8() });
23
+ }
24
+ toBytes() {
25
+ if (typeof this.size !== 'number') {
26
+ throw new Error('unknown or invalid size');
27
+ }
28
+ const buffer = new CommandBinaryBuffer(this.size);
29
+ const { requestId } = this.parameters;
30
+ buffer.setUint8(requestId);
31
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
32
+ }
33
+ }
34
+ GetLorawanState.id = COMMAND_ID;
35
+ GetLorawanState.directionType = DOWNLINK;
36
+ GetLorawanState.examples = examples;
37
+ GetLorawanState.hasParameters = true;
38
+ export default GetLorawanState;
39
+ //# sourceMappingURL=GetLorawanState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetLorawanState.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/downlink/GetLorawanState.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAqB,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;SACf;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;KAClC;CACJ,CAAC;AAsBF,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8B;QAC/C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoB;QAG/C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,eAAe,CAAC,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;IAC/D,CAAC;IAGD,OAAO;QACH,IAAK,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAG;YACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,EAAC,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AA5Be,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAQ,GAAG,QAAQ,CAAC;AAEpB,6BAAa,GAAG,IAAI,CAAC;AA0BzC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ declare class GetReadoutState extends Command {
4
+ parameters: ICommandParameters;
5
+ constructor(parameters: ICommandParameters);
6
+ static readonly id = 38;
7
+ static readonly directionType = 1;
8
+ static readonly examples: TCommandExampleList;
9
+ static readonly hasParameters = true;
10
+ static fromBytes(data: Uint8Array): GetReadoutState;
11
+ toBytes(): Uint8Array;
12
+ }
13
+ export default GetReadoutState;
@@ -0,0 +1,39 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer, { REQUEST_ID_SIZE } from '../../CommandBinaryBuffer.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
4
+ const COMMAND_ID = 0x26;
5
+ const examples = [
6
+ {
7
+ name: 'simple request',
8
+ parameters: {
9
+ requestId: 8
10
+ },
11
+ hex: { header: '26', body: '08' }
12
+ }
13
+ ];
14
+ class GetReadoutState extends Command {
15
+ constructor(parameters) {
16
+ super();
17
+ this.parameters = parameters;
18
+ this.size = REQUEST_ID_SIZE;
19
+ }
20
+ static fromBytes(data) {
21
+ const buffer = new CommandBinaryBuffer(data);
22
+ return new GetReadoutState({ requestId: buffer.getUint8() });
23
+ }
24
+ toBytes() {
25
+ if (typeof this.size !== 'number') {
26
+ throw new Error('unknown or invalid size');
27
+ }
28
+ const buffer = new CommandBinaryBuffer(this.size);
29
+ const { requestId } = this.parameters;
30
+ buffer.setUint8(requestId);
31
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
32
+ }
33
+ }
34
+ GetReadoutState.id = COMMAND_ID;
35
+ GetReadoutState.directionType = DOWNLINK;
36
+ GetReadoutState.examples = examples;
37
+ GetReadoutState.hasParameters = true;
38
+ export default GetReadoutState;
39
+ //# sourceMappingURL=GetReadoutState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetReadoutState.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/downlink/GetReadoutState.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAqB,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;SACf;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;KAClC;CACJ,CAAC;AAsBF,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8B;QAC/C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoB;QAG/C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,eAAe,CAAC,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;IAC/D,CAAC;IAGD,OAAO;QACH,IAAK,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAG;YACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,EAAC,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AA5Be,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAQ,GAAG,QAAQ,CAAC;AAEpB,6BAAa,GAAG,IAAI,CAAC;AA0BzC,eAAe,eAAe,CAAC"}
@@ -1,9 +1,13 @@
1
1
  export { default as AddShortNameProfile } from './AddShortNameProfile.js';
2
2
  export { default as GetArchiveProfile } from './GetArchiveProfile.js';
3
+ export { default as GetArchiveState } from './GetArchiveState.js';
3
4
  export { default as GetContentByObis } from './GetContentByObis.js';
4
5
  export { default as GetContentByShortName } from './GetContentByShortName.js';
6
+ export { default as GetDate } from './GetDate.js';
5
7
  export { default as GetDeviceInfo } from './GetDeviceInfo.js';
6
8
  export { default as GetLorawanInfo } from './GetLorawanInfo.js';
9
+ export { default as GetLorawanState } from './GetLorawanState.js';
10
+ export { default as GetReadoutState } from './GetReadoutState.js';
7
11
  export { default as GetShortNameInfo } from './GetShortNameInfo.js';
8
12
  export { default as GetShortNameProfile } from './GetShortNameProfile.js';
9
13
  export { default as GetShortNames } from './GetShortNames.js';
@@ -1,9 +1,13 @@
1
1
  export { default as AddShortNameProfile } from './AddShortNameProfile.js';
2
2
  export { default as GetArchiveProfile } from './GetArchiveProfile.js';
3
+ export { default as GetArchiveState } from './GetArchiveState.js';
3
4
  export { default as GetContentByObis } from './GetContentByObis.js';
4
5
  export { default as GetContentByShortName } from './GetContentByShortName.js';
6
+ export { default as GetDate } from './GetDate.js';
5
7
  export { default as GetDeviceInfo } from './GetDeviceInfo.js';
6
8
  export { default as GetLorawanInfo } from './GetLorawanInfo.js';
9
+ export { default as GetLorawanState } from './GetLorawanState.js';
10
+ export { default as GetReadoutState } from './GetReadoutState.js';
7
11
  export { default as GetShortNameInfo } from './GetShortNameInfo.js';
8
12
  export { default as GetShortNameProfile } from './GetShortNameProfile.js';
9
13
  export { default as GetShortNames } from './GetShortNames.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/downlink/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/downlink/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ import { TTime2000 } from '../../../utils/time.js';
4
+ interface IGetArchiveStateResponseParameters extends ICommandParameters {
5
+ archiveRecordsNumber: number;
6
+ eldestTime2000: TTime2000;
7
+ newestTime2000: TTime2000;
8
+ }
9
+ declare class GetArchiveStateResponse extends Command {
10
+ parameters: IGetArchiveStateResponseParameters;
11
+ constructor(parameters: IGetArchiveStateResponseParameters);
12
+ static readonly id = 41;
13
+ static readonly directionType = 2;
14
+ static readonly examples: TCommandExampleList;
15
+ static readonly hasParameters = true;
16
+ static fromBytes(data: Uint8Array): GetArchiveStateResponse;
17
+ toBytes(): Uint8Array;
18
+ }
19
+ export default GetArchiveStateResponse;
@@ -0,0 +1,58 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer, { REQUEST_ID_SIZE, DATE_TIME_SIZE } from '../../CommandBinaryBuffer.js';
3
+ import { UPLINK } from '../../constants/directions.js';
4
+ const COMMAND_ID = 0x29;
5
+ const COMMAND_SIZE = REQUEST_ID_SIZE + 4 + DATE_TIME_SIZE * 2;
6
+ const examples = [
7
+ {
8
+ name: 'no archive records',
9
+ parameters: {
10
+ requestId: 2,
11
+ archiveRecordsNumber: 0,
12
+ eldestTime2000: 0,
13
+ newestTime2000: 0
14
+ },
15
+ hex: { header: '29', body: '02 00 00 00 00 00 00 00 00 00 00 00 00' }
16
+ },
17
+ {
18
+ name: '81 records from 2023.06.27 18:45:02 GMT to 2023.06.28 15:15:02 GMT',
19
+ parameters: {
20
+ requestId: 2,
21
+ archiveRecordsNumber: 81,
22
+ eldestTime2000: 741206702,
23
+ newestTime2000: 741280502
24
+ },
25
+ hex: { header: '29', body: '02 00 00 00 51 2c 2d ea ae 2c 2f 0a f6' }
26
+ }
27
+ ];
28
+ class GetArchiveStateResponse extends Command {
29
+ constructor(parameters) {
30
+ super();
31
+ this.parameters = parameters;
32
+ this.size = COMMAND_SIZE;
33
+ }
34
+ static fromBytes(data) {
35
+ const buffer = new CommandBinaryBuffer(data);
36
+ return new GetArchiveStateResponse({
37
+ requestId: buffer.getUint8(),
38
+ archiveRecordsNumber: buffer.getUint32(),
39
+ eldestTime2000: buffer.getUint32(),
40
+ newestTime2000: buffer.getUint32()
41
+ });
42
+ }
43
+ toBytes() {
44
+ const buffer = new CommandBinaryBuffer(COMMAND_SIZE);
45
+ const { requestId, archiveRecordsNumber, eldestTime2000, newestTime2000 } = this.parameters;
46
+ buffer.setUint8(requestId);
47
+ buffer.setUint32(archiveRecordsNumber);
48
+ buffer.setUint32(eldestTime2000);
49
+ buffer.setUint32(newestTime2000);
50
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
51
+ }
52
+ }
53
+ GetArchiveStateResponse.id = COMMAND_ID;
54
+ GetArchiveStateResponse.directionType = UPLINK;
55
+ GetArchiveStateResponse.examples = examples;
56
+ GetArchiveStateResponse.hasParameters = true;
57
+ export default GetArchiveStateResponse;
58
+ //# sourceMappingURL=GetArchiveStateResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetArchiveStateResponse.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/uplink/GetArchiveStateResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAC,eAAe,EAAsB,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAarD,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB,MAAM,YAAY,GAAG,eAAe,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,CAAC;AAE9D,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;YACZ,oBAAoB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;SACpB;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAC;KACtE;IACD;QACI,IAAI,EAAE,oEAAoE;QAC1E,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;YACZ,oBAAoB,EAAE,EAAE;YACxB,cAAc,EAAE,SAAS;YACzB,cAAc,EAAE,SAAS;SAC5B;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAC;KACtE;CACJ,CAAC;AA2BF,MAAM,uBAAwB,SAAQ,OAAO;IACzC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;QAG/D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,uBAAuB,CAAC;YAC/B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC5B,oBAAoB,EAAE,MAAM,CAAC,SAAS,EAAE;YACxC,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE;YAClC,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE;SACrC,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,EAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE1F,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAEjC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAhCe,0BAAE,GAAG,UAAU,CAAC;AAEhB,qCAAa,GAAG,MAAM,CAAC;AAEvB,gCAAQ,GAAG,QAAQ,CAAC;AAEpB,qCAAa,GAAG,IAAI,CAAC;AA8BzC,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ import { TTime2000 } from '../../../utils/time.js';
4
+ interface IGetDateResponseParameters extends ICommandParameters {
5
+ time2000: TTime2000;
6
+ uptime: number;
7
+ }
8
+ declare class GetDateResponse extends Command {
9
+ parameters: IGetDateResponseParameters;
10
+ constructor(parameters: IGetDateResponseParameters);
11
+ static readonly id = 35;
12
+ static readonly directionType = 2;
13
+ static readonly examples: TCommandExampleList;
14
+ static readonly hasParameters = true;
15
+ static fromBytes(data: Uint8Array): GetDateResponse;
16
+ toBytes(): Uint8Array;
17
+ }
18
+ export default GetDateResponse;
@@ -0,0 +1,47 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer, { REQUEST_ID_SIZE, DATE_TIME_SIZE } from '../../CommandBinaryBuffer.js';
3
+ import { UPLINK } from '../../constants/directions.js';
4
+ const COMMAND_ID = 0x23;
5
+ const examples = [
6
+ {
7
+ name: 'current date and time info',
8
+ parameters: {
9
+ requestId: 7,
10
+ time2000: 741280502,
11
+ uptime: 4016
12
+ },
13
+ hex: { header: '23', body: '07 2c 2f 0a f6 00 00 0f b0' }
14
+ }
15
+ ];
16
+ class GetDateResponse extends Command {
17
+ constructor(parameters) {
18
+ super();
19
+ this.parameters = parameters;
20
+ this.size = REQUEST_ID_SIZE + DATE_TIME_SIZE + 4;
21
+ }
22
+ static fromBytes(data) {
23
+ const buffer = new CommandBinaryBuffer(data);
24
+ return new GetDateResponse({
25
+ requestId: buffer.getUint8(),
26
+ time2000: buffer.getUint32(),
27
+ uptime: buffer.getUint32()
28
+ });
29
+ }
30
+ toBytes() {
31
+ if (typeof this.size !== 'number') {
32
+ throw new Error('unknown or invalid size');
33
+ }
34
+ const buffer = new CommandBinaryBuffer(this.size);
35
+ const { requestId, time2000, uptime } = this.parameters;
36
+ buffer.setUint8(requestId);
37
+ buffer.setUint32(time2000);
38
+ buffer.setUint32(uptime);
39
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
40
+ }
41
+ }
42
+ GetDateResponse.id = COMMAND_ID;
43
+ GetDateResponse.directionType = UPLINK;
44
+ GetDateResponse.examples = examples;
45
+ GetDateResponse.hasParameters = true;
46
+ export default GetDateResponse;
47
+ //# sourceMappingURL=GetDateResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDateResponse.js","sourceRoot":"","sources":["../../../../src/obis-observer/commands/uplink/GetDateResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAC,eAAe,EAAsB,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAYrD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE;YACR,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;SACf;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAC;KAC1D;CACJ,CAAC;AA0BF,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAAsC;QACvD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA4B;QAGvD,IAAI,CAAC,IAAI,GAAG,eAAe,GAAG,cAAc,GAAG,CAAC,CAAC;IACrD,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,eAAe,CAAC;YACvB,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC5B,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE;YAC5B,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;SAC7B,CAAC,CAAC;IACP,CAAC;IAGD,OAAO;QACH,IAAK,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAG;YACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,MAAM,CAAC;AAEvB,wBAAQ,GAAG,QAAQ,CAAC;AAEpB,6BAAa,GAAG,IAAI,CAAC;AAgCzC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,22 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { ICommandParameters } from '../../CommandBinaryBuffer.js';
3
+ interface IGetLorawanStateResponseParameters extends ICommandParameters {
4
+ downlinkQuality: number;
5
+ rssi: number;
6
+ snr: number;
7
+ deviceMargin: number;
8
+ gateMargin: number;
9
+ resetFlag: number;
10
+ senderCollision: number;
11
+ }
12
+ declare class GetLorawanStateResponse extends Command {
13
+ parameters: IGetLorawanStateResponseParameters;
14
+ constructor(parameters: IGetLorawanStateResponseParameters);
15
+ static readonly id = 37;
16
+ static readonly directionType = 2;
17
+ static readonly examples: TCommandExampleList;
18
+ static readonly hasParameters = true;
19
+ static fromBytes(data: Uint8Array): GetLorawanStateResponse;
20
+ toBytes(): Uint8Array;
21
+ }
22
+ export default GetLorawanStateResponse;