@utiliread/primitives 1.0.0-146 → 1.0.0-148

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 (123) hide show
  1. package/dist/index.js +120 -25
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +120 -25
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/precision-number.d.ts +10 -0
  6. package/package.json +9 -6
  7. package/src/aggregate-id.ts +2 -9
  8. package/src/breakdown-rule.spec.ts +61 -61
  9. package/src/breakdown-rule.ts +58 -58
  10. package/src/csv.spec.ts +42 -42
  11. package/src/csv.ts +8 -9
  12. package/src/cursor-navigation-state.spec.ts +194 -194
  13. package/src/cursor-navigation-state.ts +168 -168
  14. package/src/index.ts +61 -61
  15. package/src/measure-id.ts +17 -17
  16. package/src/measures/duration.ts +11 -11
  17. package/src/measures/energy.ts +13 -13
  18. package/src/measures/humidity.ts +3 -3
  19. package/src/measures/infocode.ts +3 -3
  20. package/src/measures/mass-flow.ts +19 -19
  21. package/src/measures/mass.ts +10 -10
  22. package/src/measures/noise.ts +5 -5
  23. package/src/measures/power.ts +23 -23
  24. package/src/measures/pressure.ts +9 -9
  25. package/src/measures/reactive-energy.ts +7 -7
  26. package/src/measures/reactive-power.ts +3 -3
  27. package/src/measures/temperature.ts +9 -9
  28. package/src/measures/time.ts +3 -3
  29. package/src/measures/volume-flow.ts +25 -25
  30. package/src/measures/volume.ts +3 -3
  31. package/src/medium.spec.ts +12 -12
  32. package/src/medium.ts +47 -47
  33. package/src/number-formatter.spec.ts +570 -549
  34. package/src/number-formatter.ts +126 -118
  35. package/src/optional.ts +1 -1
  36. package/src/precision-number.spec.ts +382 -251
  37. package/src/precision-number.ts +229 -123
  38. package/src/register-convention.spec.ts +52 -52
  39. package/src/register-convention.ts +70 -70
  40. package/src/register-definition.ts +23 -23
  41. package/src/register-id.ts +288 -288
  42. package/src/register-library.spec.ts +41 -41
  43. package/src/register-library.ts +64 -64
  44. package/src/register-pack.ts +5 -5
  45. package/src/register-utils.ts +6 -6
  46. package/src/registers/acoustic-noise.ts +52 -52
  47. package/src/registers/ambient-temperature.ts +52 -52
  48. package/src/registers/axioma-infocode.ts +16 -16
  49. package/src/registers/consumer.ts +17 -17
  50. package/src/registers/cooling-energy-inlet.ts +23 -23
  51. package/src/registers/cooling-energy-outlet.ts +23 -23
  52. package/src/registers/cooling-energy.ts +23 -23
  53. package/src/registers/cooling.ts +113 -113
  54. package/src/registers/device-addresses-kamdraft.ts +14 -14
  55. package/src/registers/device-addresses-msisdn.ts +14 -14
  56. package/src/registers/device-addresses-tchlr.ts +14 -14
  57. package/src/registers/device-addresses-wmbus.ts +17 -17
  58. package/src/registers/device-date-time.ts +9 -9
  59. package/src/registers/device-date.ts +9 -9
  60. package/src/registers/device-nominal-diameter.ts +9 -9
  61. package/src/registers/device-permanent-volume-flow.ts +9 -9
  62. package/src/registers/device-registers.ts +9 -9
  63. package/src/registers/device-samples.ts +37 -37
  64. package/src/registers/device-software-version.ts +8 -8
  65. package/src/registers/device-time.ts +9 -9
  66. package/src/registers/device.ts +16 -16
  67. package/src/registers/diehl-infocode.ts +44 -44
  68. package/src/registers/electrical-energy.ts +23 -23
  69. package/src/registers/energy-inlet.ts +23 -23
  70. package/src/registers/energy-outlet.ts +23 -23
  71. package/src/registers/error-operating-time.ts +23 -23
  72. package/src/registers/flow-temperature-aux.ts +52 -52
  73. package/src/registers/flow-temperature-inlet.ts +52 -52
  74. package/src/registers/flow-temperature-outlet.ts +52 -52
  75. package/src/registers/flow-temperature.ts +52 -52
  76. package/src/registers/heat-energy-inlet.ts +65 -65
  77. package/src/registers/heat-energy-outlet.ts +65 -65
  78. package/src/registers/heat-energy.ts +65 -65
  79. package/src/registers/index.ts +71 -71
  80. package/src/registers/infocode.ts +70 -70
  81. package/src/registers/kamstrup-module-type.ts +8 -8
  82. package/src/registers/kamstrup-multical-infocode.ts +58 -58
  83. package/src/registers/landis-gyr-infocode.ts +23 -23
  84. package/src/registers/landis-gyr-mbus-status.ts +23 -23
  85. package/src/registers/mass-flow-inlet.ts +52 -52
  86. package/src/registers/mass-flow-outlet.ts +52 -52
  87. package/src/registers/mass-flow.ts +52 -52
  88. package/src/registers/mass-inlet.ts +23 -23
  89. package/src/registers/mass-outlet.ts +23 -23
  90. package/src/registers/mass.ts +23 -23
  91. package/src/registers/mbus-format-string-signature.ts +8 -8
  92. package/src/registers/none.ts +8 -8
  93. package/src/registers/operating-time.ts +23 -23
  94. package/src/registers/place.ts +31 -31
  95. package/src/registers/power-inlet.ts +52 -52
  96. package/src/registers/power-outlet.ts +52 -52
  97. package/src/registers/power.ts +52 -52
  98. package/src/registers/pressure-inlet.ts +52 -52
  99. package/src/registers/pressure-outlet.ts +52 -52
  100. package/src/registers/pressure.ts +52 -52
  101. package/src/registers/radiator-temperature.ts +52 -52
  102. package/src/registers/reactive-energy.ts +23 -23
  103. package/src/registers/relative-humidity.ts +8 -8
  104. package/src/registers/remaining-battery-time.ts +23 -23
  105. package/src/registers/time-last-exact-overhearing-arrived.ts +19 -19
  106. package/src/registers/time-last-installation-mounted.ts +19 -19
  107. package/src/registers/time-last-possible-candidate-overhearing-arrived.ts +21 -21
  108. package/src/registers/time-last-sampled.ts +19 -19
  109. package/src/registers/time.ts +45 -45
  110. package/src/registers/volume-flow-inlet.ts +52 -52
  111. package/src/registers/volume-flow-outlet.ts +52 -52
  112. package/src/registers/volume-flow.ts +52 -52
  113. package/src/registers/volume-inlet.ts +23 -23
  114. package/src/registers/volume-outlet.ts +23 -23
  115. package/src/registers/volume-pulse-input-a.ts +23 -23
  116. package/src/registers/volume-pulse-input-b.ts +23 -23
  117. package/src/registers/volume.ts +23 -23
  118. package/src/repository.spec.ts +30 -30
  119. package/src/repository.ts +26 -26
  120. package/src/step.spec.ts +37 -37
  121. package/src/step.ts +45 -45
  122. package/src/time-or-rule.ts +42 -42
  123. package/src/unit-id.ts +108 -108
@@ -1,113 +1,113 @@
1
- import { sqUnits, units } from "../measures/temperature";
2
-
3
- import type { RegisterDefinition } from "../register-definition";
4
-
5
- export const inletMinusOutletFlowTemperatureDifference: RegisterDefinition = {
6
- id: "inletMinusOutletFlowTemperatureDifference",
7
- measure: "temperature",
8
- aggregate: "instant",
9
- units,
10
- };
11
-
12
- export const minInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
13
- {
14
- id: "minInletMinusOutletFlowTemperatureDifference",
15
- measure: "temperature",
16
- aggregate: "min",
17
- units,
18
- };
19
-
20
- export const maxInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
21
- {
22
- id: "maxInletMinusOutletFlowTemperatureDifference",
23
- measure: "temperature",
24
- aggregate: "max",
25
- units,
26
- };
27
-
28
- export const avgInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
29
- {
30
- id: "avgInletMinusOutletFlowTemperatureDifference",
31
- measure: "temperature",
32
- aggregate: "avg",
33
- units,
34
- };
35
-
36
- export const sumInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
37
- {
38
- id: "sumInletMinusOutletFlowTemperatureDifference",
39
- measure: "temperature",
40
- aggregate: "sum",
41
- units,
42
- };
43
-
44
- export const cntInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
45
- {
46
- id: "cntInletMinusOutletFlowTemperatureDifference",
47
- measure: "temperature",
48
- aggregate: "cnt",
49
- units: ["unitless"],
50
- };
51
-
52
- export const ssqInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
53
- {
54
- id: "ssqInletMinusOutletFlowTemperatureDifference",
55
- measure: "temperature",
56
- aggregate: "ssq",
57
- units: sqUnits,
58
- };
59
-
60
- export const outletMinusInletFlowTemperatureDifference: RegisterDefinition = {
61
- id: "outletMinusInletFlowTemperatureDifference",
62
- measure: "temperature",
63
- aggregate: "instant",
64
- units,
65
- };
66
-
67
- export const minOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
68
- {
69
- id: "minOutletMinusInletFlowTemperatureDifference",
70
- measure: "temperature",
71
- aggregate: "min",
72
- units,
73
- };
74
-
75
- export const maxOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
76
- {
77
- id: "maxOutletMinusInletFlowTemperatureDifference",
78
- measure: "temperature",
79
- aggregate: "max",
80
- units,
81
- };
82
-
83
- export const avgOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
84
- {
85
- id: "avgOutletMinusInletFlowTemperatureDifference",
86
- measure: "temperature",
87
- aggregate: "avg",
88
- units,
89
- };
90
-
91
- export const sumOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
92
- {
93
- id: "sumOutletMinusInletFlowTemperatureDifference",
94
- measure: "temperature",
95
- aggregate: "sum",
96
- units,
97
- };
98
-
99
- export const cntOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
100
- {
101
- id: "cntOutletMinusInletFlowTemperatureDifference",
102
- measure: "temperature",
103
- aggregate: "cnt",
104
- units: ["unitless"],
105
- };
106
-
107
- export const ssqOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
108
- {
109
- id: "ssqOutletMinusInletFlowTemperatureDifference",
110
- measure: "temperature",
111
- aggregate: "ssq",
112
- units: sqUnits,
113
- };
1
+ import { sqUnits, units } from "../measures/temperature";
2
+
3
+ import type { RegisterDefinition } from "../register-definition";
4
+
5
+ export const inletMinusOutletFlowTemperatureDifference: RegisterDefinition = {
6
+ id: "inletMinusOutletFlowTemperatureDifference",
7
+ measure: "temperature",
8
+ aggregate: "instant",
9
+ units,
10
+ };
11
+
12
+ export const minInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
13
+ {
14
+ id: "minInletMinusOutletFlowTemperatureDifference",
15
+ measure: "temperature",
16
+ aggregate: "min",
17
+ units,
18
+ };
19
+
20
+ export const maxInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
21
+ {
22
+ id: "maxInletMinusOutletFlowTemperatureDifference",
23
+ measure: "temperature",
24
+ aggregate: "max",
25
+ units,
26
+ };
27
+
28
+ export const avgInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
29
+ {
30
+ id: "avgInletMinusOutletFlowTemperatureDifference",
31
+ measure: "temperature",
32
+ aggregate: "avg",
33
+ units,
34
+ };
35
+
36
+ export const sumInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
37
+ {
38
+ id: "sumInletMinusOutletFlowTemperatureDifference",
39
+ measure: "temperature",
40
+ aggregate: "sum",
41
+ units,
42
+ };
43
+
44
+ export const cntInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
45
+ {
46
+ id: "cntInletMinusOutletFlowTemperatureDifference",
47
+ measure: "temperature",
48
+ aggregate: "cnt",
49
+ units: ["unitless"],
50
+ };
51
+
52
+ export const ssqInletMinusOutletFlowTemperatureDifference: RegisterDefinition =
53
+ {
54
+ id: "ssqInletMinusOutletFlowTemperatureDifference",
55
+ measure: "temperature",
56
+ aggregate: "ssq",
57
+ units: sqUnits,
58
+ };
59
+
60
+ export const outletMinusInletFlowTemperatureDifference: RegisterDefinition = {
61
+ id: "outletMinusInletFlowTemperatureDifference",
62
+ measure: "temperature",
63
+ aggregate: "instant",
64
+ units,
65
+ };
66
+
67
+ export const minOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
68
+ {
69
+ id: "minOutletMinusInletFlowTemperatureDifference",
70
+ measure: "temperature",
71
+ aggregate: "min",
72
+ units,
73
+ };
74
+
75
+ export const maxOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
76
+ {
77
+ id: "maxOutletMinusInletFlowTemperatureDifference",
78
+ measure: "temperature",
79
+ aggregate: "max",
80
+ units,
81
+ };
82
+
83
+ export const avgOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
84
+ {
85
+ id: "avgOutletMinusInletFlowTemperatureDifference",
86
+ measure: "temperature",
87
+ aggregate: "avg",
88
+ units,
89
+ };
90
+
91
+ export const sumOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
92
+ {
93
+ id: "sumOutletMinusInletFlowTemperatureDifference",
94
+ measure: "temperature",
95
+ aggregate: "sum",
96
+ units,
97
+ };
98
+
99
+ export const cntOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
100
+ {
101
+ id: "cntOutletMinusInletFlowTemperatureDifference",
102
+ measure: "temperature",
103
+ aggregate: "cnt",
104
+ units: ["unitless"],
105
+ };
106
+
107
+ export const ssqOutletMinusInletFlowTemperatureDifference: RegisterDefinition =
108
+ {
109
+ id: "ssqOutletMinusInletFlowTemperatureDifference",
110
+ measure: "temperature",
111
+ aggregate: "ssq",
112
+ units: sqUnits,
113
+ };
@@ -1,14 +1,14 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const kamdraftDeviceAddresses: RegisterDefinition = {
4
- id: "kamdraftDeviceAddresses",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["json"],
8
- immediate: true,
9
- };
10
-
11
- export interface KamdraftDeviceAddress {
12
- _t: "kamdraft";
13
- serialNumber: number;
14
- }
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const kamdraftDeviceAddresses: RegisterDefinition = {
4
+ id: "kamdraftDeviceAddresses",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["json"],
8
+ immediate: true,
9
+ };
10
+
11
+ export interface KamdraftDeviceAddress {
12
+ _t: "kamdraft";
13
+ serialNumber: number;
14
+ }
@@ -1,14 +1,14 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const msisdnDeviceAddresses: RegisterDefinition = {
4
- id: "msisdnDeviceAddresses",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["json"],
8
- immediate: true,
9
- };
10
-
11
- export interface MsisdnDeviceAddress {
12
- _t: "msisdn";
13
- msisdn: number;
14
- }
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const msisdnDeviceAddresses: RegisterDefinition = {
4
+ id: "msisdnDeviceAddresses",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["json"],
8
+ immediate: true,
9
+ };
10
+
11
+ export interface MsisdnDeviceAddress {
12
+ _t: "msisdn";
13
+ msisdn: number;
14
+ }
@@ -1,14 +1,14 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const tchlrDeviceAddresses: RegisterDefinition = {
4
- id: "tchlrDeviceAddresses",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["json"],
8
- immediate: true,
9
- };
10
-
11
- export interface TchlrDeviceAddress {
12
- _t: "tchlr";
13
- serialNumber: number;
14
- }
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const tchlrDeviceAddresses: RegisterDefinition = {
4
+ id: "tchlrDeviceAddresses",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["json"],
8
+ immediate: true,
9
+ };
10
+
11
+ export interface TchlrDeviceAddress {
12
+ _t: "tchlr";
13
+ serialNumber: number;
14
+ }
@@ -1,17 +1,17 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const wMBusDeviceAddresses: RegisterDefinition = {
4
- id: "wMBusDeviceAddresses",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["json"],
8
- immediate: true,
9
- };
10
-
11
- export interface WMBusDeviceAddress {
12
- _t: "wmbus";
13
- manufacturerCode: number;
14
- serialNumber: number;
15
- version: number;
16
- type: number;
17
- }
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const wMBusDeviceAddresses: RegisterDefinition = {
4
+ id: "wMBusDeviceAddresses",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["json"],
8
+ immediate: true,
9
+ };
10
+
11
+ export interface WMBusDeviceAddress {
12
+ _t: "wmbus";
13
+ manufacturerCode: number;
14
+ serialNumber: number;
15
+ version: number;
16
+ type: number;
17
+ }
@@ -1,9 +1,9 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/time";
3
-
4
- export const deviceDateTime: RegisterDefinition = {
5
- id: "deviceDateTime",
6
- measure: "time",
7
- aggregate: "instant",
8
- units,
9
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/time";
3
+
4
+ export const deviceDateTime: RegisterDefinition = {
5
+ id: "deviceDateTime",
6
+ measure: "time",
7
+ aggregate: "instant",
8
+ units,
9
+ };
@@ -1,9 +1,9 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/time";
3
-
4
- export const deviceDate: RegisterDefinition = {
5
- id: "deviceDate",
6
- measure: "time",
7
- aggregate: "instant",
8
- units,
9
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/time";
3
+
4
+ export const deviceDate: RegisterDefinition = {
5
+ id: "deviceDate",
6
+ measure: "time",
7
+ aggregate: "instant",
8
+ units,
9
+ };
@@ -1,9 +1,9 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const deviceNominalDiameter: RegisterDefinition = {
4
- id: "deviceNominalDiameter",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["unitless"],
8
- immediate: true,
9
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const deviceNominalDiameter: RegisterDefinition = {
4
+ id: "deviceNominalDiameter",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["unitless"],
8
+ immediate: true,
9
+ };
@@ -1,9 +1,9 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const devicePermanentVolumeFlow: RegisterDefinition = {
4
- id: "devicePermanentVolumeFlow",
5
- measure: "volumeFlow",
6
- aggregate: "instant",
7
- units: ["cubicMetersPerHour"],
8
- immediate: true,
9
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const devicePermanentVolumeFlow: RegisterDefinition = {
4
+ id: "devicePermanentVolumeFlow",
5
+ measure: "volumeFlow",
6
+ aggregate: "instant",
7
+ units: ["cubicMetersPerHour"],
8
+ immediate: true,
9
+ };
@@ -1,9 +1,9 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const deviceRegisters: RegisterDefinition = {
4
- id: "deviceRegisters",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["json"],
8
- immediate: true,
9
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const deviceRegisters: RegisterDefinition = {
4
+ id: "deviceRegisters",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["json"],
8
+ immediate: true,
9
+ };
@@ -1,37 +1,37 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import type { RegisterId } from "../register-id";
3
- import type { UnitId } from "../unit-id";
4
-
5
- export const legacyDeviceSamples: RegisterDefinition = {
6
- id: "legacyDeviceSamples",
7
- measure: "none",
8
- aggregate: "instant",
9
- units: ["json"],
10
- immediate: true,
11
- };
12
-
13
- export const deviceSamplesOnLastMount: RegisterDefinition = {
14
- id: "deviceSamplesOnLastMount",
15
- measure: "none",
16
- aggregate: "instant",
17
- units: ["json"],
18
- immediate: true,
19
- };
20
-
21
- export const deviceSamplesOnLastUnmount: RegisterDefinition = {
22
- id: "deviceSamplesOnLastUnmount",
23
- measure: "none",
24
- aggregate: "instant",
25
- units: ["json"],
26
- immediate: true,
27
- };
28
-
29
- export type DeviceSamples = DeviceSample[];
30
-
31
- export interface DeviceSample {
32
- register: RegisterId;
33
- instantOrPeriodEnd: string;
34
- value: number;
35
- precision: number;
36
- unit: UnitId;
37
- }
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import type { RegisterId } from "../register-id";
3
+ import type { UnitId } from "../unit-id";
4
+
5
+ export const legacyDeviceSamples: RegisterDefinition = {
6
+ id: "legacyDeviceSamples",
7
+ measure: "none",
8
+ aggregate: "instant",
9
+ units: ["json"],
10
+ immediate: true,
11
+ };
12
+
13
+ export const deviceSamplesOnLastMount: RegisterDefinition = {
14
+ id: "deviceSamplesOnLastMount",
15
+ measure: "none",
16
+ aggregate: "instant",
17
+ units: ["json"],
18
+ immediate: true,
19
+ };
20
+
21
+ export const deviceSamplesOnLastUnmount: RegisterDefinition = {
22
+ id: "deviceSamplesOnLastUnmount",
23
+ measure: "none",
24
+ aggregate: "instant",
25
+ units: ["json"],
26
+ immediate: true,
27
+ };
28
+
29
+ export type DeviceSamples = DeviceSample[];
30
+
31
+ export interface DeviceSample {
32
+ register: RegisterId;
33
+ instantOrPeriodEnd: string;
34
+ value: number;
35
+ precision: number;
36
+ unit: UnitId;
37
+ }
@@ -1,8 +1,8 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const deviceSoftwareVersion: RegisterDefinition = {
4
- id: "deviceSoftwareVersion",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["unitless"],
8
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const deviceSoftwareVersion: RegisterDefinition = {
4
+ id: "deviceSoftwareVersion",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["unitless"],
8
+ };
@@ -1,9 +1,9 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/time";
3
-
4
- export const deviceTime: RegisterDefinition = {
5
- id: "deviceTime",
6
- measure: "time",
7
- aggregate: "instant",
8
- units,
9
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/time";
3
+
4
+ export const deviceTime: RegisterDefinition = {
5
+ id: "deviceTime",
6
+ measure: "time",
7
+ aggregate: "instant",
8
+ units,
9
+ };
@@ -1,16 +1,16 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const device: RegisterDefinition = {
4
- id: "device",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["json"],
8
- immediate: true,
9
- };
10
-
11
- export interface Device {
12
- id: number;
13
- deviceNumber: string;
14
- manufacturerName: string;
15
- modelName: string;
16
- }
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const device: RegisterDefinition = {
4
+ id: "device",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["json"],
8
+ immediate: true,
9
+ };
10
+
11
+ export interface Device {
12
+ id: number;
13
+ deviceNumber: string;
14
+ manufacturerName: string;
15
+ modelName: string;
16
+ }