@victronenergy/mfd-modules 10.4.2 → 11.1.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 (234) hide show
  1. package/README.md +1 -1
  2. package/dist/src/Modules/AcLoads/AcLoads.provider.d.ts.map +1 -1
  3. package/dist/src/Modules/AcLoads/AcLoads.provider.js +19 -19
  4. package/dist/src/Modules/AcLoads/AcLoads.provider.js.map +1 -1
  5. package/dist/src/Modules/AcMode/AcMode.provider.d.ts.map +1 -1
  6. package/dist/src/Modules/AcMode/AcMode.provider.js +19 -31
  7. package/dist/src/Modules/AcMode/AcMode.provider.js.map +1 -1
  8. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.js +17 -17
  9. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.js.map +1 -1
  10. package/dist/src/Modules/ActiveSource/ActiveSource.provider.js +11 -11
  11. package/dist/src/Modules/ActiveSource/ActiveSource.provider.js.map +1 -1
  12. package/dist/src/Modules/Alternators/Alternator.provider.d.ts.map +1 -1
  13. package/dist/src/Modules/Alternators/Alternator.provider.js +7 -8
  14. package/dist/src/Modules/Alternators/Alternator.provider.js.map +1 -1
  15. package/dist/src/Modules/Alternators/Alternators.provider.d.ts.map +1 -1
  16. package/dist/src/Modules/Alternators/Alternators.provider.js +16 -14
  17. package/dist/src/Modules/Alternators/Alternators.provider.js.map +1 -1
  18. package/dist/src/Modules/Alternators/Alternators.store.d.ts.map +1 -1
  19. package/dist/src/Modules/Alternators/Alternators.store.js +7 -10
  20. package/dist/src/Modules/Alternators/Alternators.store.js.map +1 -1
  21. package/dist/src/Modules/App/App.provider.js +47 -47
  22. package/dist/src/Modules/App/App.provider.js.map +1 -1
  23. package/dist/src/Modules/App/App.store.d.ts +2 -2
  24. package/dist/src/Modules/App/App.store.d.ts.map +1 -1
  25. package/dist/src/Modules/App/App.store.js +67 -110
  26. package/dist/src/Modules/App/App.store.js.map +1 -1
  27. package/dist/src/Modules/Battery/Batteries.provider.d.ts.map +1 -1
  28. package/dist/src/Modules/Battery/Batteries.provider.js +16 -14
  29. package/dist/src/Modules/Battery/Batteries.provider.js.map +1 -1
  30. package/dist/src/Modules/Battery/Batteries.store.d.ts.map +1 -1
  31. package/dist/src/Modules/Battery/Batteries.store.js +7 -10
  32. package/dist/src/Modules/Battery/Batteries.store.js.map +1 -1
  33. package/dist/src/Modules/Battery/SystemBatteries.provider.js +5 -5
  34. package/dist/src/Modules/Battery/SystemBatteries.provider.js.map +1 -1
  35. package/dist/src/Modules/Chargers/Charger.provider.js +23 -33
  36. package/dist/src/Modules/Chargers/Charger.provider.js.map +1 -1
  37. package/dist/src/Modules/Chargers/Chargers.provider.d.ts.map +1 -1
  38. package/dist/src/Modules/Chargers/Chargers.provider.js +16 -15
  39. package/dist/src/Modules/Chargers/Chargers.provider.js.map +1 -1
  40. package/dist/src/Modules/Chargers/Chargers.store.d.ts.map +1 -1
  41. package/dist/src/Modules/Chargers/Chargers.store.js +7 -10
  42. package/dist/src/Modules/Chargers/Chargers.store.js.map +1 -1
  43. package/dist/src/Modules/DcLoads/DcLoads.provider.d.ts.map +1 -1
  44. package/dist/src/Modules/DcLoads/DcLoads.provider.js +9 -20
  45. package/dist/src/Modules/DcLoads/DcLoads.provider.js.map +1 -1
  46. package/dist/src/Modules/Generators/ConnectedGenset.provider.d.ts.map +1 -1
  47. package/dist/src/Modules/Generators/ConnectedGenset.provider.js +36 -47
  48. package/dist/src/Modules/Generators/ConnectedGenset.provider.js.map +1 -1
  49. package/dist/src/Modules/Generators/ConnectedGensets.provider.d.ts.map +1 -1
  50. package/dist/src/Modules/Generators/ConnectedGensets.provider.js +16 -14
  51. package/dist/src/Modules/Generators/ConnectedGensets.provider.js.map +1 -1
  52. package/dist/src/Modules/Generators/ConnectedGensets.store.d.ts.map +1 -1
  53. package/dist/src/Modules/Generators/ConnectedGensets.store.js +8 -11
  54. package/dist/src/Modules/Generators/ConnectedGensets.store.js.map +1 -1
  55. package/dist/src/Modules/Generators/GeneratorConnectedGenset.provider.js +17 -27
  56. package/dist/src/Modules/Generators/GeneratorConnectedGenset.provider.js.map +1 -1
  57. package/dist/src/Modules/Generators/GeneratorRelay.provider.d.ts +2 -2
  58. package/dist/src/Modules/Generators/GeneratorRelay.provider.d.ts.map +1 -1
  59. package/dist/src/Modules/Generators/GeneratorRelay.provider.js +24 -34
  60. package/dist/src/Modules/Generators/GeneratorRelay.provider.js.map +1 -1
  61. package/dist/src/Modules/Header/Header.provider.js +4 -4
  62. package/dist/src/Modules/Header/Header.provider.js.map +1 -1
  63. package/dist/src/Modules/InverterCharger/InputLimit.provider.js +6 -17
  64. package/dist/src/Modules/InverterCharger/InputLimit.provider.js.map +1 -1
  65. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.d.ts.map +1 -1
  66. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.js +12 -26
  67. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.js.map +1 -1
  68. package/dist/src/Modules/InverterCharger/InverterCharger.provider.d.ts.map +1 -1
  69. package/dist/src/Modules/InverterCharger/InverterCharger.provider.js +16 -27
  70. package/dist/src/Modules/InverterCharger/InverterCharger.provider.js.map +1 -1
  71. package/dist/src/Modules/Inverters/Inverter.provider.d.ts.map +1 -1
  72. package/dist/src/Modules/Inverters/Inverter.provider.js +19 -30
  73. package/dist/src/Modules/Inverters/Inverter.provider.js.map +1 -1
  74. package/dist/src/Modules/Inverters/Inverters.provider.d.ts.map +1 -1
  75. package/dist/src/Modules/Inverters/Inverters.provider.js +14 -13
  76. package/dist/src/Modules/Inverters/Inverters.provider.js.map +1 -1
  77. package/dist/src/Modules/Inverters/Inverters.store.d.ts.map +1 -1
  78. package/dist/src/Modules/Inverters/Inverters.store.js +7 -10
  79. package/dist/src/Modules/Inverters/Inverters.store.js.map +1 -1
  80. package/dist/src/Modules/Inverters/index.js.map +1 -1
  81. package/dist/src/Modules/Language/Language.provider.d.ts +1 -1
  82. package/dist/src/Modules/Language/Language.provider.d.ts.map +1 -1
  83. package/dist/src/Modules/Language/Language.provider.js +21 -56
  84. package/dist/src/Modules/Language/Language.provider.js.map +1 -1
  85. package/dist/src/Modules/Mqtt/Mqtt.constants.js +1 -1
  86. package/dist/src/Modules/Mqtt/Mqtt.constants.js.map +1 -1
  87. package/dist/src/Modules/Mqtt/Mqtt.provider.d.ts +2 -2
  88. package/dist/src/Modules/Mqtt/Mqtt.provider.d.ts.map +1 -1
  89. package/dist/src/Modules/Mqtt/Mqtt.provider.js +4 -4
  90. package/dist/src/Modules/Mqtt/Mqtt.provider.js.map +1 -1
  91. package/dist/src/Modules/Mqtt/Mqtt.store.d.ts +3 -3
  92. package/dist/src/Modules/Mqtt/Mqtt.store.d.ts.map +1 -1
  93. package/dist/src/Modules/Mqtt/Mqtt.store.js +169 -193
  94. package/dist/src/Modules/Mqtt/Mqtt.store.js.map +1 -1
  95. package/dist/src/Modules/Mqtt/Mqtt.types.d.ts +1 -1
  96. package/dist/src/Modules/Mqtt/Mqtt.types.d.ts.map +1 -1
  97. package/dist/src/Modules/Mqtt/Mqtt.types.js +0 -1
  98. package/dist/src/Modules/Mqtt/Mqtt.types.js.map +1 -1
  99. package/dist/src/Modules/PvCharger/PvCharger.provider.js +8 -8
  100. package/dist/src/Modules/PvCharger/PvCharger.provider.js.map +1 -1
  101. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.d.ts +4 -1
  102. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.d.ts.map +1 -1
  103. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.js +24 -35
  104. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.js.map +1 -1
  105. package/dist/src/Modules/ShorePowerInput/index.d.ts +0 -1
  106. package/dist/src/Modules/ShorePowerInput/index.d.ts.map +1 -1
  107. package/dist/src/Modules/ShorePowerInput/index.js +0 -1
  108. package/dist/src/Modules/ShorePowerInput/index.js.map +1 -1
  109. package/dist/src/Modules/SwitchingPane/GenericInput.provider.d.ts +27 -0
  110. package/dist/src/Modules/SwitchingPane/GenericInput.provider.d.ts.map +1 -0
  111. package/dist/src/Modules/SwitchingPane/GenericInput.provider.js +32 -0
  112. package/dist/src/Modules/SwitchingPane/GenericInput.provider.js.map +1 -0
  113. package/dist/src/Modules/{SwitchableOutputs → SwitchingPane}/SwitchableOutput.provider.d.ts +28 -9
  114. package/dist/src/Modules/SwitchingPane/SwitchableOutput.provider.d.ts.map +1 -0
  115. package/dist/src/Modules/SwitchingPane/SwitchableOutput.provider.js +59 -0
  116. package/dist/src/Modules/SwitchingPane/SwitchableOutput.provider.js.map +1 -0
  117. package/dist/src/Modules/SwitchingPane/SwitchingDevice.provider.d.ts.map +1 -0
  118. package/dist/src/Modules/SwitchingPane/SwitchingDevice.provider.js +48 -0
  119. package/dist/src/Modules/SwitchingPane/SwitchingDevice.provider.js.map +1 -0
  120. package/dist/src/Modules/SwitchingPane/SwitchingDevices.store.d.ts.map +1 -0
  121. package/dist/src/Modules/{SwitchableOutputs → SwitchingPane}/SwitchingDevices.store.js +7 -10
  122. package/dist/src/Modules/SwitchingPane/SwitchingDevices.store.js.map +1 -0
  123. package/dist/src/Modules/SwitchingPane/SwitchingPane.provider.d.ts +2 -0
  124. package/dist/src/Modules/SwitchingPane/SwitchingPane.provider.d.ts.map +1 -0
  125. package/dist/src/Modules/SwitchingPane/SwitchingPane.provider.js +274 -0
  126. package/dist/src/Modules/SwitchingPane/SwitchingPane.provider.js.map +1 -0
  127. package/dist/src/Modules/SwitchingPane/SwitchingPane.store.d.ts +53 -0
  128. package/dist/src/Modules/SwitchingPane/SwitchingPane.store.d.ts.map +1 -0
  129. package/dist/src/Modules/SwitchingPane/SwitchingPane.store.js +178 -0
  130. package/dist/src/Modules/SwitchingPane/SwitchingPane.store.js.map +1 -0
  131. package/dist/src/Modules/SwitchingPane/index.d.ts +7 -0
  132. package/dist/src/Modules/SwitchingPane/index.d.ts.map +1 -0
  133. package/dist/src/Modules/SwitchingPane/index.js +7 -0
  134. package/dist/src/Modules/SwitchingPane/index.js.map +1 -0
  135. package/dist/src/Modules/SystemState/SystemState.provider.js +5 -5
  136. package/dist/src/Modules/SystemState/SystemState.provider.js.map +1 -1
  137. package/dist/src/Modules/Tanks/Tank.provider.d.ts.map +1 -1
  138. package/dist/src/Modules/Tanks/Tank.provider.js +11 -11
  139. package/dist/src/Modules/Tanks/Tank.provider.js.map +1 -1
  140. package/dist/src/Modules/Tanks/Tanks.provider.d.ts.map +1 -1
  141. package/dist/src/Modules/Tanks/Tanks.provider.js +19 -18
  142. package/dist/src/Modules/Tanks/Tanks.provider.js.map +1 -1
  143. package/dist/src/Modules/Tanks/Tanks.store.d.ts.map +1 -1
  144. package/dist/src/Modules/Tanks/Tanks.store.js +7 -10
  145. package/dist/src/Modules/Tanks/Tanks.store.js.map +1 -1
  146. package/dist/src/Modules/Temperatures/Temperature.provider.d.ts.map +1 -1
  147. package/dist/src/Modules/Temperatures/Temperature.provider.js +29 -29
  148. package/dist/src/Modules/Temperatures/Temperature.provider.js.map +1 -1
  149. package/dist/src/Modules/Temperatures/Temperatures.provider.d.ts.map +1 -1
  150. package/dist/src/Modules/Temperatures/Temperatures.provider.js +18 -17
  151. package/dist/src/Modules/Temperatures/Temperatures.provider.js.map +1 -1
  152. package/dist/src/Modules/Temperatures/Temperatures.store.d.ts.map +1 -1
  153. package/dist/src/Modules/Temperatures/Temperatures.store.js +7 -10
  154. package/dist/src/Modules/Temperatures/Temperatures.store.js.map +1 -1
  155. package/dist/src/Modules/Temperatures/index.d.ts +3 -3
  156. package/dist/src/Modules/Temperatures/index.js +3 -3
  157. package/dist/src/Modules/Temperatures/index.js.map +1 -1
  158. package/dist/src/Modules/Theme/Theme.provider.js +6 -6
  159. package/dist/src/Modules/Theme/Theme.provider.js.map +1 -1
  160. package/dist/src/Modules/Theme/Theme.store.d.ts.map +1 -1
  161. package/dist/src/Modules/Theme/Theme.store.js +35 -38
  162. package/dist/src/Modules/Theme/Theme.store.js.map +1 -1
  163. package/dist/src/Modules/Vebus/Vebus.provider.d.ts.map +1 -1
  164. package/dist/src/Modules/Vebus/Vebus.provider.js +39 -48
  165. package/dist/src/Modules/Vebus/Vebus.provider.js.map +1 -1
  166. package/dist/src/Modules/Vebus/Vebus.store.d.ts.map +1 -1
  167. package/dist/src/Modules/Vebus/Vebus.store.js +11 -14
  168. package/dist/src/Modules/Vebus/Vebus.store.js.map +1 -1
  169. package/dist/src/Modules/Vrm/Vrm.store.d.ts.map +1 -1
  170. package/dist/src/Modules/Vrm/Vrm.store.js +85 -154
  171. package/dist/src/Modules/Vrm/Vrm.store.js.map +1 -1
  172. package/dist/src/Modules/Vrm/Vrm.types.js +0 -1
  173. package/dist/src/Modules/WindGenerators/WindGenerator.provider.d.ts.map +1 -1
  174. package/dist/src/Modules/WindGenerators/WindGenerator.provider.js +6 -7
  175. package/dist/src/Modules/WindGenerators/WindGenerator.provider.js.map +1 -1
  176. package/dist/src/Modules/WindGenerators/WindGenerators.provider.d.ts.map +1 -1
  177. package/dist/src/Modules/WindGenerators/WindGenerators.provider.js +21 -19
  178. package/dist/src/Modules/WindGenerators/WindGenerators.provider.js.map +1 -1
  179. package/dist/src/Modules/WindGenerators/WindGenerators.store.d.ts.map +1 -1
  180. package/dist/src/Modules/WindGenerators/WindGenerators.store.js +7 -10
  181. package/dist/src/Modules/WindGenerators/WindGenerators.store.js.map +1 -1
  182. package/dist/src/index.d.ts +2 -1
  183. package/dist/src/index.d.ts.map +1 -1
  184. package/dist/src/index.js +2 -1
  185. package/dist/src/index.js.map +1 -1
  186. package/dist/src/utils/constants.d.ts +57 -3
  187. package/dist/src/utils/constants.d.ts.map +1 -1
  188. package/dist/src/utils/constants.js +86 -30
  189. package/dist/src/utils/constants.js.map +1 -1
  190. package/dist/src/utils/hsvw.d.ts.map +1 -1
  191. package/dist/src/utils/hsvw.js +24 -25
  192. package/dist/src/utils/hsvw.js.map +1 -1
  193. package/dist/src/utils/logger.d.ts +5 -8
  194. package/dist/src/utils/logger.d.ts.map +1 -1
  195. package/dist/src/utils/logger.js +11 -23
  196. package/dist/src/utils/logger.js.map +1 -1
  197. package/dist/src/utils/storage.d.ts.map +1 -1
  198. package/dist/src/utils/storage.js +7 -6
  199. package/dist/src/utils/storage.js.map +1 -1
  200. package/dist/src/utils/util.d.ts +6 -15
  201. package/dist/src/utils/util.d.ts.map +1 -1
  202. package/dist/src/utils/util.js +8 -100
  203. package/dist/src/utils/util.js.map +1 -1
  204. package/package.json +26 -15
  205. package/dist/eslint.config.d.mts +0 -13
  206. package/dist/eslint.config.d.mts.map +0 -1
  207. package/dist/eslint.config.mjs +0 -28
  208. package/dist/eslint.config.mjs.map +0 -1
  209. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.d.ts +0 -11
  210. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.d.ts.map +0 -1
  211. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.js +0 -37
  212. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.js.map +0 -1
  213. package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.d.ts.map +0 -1
  214. package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.js +0 -67
  215. package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.js.map +0 -1
  216. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.provider.d.ts +0 -2
  217. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.provider.d.ts.map +0 -1
  218. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.provider.js +0 -168
  219. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.provider.js.map +0 -1
  220. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.store.d.ts +0 -38
  221. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.store.d.ts.map +0 -1
  222. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.store.js +0 -116
  223. package/dist/src/Modules/SwitchableOutputs/SwitchableOutputs.store.js.map +0 -1
  224. package/dist/src/Modules/SwitchableOutputs/SwitchingDevice.provider.d.ts.map +0 -1
  225. package/dist/src/Modules/SwitchableOutputs/SwitchingDevice.provider.js +0 -50
  226. package/dist/src/Modules/SwitchableOutputs/SwitchingDevice.provider.js.map +0 -1
  227. package/dist/src/Modules/SwitchableOutputs/SwitchingDevices.store.d.ts.map +0 -1
  228. package/dist/src/Modules/SwitchableOutputs/SwitchingDevices.store.js.map +0 -1
  229. package/dist/src/Modules/SwitchableOutputs/index.d.ts +0 -6
  230. package/dist/src/Modules/SwitchableOutputs/index.d.ts.map +0 -1
  231. package/dist/src/Modules/SwitchableOutputs/index.js +0 -6
  232. package/dist/src/Modules/SwitchableOutputs/index.js.map +0 -1
  233. /package/dist/src/Modules/{SwitchableOutputs → SwitchingPane}/SwitchingDevice.provider.d.ts +0 -0
  234. /package/dist/src/Modules/{SwitchableOutputs → SwitchingPane}/SwitchingDevices.store.d.ts +0 -0
@@ -3,25 +3,27 @@ import { useEffect, useMemo } from "react";
3
3
  import { useMqtt } from "../Mqtt";
4
4
  import { useConnectedGensetsStore } from "./ConnectedGensets.store";
5
5
  import { ConnectedGensetType } from "./ConnectedGenset.provider";
6
- export var useConnectedGensets = function (gensetType) {
7
- var store = useConnectedGensetsStore();
8
- var mqtt = useMqtt();
9
- var getTopics = function (portalId, gensetType) { return ({
10
- gensetInstances: "N/".concat(portalId, "/").concat(gensetType, "/+/DeviceInstance"),
11
- }); };
12
- var topics = useMemo(function () { return getTopics(mqtt.portalId, gensetType); }, [mqtt.portalId, gensetType]);
13
- var messages = mqtt.messagesByWildcard(topics.gensetInstances);
14
- useEffect(function () {
6
+ export const useConnectedGensets = (gensetType) => {
7
+ const store = useConnectedGensetsStore();
8
+ const mqtt = useMqtt();
9
+ const getTopics = (portalId, gensetType) => ({
10
+ gensetInstances: `N/${portalId}/${gensetType}/+/DeviceInstance`,
11
+ });
12
+ const topics = useMemo(() => getTopics(mqtt.portalId, gensetType), [mqtt.portalId, gensetType]);
13
+ const messages = mqtt.messagesByWildcard(topics.gensetInstances);
14
+ useEffect(() => {
15
15
  if (!messages || Object.entries(messages).length === 0) {
16
16
  // Logger.log(`Waiting for ${gensetType}s...`);
17
17
  }
18
18
  else {
19
- var gensets_1 = gensetType === ConnectedGensetType.ACGENSET ? store.acGensets : store.dcGensets;
20
- var deviceInstances = Object.values(messages).sort();
19
+ const gensets = gensetType === ConnectedGensetType.ACGENSET ? store.acGensets : store.dcGensets;
20
+ const deviceInstances = Object.values(messages).sort();
21
21
  // TODO: check unordered structural identify of old and new state
22
22
  // TODO: to avoid unnecessary re-rendering: O(n^2) baby
23
- if (!gensets_1 || gensets_1.length != deviceInstances.length || !deviceInstances.every(function (id) { return gensets_1.includes(id); })) {
24
- Logger.log("New ".concat(gensetType, "s instances: ").concat(JSON.stringify(deviceInstances)));
23
+ if (!gensets ||
24
+ gensets.length !== deviceInstances.length ||
25
+ !deviceInstances.every((id) => gensets.includes(id))) {
26
+ Logger.log(`New ${gensetType}s instances: ${JSON.stringify(deviceInstances)}`);
25
27
  switch (gensetType) {
26
28
  case ConnectedGensetType.ACGENSET:
27
29
  store.setACGensets(deviceInstances);
@@ -32,7 +34,7 @@ export var useConnectedGensets = function (gensetType) {
32
34
  }
33
35
  }
34
36
  }
35
- }, [messages]);
37
+ }, [messages, gensetType, store]);
36
38
  return store;
37
39
  };
38
40
  //# sourceMappingURL=ConnectedGensets.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedGensets.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAqB,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEpF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,UAA+B;IACjE,IAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;IACxC,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,UAA+B,IAAK,OAAA,CAAC;QAC1E,eAAe,EAAE,YAAK,QAAQ,cAAI,UAAU,sBAAmB;KAChE,CAAC,EAFyE,CAEzE,CAAA;IAEF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAEhE,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,+CAA+C;QACjD,CAAC;aAAM,CAAC;YACN,IAAM,SAAO,GAAG,UAAU,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;YAC/F,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAyB,CAAA;YAC7E,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,SAAO,IAAI,SAAO,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,SAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,EAAE,CAAC;gBACjH,MAAM,CAAC,GAAG,CAAC,cAAO,UAAU,0BAAgB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAE,CAAC,CAAC;gBAC/E,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,mBAAmB,CAAC,QAAQ;wBAC/B,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;wBACnC,MAAK;oBACP,KAAK,mBAAmB,CAAC,QAAQ;wBAC/B,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;wBACnC,MAAK;gBACT,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\"\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { useConnectedGensetsStore } from \"./ConnectedGensets.store\";\nimport { ConnectedGensetId, ConnectedGensetType } from \"./ConnectedGenset.provider\";\n\nexport const useConnectedGensets = (gensetType: ConnectedGensetType) => {\n const store = useConnectedGensetsStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId, gensetType: ConnectedGensetType) => ({\n gensetInstances: `N/${portalId}/${gensetType}/+/DeviceInstance`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId, gensetType), [mqtt.portalId, gensetType])\n\n const messages = mqtt.messagesByWildcard(topics.gensetInstances)\n\n useEffect(() => {\n if (!messages || Object.entries(messages).length === 0) {\n // Logger.log(`Waiting for ${gensetType}s...`);\n } else {\n const gensets = gensetType === ConnectedGensetType.ACGENSET ? store.acGensets : store.dcGensets\n const deviceInstances = Object.values(messages).sort() as ConnectedGensetId[]\n // TODO: check unordered structural identify of old and new state\n // TODO: to avoid unnecessary re-rendering: O(n^2) baby\n if (!gensets || gensets.length != deviceInstances.length || !deviceInstances.every((id) => gensets.includes(id))) {\n Logger.log(`New ${gensetType}s instances: ${JSON.stringify(deviceInstances)}`);\n switch (gensetType) {\n case ConnectedGensetType.ACGENSET:\n store.setACGensets(deviceInstances)\n break\n case ConnectedGensetType.DCGENSET:\n store.setDCGensets(deviceInstances)\n break\n }\n }\n }\n }, [messages])\n\n return store\n}\n"]}
1
+ {"version":3,"file":"ConnectedGensets.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAqB,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAA+B,EAAE,EAAE;IACrE,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,UAA+B,EAAE,EAAE,CAAC,CAAC;QAC1E,eAAe,EAAE,KAAK,QAAQ,IAAI,UAAU,mBAAmB;KAChE,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,+CAA+C;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,UAAU,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;YAC/F,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAyB,CAAA;YAC7E,iEAAiE;YACjE,uDAAuD;YACvD,IACE,CAAC,OAAO;gBACR,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM;gBACzC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EACpD,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,OAAO,UAAU,gBAAgB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBAC9E,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,mBAAmB,CAAC,QAAQ;wBAC/B,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;wBACnC,MAAK;oBACP,KAAK,mBAAmB,CAAC,QAAQ;wBAC/B,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;wBACnC,MAAK;gBACT,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAEjC,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\"\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { useConnectedGensetsStore } from \"./ConnectedGensets.store\"\nimport { ConnectedGensetId, ConnectedGensetType } from \"./ConnectedGenset.provider\"\n\nexport const useConnectedGensets = (gensetType: ConnectedGensetType) => {\n const store = useConnectedGensetsStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId, gensetType: ConnectedGensetType) => ({\n gensetInstances: `N/${portalId}/${gensetType}/+/DeviceInstance`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId, gensetType), [mqtt.portalId, gensetType])\n\n const messages = mqtt.messagesByWildcard(topics.gensetInstances)\n\n useEffect(() => {\n if (!messages || Object.entries(messages).length === 0) {\n // Logger.log(`Waiting for ${gensetType}s...`);\n } else {\n const gensets = gensetType === ConnectedGensetType.ACGENSET ? store.acGensets : store.dcGensets\n const deviceInstances = Object.values(messages).sort() as ConnectedGensetId[]\n // TODO: check unordered structural identify of old and new state\n // TODO: to avoid unnecessary re-rendering: O(n^2) baby\n if (\n !gensets ||\n gensets.length !== deviceInstances.length ||\n !deviceInstances.every((id) => gensets.includes(id))\n ) {\n Logger.log(`New ${gensetType}s instances: ${JSON.stringify(deviceInstances)}`)\n switch (gensetType) {\n case ConnectedGensetType.ACGENSET:\n store.setACGensets(deviceInstances)\n break\n case ConnectedGensetType.DCGENSET:\n store.setDCGensets(deviceInstances)\n break\n }\n }\n }\n }, [messages, gensetType, store])\n\n return store\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedGensets.store.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAI9D,qBAAa,gBAAgB;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAK;IACnC,SAAS,EAAE,iBAAiB,EAAE,CAAK;;IAMnC,YAAY,GAAI,SAAS,iBAAiB,EAAE,yBAA6B;IAEzE,YAAY,GAAI,SAAS,iBAAiB,EAAE,yBAA6B;CAC1E;AAYD,wBAAgB,wBAAwB,qBAEvC"}
1
+ {"version":3,"file":"ConnectedGensets.store.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAI9D,qBAAa,gBAAgB;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAK;IACnC,SAAS,EAAE,iBAAiB,EAAE,CAAK;;IAMnC,YAAY,GAAI,SAAS,iBAAiB,EAAE,yBAA+B;IAE3E,YAAY,GAAI,SAAS,iBAAiB,EAAE,yBAA+B;CAC5E;AAYD,wBAAgB,wBAAwB,qBAEvC"}
@@ -1,9 +1,8 @@
1
1
  import { action, makeAutoObservable } from "mobx";
2
2
  import { useMemo } from "react";
3
- var store;
4
- var ConnectedGensets = /** @class */ (function () {
5
- function ConnectedGensets() {
6
- var _this = this;
3
+ let store;
4
+ export class ConnectedGensets {
5
+ constructor() {
7
6
  Object.defineProperty(this, "acGensets", {
8
7
  enumerable: true,
9
8
  configurable: true,
@@ -20,21 +19,19 @@ var ConnectedGensets = /** @class */ (function () {
20
19
  enumerable: true,
21
20
  configurable: true,
22
21
  writable: true,
23
- value: function (gensets) { return _this.acGensets = gensets; }
22
+ value: (gensets) => (this.acGensets = gensets)
24
23
  });
25
24
  Object.defineProperty(this, "setDCGensets", {
26
25
  enumerable: true,
27
26
  configurable: true,
28
27
  writable: true,
29
- value: function (gensets) { return _this.dcGensets = gensets; }
28
+ value: (gensets) => (this.dcGensets = gensets)
30
29
  });
31
30
  makeAutoObservable(this, { setACGensets: action, setDCGensets: action });
32
31
  }
33
- return ConnectedGensets;
34
- }());
35
- export { ConnectedGensets };
32
+ }
36
33
  function initializeStore() {
37
- var _store = store !== null && store !== void 0 ? store : new ConnectedGensets();
34
+ const _store = store !== null && store !== void 0 ? store : new ConnectedGensets();
38
35
  // For SSG and SSR always create a new store
39
36
  if (typeof window === "undefined")
40
37
  return _store;
@@ -44,6 +41,6 @@ function initializeStore() {
44
41
  return _store;
45
42
  }
46
43
  export function useConnectedGensetsStore() {
47
- return useMemo(function () { return initializeStore(); }, []);
44
+ return useMemo(() => initializeStore(), []);
48
45
  }
49
46
  //# sourceMappingURL=ConnectedGensets.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedGensets.store.js","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAG/B,IAAI,KAAuB,CAAA;AAE3B;IAIE;QAAA,iBAEC;QALD;;;;mBAAiC,EAAE;WAAA;QACnC;;;;mBAAiC,EAAE;WAAA;QAMnC;;;;mBAAe,UAAC,OAA4B,IAAK,OAAA,KAAI,CAAC,SAAS,GAAG,OAAO,EAAxB,CAAwB;WAAA;QAEzE;;;;mBAAe,UAAC,OAA4B,IAAK,OAAA,KAAI,CAAC,SAAS,GAAG,OAAO,EAAxB,CAAwB;WAAA;QALvE,kBAAkB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IAKH,uBAAC;AAAD,CAAC,AAXD,IAWC;;AAED,SAAS,eAAe;IACtB,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,gBAAgB,EAAE,CAAA;IAC9C,4CAA4C;IAC5C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAA;IAChD,sCAAsC;IACtC,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,MAAM,CAAA;IAE1B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,OAAO,CAAC,cAAM,OAAA,eAAe,EAAE,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC","sourcesContent":["import { action, makeAutoObservable } from \"mobx\"\nimport { useMemo } from \"react\"\nimport { ConnectedGensetId } from \"./ConnectedGenset.provider\"\n\nlet store: ConnectedGensets\n\nexport class ConnectedGensets {\n acGensets: ConnectedGensetId[] = []\n dcGensets: ConnectedGensetId[] = []\n\n constructor() {\n makeAutoObservable(this, { setACGensets: action, setDCGensets: action })\n }\n\n setACGensets = (gensets: ConnectedGensetId[]) => this.acGensets = gensets\n\n setDCGensets = (gensets: ConnectedGensetId[]) => this.dcGensets = gensets\n}\n\nfunction initializeStore() {\n const _store = store ?? new ConnectedGensets()\n // For SSG and SSR always create a new store\n if (typeof window === \"undefined\") return _store\n // Create the store once in the client\n if (!store) store = _store\n\n return _store\n}\n\nexport function useConnectedGensetsStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
1
+ {"version":3,"file":"ConnectedGensets.store.js","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAG/B,IAAI,KAAuB,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IAI3B;QAHA;;;;mBAAiC,EAAE;WAAA;QACnC;;;;mBAAiC,EAAE;WAAA;QAMnC;;;;mBAAe,CAAC,OAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;WAAA;QAE3E;;;;mBAAe,CAAC,OAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;WAAA;QALzE,kBAAkB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;CAKF;AAED,SAAS,eAAe;IACtB,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,gBAAgB,EAAE,CAAA;IAC9C,4CAA4C;IAC5C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAA;IAChD,sCAAsC;IACtC,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,MAAM,CAAA;IAE1B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC","sourcesContent":["import { action, makeAutoObservable } from \"mobx\"\nimport { useMemo } from \"react\"\nimport { ConnectedGensetId } from \"./ConnectedGenset.provider\"\n\nlet store: ConnectedGensets\n\nexport class ConnectedGensets {\n acGensets: ConnectedGensetId[] = []\n dcGensets: ConnectedGensetId[] = []\n\n constructor() {\n makeAutoObservable(this, { setACGensets: action, setDCGensets: action })\n }\n\n setACGensets = (gensets: ConnectedGensetId[]) => (this.acGensets = gensets)\n\n setDCGensets = (gensets: ConnectedGensetId[]) => (this.dcGensets = gensets)\n}\n\nfunction initializeStore() {\n const _store = store ?? new ConnectedGensets()\n // For SSG and SSR always create a new store\n if (typeof window === \"undefined\") return _store\n // Create the store once in the client\n if (!store) store = _store\n\n return _store\n}\n\nexport function useConnectedGensetsStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
@@ -1,36 +1,26 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { useMqtt, useTopicsState } from "../Mqtt";
13
2
  import { useMemo } from "react";
14
3
  import { useConnectedGenset } from "./ConnectedGenset.provider";
15
4
  export function useGeneratorConnectedGenset() {
16
- var getTopics = function (portalId) {
5
+ const getTopics = (portalId) => {
17
6
  return {
18
- gensetType: "N/".concat(portalId, "/generator/1/GensetServiceType"),
19
- gensetInstance: "N/".concat(portalId, "/generator/1/GensetInstance"),
20
- autoStartEnabled: "N/".concat(portalId, "/generator/1/AutoStartEnabled"),
7
+ gensetType: `N/${portalId}/generator/1/GensetServiceType`,
8
+ gensetInstance: `N/${portalId}/generator/1/GensetInstance`,
9
+ autoStartEnabled: `N/${portalId}/generator/1/AutoStartEnabled`,
21
10
  };
22
11
  };
23
- var getWriteTopics = function (portalId) { return ({
24
- autoMode: "W/".concat(portalId, "/generator/1/AutoStartEnabled"),
25
- manualMode: "W/".concat(portalId, "/generator/1/ManualStart"),
26
- }); };
27
- var mqtt = useMqtt();
28
- var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
29
- var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId); }, [mqtt.portalId]);
30
- var updateAutoMode = function (mode) { return mqtt.publish(writeTopics.autoMode, mode); };
31
- var updateManualMode = function (currentLimit) { return mqtt.publish(writeTopics.manualMode, currentLimit); };
32
- var generatorState = useTopicsState(topics);
33
- var gensetState = useConnectedGenset(generatorState.gensetType, generatorState.gensetInstance);
34
- return __assign(__assign({}, generatorState), { gensetState: gensetState, updateAutoMode: updateAutoMode, updateManualMode: updateManualMode });
12
+ const getWriteTopics = (portalId) => ({
13
+ autoMode: `W/${portalId}/generator/1/AutoStartEnabled`,
14
+ manualMode: `W/${portalId}/generator/1/ManualStart`,
15
+ });
16
+ const mqtt = useMqtt();
17
+ const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId]);
18
+ const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId), [mqtt.portalId]);
19
+ const updateAutoMode = (mode) => mqtt.publish(writeTopics.autoMode, mode);
20
+ const updateManualMode = (currentLimit) => mqtt.publish(writeTopics.manualMode, currentLimit);
21
+ const generatorState = useTopicsState(topics);
22
+ const gensetState = useConnectedGenset(generatorState.gensetType, generatorState.gensetInstance);
23
+ return Object.assign(Object.assign({}, generatorState), { gensetState: gensetState, updateAutoMode,
24
+ updateManualMode });
35
25
  }
36
26
  //# sourceMappingURL=GeneratorConnectedGenset.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorConnectedGenset.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/GeneratorConnectedGenset.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAA6C,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAoB1G,MAAM,UAAU,2BAA2B;IACzC,IAAM,SAAS,GAAG,UAAC,QAAkB;QACnC,OAAO;YACL,UAAU,EAAE,YAAK,QAAQ,mCAAgC;YACzD,cAAc,EAAE,YAAK,QAAQ,gCAA6B;YAC1D,gBAAgB,EAAE,YAAK,QAAQ,kCAA+B;SAC/D,CAAA;IACH,CAAC,CAAA;IAED,IAAM,cAAc,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QAC9C,QAAQ,EAAE,YAAK,QAAQ,kCAA+B;QACtD,UAAU,EAAE,YAAK,QAAQ,6BAA0B;KACpD,CAAC,EAH6C,CAG7C,CAAA;IAEF,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAA7B,CAA6B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEjF,IAAM,cAAc,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAzC,CAAyC,CAAA;IAClF,IAAM,gBAAgB,GAAG,UAAC,YAAoB,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,UAAU,EAAE,YAAY,CAAC,EAAnD,CAAmD,CAAA;IAEtG,IAAM,cAAc,GAAG,cAAc,CAAgC,MAAM,CAAC,CAAA;IAC5E,IAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAEhG,OAAO,sBACF,cAAc,KACjB,WAAW,EAAE,WAAW,EACxB,cAAc,gBAAA,EACd,gBAAgB,kBAAA,GACmB,CAAA;AACvC,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\nimport { ConnectedGensetState, ConnectedGensetType, useConnectedGenset } from \"./ConnectedGenset.provider\"\n\nexport interface GeneratorConnectedGensetState {\n gensetType: ConnectedGensetType\n gensetInstance: number\n autoStartEnabled: number\n gensetState: ConnectedGensetState\n}\n\nexport interface GeneratorConnectedGensetTopics extends Topics {\n gensetType?: string\n gensetInstance?: string\n autoStartEnabled?: string\n}\n\nexport interface GeneratorConnectedGensetProvider extends GeneratorConnectedGensetState {\n updateAutoMode: (mode: number) => void\n updateManualMode: (currentLimit: number) => void\n}\n\nexport function useGeneratorConnectedGenset(): GeneratorConnectedGensetProvider {\n const getTopics = (portalId: PortalId) => {\n return {\n gensetType: `N/${portalId}/generator/1/GensetServiceType`,\n gensetInstance: `N/${portalId}/generator/1/GensetInstance`,\n autoStartEnabled: `N/${portalId}/generator/1/AutoStartEnabled`,\n }\n }\n\n const getWriteTopics = (portalId: PortalId) => ({\n autoMode: `W/${portalId}/generator/1/AutoStartEnabled`,\n manualMode: `W/${portalId}/generator/1/ManualStart`,\n })\n\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId), [mqtt.portalId])\n\n const updateAutoMode = (mode: number) => mqtt.publish(writeTopics!.autoMode, mode)\n const updateManualMode = (currentLimit: number) => mqtt.publish(writeTopics!.manualMode, currentLimit)\n\n const generatorState = useTopicsState<GeneratorConnectedGensetState>(topics)\n const gensetState = useConnectedGenset(generatorState.gensetType, generatorState.gensetInstance)\n\n return {\n ...generatorState,\n gensetState: gensetState,\n updateAutoMode,\n updateManualMode,\n } as GeneratorConnectedGensetProvider\n}\n"]}
1
+ {"version":3,"file":"GeneratorConnectedGenset.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/GeneratorConnectedGenset.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAA6C,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAoB1G,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE;QACvC,OAAO;YACL,UAAU,EAAE,KAAK,QAAQ,gCAAgC;YACzD,cAAc,EAAE,KAAK,QAAQ,6BAA6B;YAC1D,gBAAgB,EAAE,KAAK,QAAQ,+BAA+B;SAC/D,CAAA;IACH,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,KAAK,QAAQ,+BAA+B;QACtD,UAAU,EAAE,KAAK,QAAQ,0BAA0B;KACpD,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEjF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACjF,MAAM,gBAAgB,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAErG,MAAM,cAAc,GAAG,cAAc,CAAgC,MAAM,CAAC,CAAA;IAC5E,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAEhG,OAAO,gCACF,cAAc,KACjB,WAAW,EAAE,WAAW,EACxB,cAAc;QACd,gBAAgB,GACmB,CAAA;AACvC,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\nimport { ConnectedGensetState, ConnectedGensetType, useConnectedGenset } from \"./ConnectedGenset.provider\"\n\nexport interface GeneratorConnectedGensetState {\n gensetType: ConnectedGensetType\n gensetInstance: number\n autoStartEnabled: number\n gensetState: ConnectedGensetState\n}\n\nexport interface GeneratorConnectedGensetTopics extends Topics {\n gensetType?: string\n gensetInstance?: string\n autoStartEnabled?: string\n}\n\nexport interface GeneratorConnectedGensetProvider extends GeneratorConnectedGensetState {\n updateAutoMode: (mode: number) => void\n updateManualMode: (currentLimit: number) => void\n}\n\nexport function useGeneratorConnectedGenset(): GeneratorConnectedGensetProvider {\n const getTopics = (portalId: PortalId) => {\n return {\n gensetType: `N/${portalId}/generator/1/GensetServiceType`,\n gensetInstance: `N/${portalId}/generator/1/GensetInstance`,\n autoStartEnabled: `N/${portalId}/generator/1/AutoStartEnabled`,\n }\n }\n\n const getWriteTopics = (portalId: PortalId) => ({\n autoMode: `W/${portalId}/generator/1/AutoStartEnabled`,\n manualMode: `W/${portalId}/generator/1/ManualStart`,\n })\n\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId), [mqtt.portalId])\n\n const updateAutoMode = (mode: number) => mqtt.publish(writeTopics.autoMode, mode)\n const updateManualMode = (currentLimit: number) => mqtt.publish(writeTopics.manualMode, currentLimit)\n\n const generatorState = useTopicsState<GeneratorConnectedGensetState>(topics)\n const gensetState = useConnectedGenset(generatorState.gensetType, generatorState.gensetInstance)\n\n return {\n ...generatorState,\n gensetState: gensetState,\n updateAutoMode,\n updateManualMode,\n } as GeneratorConnectedGensetProvider\n}\n"]}
@@ -18,8 +18,8 @@ export interface GeneratorRelayTopics extends Topics {
18
18
  settings?: string[];
19
19
  }
20
20
  export interface GeneratorRelayProvider extends GeneratorRelayState {
21
- updateAutoMode: () => void;
22
- updateManualMode: () => void;
21
+ updateAutoMode: (mode: number) => void;
22
+ updateManualMode: (mode: number) => void;
23
23
  }
24
24
  export declare function useGeneratorRelay(): GeneratorRelayProvider;
25
25
  //# sourceMappingURL=GeneratorRelay.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorRelay.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/GeneratorRelay.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAInE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAClD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED,wBAAgB,iBAAiB,IAAI,sBAAsB,CAwC1D"}
1
+ {"version":3,"file":"GeneratorRelay.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/GeneratorRelay.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAInE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAClD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAED,wBAAgB,iBAAiB,IAAI,sBAAsB,CAwC1D"}
@@ -1,45 +1,35 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { useMqtt, useTopicsState } from "../Mqtt";
13
2
  import { useVebusStore } from "../Vebus";
14
3
  import { useMemo } from "react";
15
4
  export function useGeneratorRelay() {
16
- var getTopics = function (portalId, vebusInstanceId) {
17
- var relayTopics = {
18
- relayFunction: "N/".concat(portalId, "/settings/0/Settings/Relay/Function"),
19
- statusCode: "N/".concat(portalId, "/generator/0/State"),
20
- manualStart: "N/".concat(portalId, "/generator/0/ManualStart"),
21
- autoStart: "N/".concat(portalId, "/generator/0/AutoStartEnabled"),
5
+ const getTopics = (portalId, vebusInstanceId) => {
6
+ const relayTopics = {
7
+ relayFunction: `N/${portalId}/settings/0/Settings/Relay/Function`,
8
+ statusCode: `N/${portalId}/generator/0/State`,
9
+ manualStart: `N/${portalId}/generator/0/ManualStart`,
10
+ autoStart: `N/${portalId}/generator/0/AutoStartEnabled`,
22
11
  };
23
- var vebusTopics = {
24
- activeInput: "N/".concat(portalId, "/vebus/").concat(vebusInstanceId, "/Ac/ActiveIn/ActiveInput"),
25
- phases: "N/".concat(portalId, "/vebus/").concat(vebusInstanceId, "/Ac/NumberOfPhases"),
12
+ const vebusTopics = {
13
+ activeInput: `N/${portalId}/vebus/${vebusInstanceId}/Ac/ActiveIn/ActiveInput`,
14
+ phases: `N/${portalId}/vebus/${vebusInstanceId}/Ac/NumberOfPhases`,
26
15
  settings: [
27
- "N/".concat(portalId, "/settings/0/Settings/SystemSetup/AcInput1"),
28
- "N/".concat(portalId, "/settings/0/Settings/SystemSetup/AcInput2"),
16
+ `N/${portalId}/settings/0/Settings/SystemSetup/AcInput1`,
17
+ `N/${portalId}/settings/0/Settings/SystemSetup/AcInput2`,
29
18
  ],
30
19
  };
31
- return vebusInstanceId ? __assign(__assign({}, relayTopics), vebusTopics) : relayTopics;
20
+ return vebusInstanceId ? Object.assign(Object.assign({}, relayTopics), vebusTopics) : relayTopics;
32
21
  };
33
- var getWriteTopics = function (portalId) { return ({
34
- autoMode: "W/".concat(portalId, "/generator/0/AutoStartEnabled"),
35
- manualMode: "W/".concat(portalId, "/generator/0/ManualStart"),
36
- }); };
37
- var instanceId = useVebusStore().instanceId;
38
- var mqtt = useMqtt();
39
- var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId); }, [mqtt.portalId]);
40
- var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
41
- var updateAutoMode = function (mode) { return mqtt.publish(writeTopics.autoMode, mode); };
42
- var updateManualMode = function (currentLimit) { return mqtt.publish(writeTopics.manualMode, currentLimit); };
43
- return __assign(__assign({}, useTopicsState(topics)), { updateAutoMode: updateAutoMode, updateManualMode: updateManualMode });
22
+ const getWriteTopics = (portalId) => ({
23
+ autoMode: `W/${portalId}/generator/0/AutoStartEnabled`,
24
+ manualMode: `W/${portalId}/generator/0/ManualStart`,
25
+ });
26
+ const { instanceId } = useVebusStore();
27
+ const mqtt = useMqtt();
28
+ const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId), [mqtt.portalId]);
29
+ const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId]);
30
+ const updateAutoMode = (mode) => mqtt.publish(writeTopics.autoMode, mode);
31
+ const updateManualMode = (mode) => mqtt.publish(writeTopics.manualMode, mode);
32
+ return Object.assign(Object.assign({}, useTopicsState(topics)), { updateAutoMode,
33
+ updateManualMode });
44
34
  }
45
35
  //# sourceMappingURL=GeneratorRelay.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorRelay.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/GeneratorRelay.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAc,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AA6B/B,MAAM,UAAU,iBAAiB;IAC/B,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,eAA2B;QAChE,IAAM,WAAW,GAAG;YAClB,aAAa,EAAE,YAAK,QAAQ,wCAAqC;YACjE,UAAU,EAAE,YAAK,QAAQ,uBAAoB;YAC7C,WAAW,EAAE,YAAK,QAAQ,6BAA0B;YACpD,SAAS,EAAE,YAAK,QAAQ,kCAA+B;SACxD,CAAA;QAED,IAAM,WAAW,GAAG;YAClB,WAAW,EAAE,YAAK,QAAQ,oBAAU,eAAe,6BAA0B;YAC7E,MAAM,EAAE,YAAK,QAAQ,oBAAU,eAAe,uBAAoB;YAClE,QAAQ,EAAE;gBACR,YAAK,QAAQ,8CAA2C;gBACxD,YAAK,QAAQ,8CAA2C;aACzD;SACF,CAAA;QAED,OAAO,eAAe,CAAC,CAAC,uBAAM,WAAW,GAAK,WAAW,EAAG,CAAC,CAAC,WAAW,CAAA;IAC3E,CAAC,CAAA;IAED,IAAM,cAAc,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QAC9C,QAAQ,EAAE,YAAK,QAAQ,kCAA+B;QACtD,UAAU,EAAE,YAAK,QAAQ,6BAA0B;KACpD,CAAC,EAH6C,CAG7C,CAAA;IAEM,IAAA,UAAU,GAAK,aAAa,EAAE,WAApB,CAAoB;IACtC,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAA7B,CAA6B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,IAAM,cAAc,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAzC,CAAyC,CAAA;IAClF,IAAM,gBAAgB,GAAG,UAAC,YAA6B,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,UAAU,EAAE,YAAY,CAAC,EAAnD,CAAmD,CAAA;IAE/G,OAAO,sBACF,cAAc,CAAsB,MAAM,CAAC,KAC9C,cAAc,gBAAA,EACd,gBAAgB,kBAAA,GACS,CAAA;AAC7B,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId, useVebusStore } from \"../Vebus\"\nimport { useMemo } from \"react\"\n\nexport interface GeneratorRelayState {\n relayFunction: number\n statusCode: number\n manualStart: number\n autoStart: number\n\n activeInput?: number\n phases?: number\n settings?: number[]\n}\n\nexport interface GeneratorRelayTopics extends Topics {\n relayFunction?: string\n statusCode?: string\n manualStart?: string\n autoStart?: string\n\n activeInput?: string\n phases?: string\n settings?: string[]\n}\n\nexport interface GeneratorRelayProvider extends GeneratorRelayState {\n updateAutoMode: () => void\n updateManualMode: () => void\n}\n\nexport function useGeneratorRelay(): GeneratorRelayProvider {\n const getTopics = (portalId: PortalId, vebusInstanceId: InstanceId) => {\n const relayTopics = {\n relayFunction: `N/${portalId}/settings/0/Settings/Relay/Function`,\n statusCode: `N/${portalId}/generator/0/State`,\n manualStart: `N/${portalId}/generator/0/ManualStart`,\n autoStart: `N/${portalId}/generator/0/AutoStartEnabled`,\n }\n\n const vebusTopics = {\n activeInput: `N/${portalId}/vebus/${vebusInstanceId}/Ac/ActiveIn/ActiveInput`,\n phases: `N/${portalId}/vebus/${vebusInstanceId}/Ac/NumberOfPhases`,\n settings: [\n `N/${portalId}/settings/0/Settings/SystemSetup/AcInput1`,\n `N/${portalId}/settings/0/Settings/SystemSetup/AcInput2`,\n ],\n }\n\n return vebusInstanceId ? { ...relayTopics, ...vebusTopics } : relayTopics\n }\n\n const getWriteTopics = (portalId: PortalId) => ({\n autoMode: `W/${portalId}/generator/0/AutoStartEnabled`,\n manualMode: `W/${portalId}/generator/0/ManualStart`,\n })\n\n const { instanceId } = useVebusStore()\n const mqtt = useMqtt()\n\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId), [mqtt.portalId])\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId])\n\n const updateAutoMode = (mode: string) => mqtt.publish(writeTopics!.autoMode, mode)\n const updateManualMode = (currentLimit: number | string) => mqtt.publish(writeTopics!.manualMode, currentLimit)\n\n return {\n ...useTopicsState<GeneratorRelayState>(topics),\n updateAutoMode,\n updateManualMode,\n } as GeneratorRelayProvider\n}\n"]}
1
+ {"version":3,"file":"GeneratorRelay.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/GeneratorRelay.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAc,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AA6B/B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,eAA2B,EAAE,EAAE;QACpE,MAAM,WAAW,GAAG;YAClB,aAAa,EAAE,KAAK,QAAQ,qCAAqC;YACjE,UAAU,EAAE,KAAK,QAAQ,oBAAoB;YAC7C,WAAW,EAAE,KAAK,QAAQ,0BAA0B;YACpD,SAAS,EAAE,KAAK,QAAQ,+BAA+B;SACxD,CAAA;QAED,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE,KAAK,QAAQ,UAAU,eAAe,0BAA0B;YAC7E,MAAM,EAAE,KAAK,QAAQ,UAAU,eAAe,oBAAoB;YAClE,QAAQ,EAAE;gBACR,KAAK,QAAQ,2CAA2C;gBACxD,KAAK,QAAQ,2CAA2C;aACzD;SACF,CAAA;QAED,OAAO,eAAe,CAAC,CAAC,iCAAM,WAAW,GAAK,WAAW,EAAG,CAAC,CAAC,WAAW,CAAA;IAC3E,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,KAAK,QAAQ,+BAA+B;QACtD,UAAU,EAAE,KAAK,QAAQ,0BAA0B;KACpD,CAAC,CAAA;IAEF,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAA;IACtC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACjF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAErF,OAAO,gCACF,cAAc,CAAsB,MAAM,CAAC,KAC9C,cAAc;QACd,gBAAgB,GACS,CAAA;AAC7B,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId, useVebusStore } from \"../Vebus\"\nimport { useMemo } from \"react\"\n\nexport interface GeneratorRelayState {\n relayFunction: number\n statusCode: number\n manualStart: number\n autoStart: number\n\n activeInput?: number\n phases?: number\n settings?: number[]\n}\n\nexport interface GeneratorRelayTopics extends Topics {\n relayFunction?: string\n statusCode?: string\n manualStart?: string\n autoStart?: string\n\n activeInput?: string\n phases?: string\n settings?: string[]\n}\n\nexport interface GeneratorRelayProvider extends GeneratorRelayState {\n updateAutoMode: (mode: number) => void\n updateManualMode: (mode: number) => void\n}\n\nexport function useGeneratorRelay(): GeneratorRelayProvider {\n const getTopics = (portalId: PortalId, vebusInstanceId: InstanceId) => {\n const relayTopics = {\n relayFunction: `N/${portalId}/settings/0/Settings/Relay/Function`,\n statusCode: `N/${portalId}/generator/0/State`,\n manualStart: `N/${portalId}/generator/0/ManualStart`,\n autoStart: `N/${portalId}/generator/0/AutoStartEnabled`,\n }\n\n const vebusTopics = {\n activeInput: `N/${portalId}/vebus/${vebusInstanceId}/Ac/ActiveIn/ActiveInput`,\n phases: `N/${portalId}/vebus/${vebusInstanceId}/Ac/NumberOfPhases`,\n settings: [\n `N/${portalId}/settings/0/Settings/SystemSetup/AcInput1`,\n `N/${portalId}/settings/0/Settings/SystemSetup/AcInput2`,\n ],\n }\n\n return vebusInstanceId ? { ...relayTopics, ...vebusTopics } : relayTopics\n }\n\n const getWriteTopics = (portalId: PortalId) => ({\n autoMode: `W/${portalId}/generator/0/AutoStartEnabled`,\n manualMode: `W/${portalId}/generator/0/ManualStart`,\n })\n\n const { instanceId } = useVebusStore()\n const mqtt = useMqtt()\n\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId), [mqtt.portalId])\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId])\n\n const updateAutoMode = (mode: number) => mqtt.publish(writeTopics.autoMode, mode)\n const updateManualMode = (mode: number) => mqtt.publish(writeTopics.manualMode, mode)\n\n return {\n ...useTopicsState<GeneratorRelayState>(topics),\n updateAutoMode,\n updateManualMode,\n } as GeneratorRelayProvider\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  import { useMqtt, useTopicsState } from "../Mqtt";
2
2
  import { useMemo } from "react";
3
3
  export function useHeader() {
4
- var getTopics = function (portalId) {
4
+ const getTopics = (portalId) => {
5
5
  return {
6
- showRemoteConsoleSetting: "N/".concat(portalId, "/settings/0/Settings/System/VncLocal"),
6
+ showRemoteConsoleSetting: `N/${portalId}/settings/0/Settings/System/VncLocal`,
7
7
  };
8
8
  };
9
- var mqtt = useMqtt();
10
- var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
9
+ const mqtt = useMqtt();
10
+ const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId]);
11
11
  return useTopicsState(topics);
12
12
  }
13
13
  //# sourceMappingURL=Header.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.provider.js","sourceRoot":"/","sources":["src/Modules/Header/Header.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAU/B,MAAM,UAAU,SAAS;IACvB,IAAM,SAAS,GAAG,UAAC,QAAkB;QACnC,OAAO;YACL,wBAAwB,EAAE,YAAK,QAAQ,yCAAsC;SAC9E,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,OAAO,cAAc,CAAc,MAAM,CAAC,CAAA;AAC5C,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface HeaderState {\n showRemoteConsoleSetting: boolean\n}\n\nexport interface HeaderTopics extends Topics {\n showRemoteConsoleSetting?: string\n}\n\nexport function useHeader(): HeaderState {\n const getTopics = (portalId: PortalId) => {\n return {\n showRemoteConsoleSetting: `N/${portalId}/settings/0/Settings/System/VncLocal`,\n }\n }\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n return useTopicsState<HeaderState>(topics)\n}\n"]}
1
+ {"version":3,"file":"Header.provider.js","sourceRoot":"/","sources":["src/Modules/Header/Header.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAU/B,MAAM,UAAU,SAAS;IACvB,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE;QACvC,OAAO;YACL,wBAAwB,EAAE,KAAK,QAAQ,sCAAsC;SAC9E,CAAA;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,OAAO,cAAc,CAAc,MAAM,CAAC,CAAA;AAC5C,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface HeaderState {\n showRemoteConsoleSetting: boolean\n}\n\nexport interface HeaderTopics extends Topics {\n showRemoteConsoleSetting?: string\n}\n\nexport function useHeader(): HeaderState {\n const getTopics = (portalId: PortalId) => {\n return {\n showRemoteConsoleSetting: `N/${portalId}/settings/0/Settings/System/VncLocal`,\n }\n }\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n return useTopicsState<HeaderState>(topics)\n}\n"]}
@@ -1,25 +1,14 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { useMqtt, useTopicsState } from "../Mqtt";
13
2
  import { useMemo } from "react";
14
3
  export function useInputLimit(instanceId, inputId) {
15
- var getTopics = function (portalId, deviceInstanceId, inputId) {
4
+ const getTopics = (portalId, deviceInstanceId, inputId) => {
16
5
  return {
17
- currentLimit: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Ac/In/").concat(inputId, "/CurrentLimit"),
18
- currentLimitIsAdjustable: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Ac/In/").concat(inputId, "/CurrentLimitIsAdjustable"),
6
+ currentLimit: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,
7
+ currentLimitIsAdjustable: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimitIsAdjustable`,
19
8
  };
20
9
  };
21
- var mqtt = useMqtt();
22
- var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId, inputId); }, [mqtt.portalId, instanceId, inputId]);
23
- return __assign({}, useTopicsState(topics));
10
+ const mqtt = useMqtt();
11
+ const topics = useMemo(() => getTopics(mqtt.portalId, instanceId, inputId), [mqtt.portalId, instanceId, inputId]);
12
+ return Object.assign({}, useTopicsState(topics));
24
13
  }
25
14
  //# sourceMappingURL=InputLimit.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLimit.provider.js","sourceRoot":"/","sources":["src/Modules/InverterCharger/InputLimit.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAY/B,MAAM,UAAU,aAAa,CAAC,UAAsB,EAAE,OAAe;IACnE,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,gBAA4B,EAAE,OAAe;QAClF,OAAO;YACL,YAAY,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,oBAAU,OAAO,kBAAe;YACrF,wBAAwB,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,oBAAU,OAAO,8BAA2B;SAC9G,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAA7C,CAA6C,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAEjH,oBAAY,cAAc,CAAkB,MAAM,CAAC,EAAE;AACvD,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId } from \"../Vebus\"\nimport { useMemo } from \"react\"\n\nexport interface InputLimitState {\n currentLimit: string\n currentLimitIsAdjustable: boolean\n}\n\nexport interface InputLimitTopics extends Topics {\n currentLimit?: string\n currentLimitIsAdjustable?: string\n}\n\nexport function useInputLimit(instanceId: InstanceId, inputId: number): InputLimitState {\n const getTopics = (portalId: PortalId, deviceInstanceId: InstanceId, inputId: number) => {\n return {\n currentLimit: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,\n currentLimitIsAdjustable: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimitIsAdjustable`,\n }\n }\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId, inputId), [mqtt.portalId, instanceId, inputId])\n\n return { ...useTopicsState<InputLimitState>(topics) }\n}\n"]}
1
+ {"version":3,"file":"InputLimit.provider.js","sourceRoot":"/","sources":["src/Modules/InverterCharger/InputLimit.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAY/B,MAAM,UAAU,aAAa,CAAC,UAAsB,EAAE,OAAe;IACnE,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,gBAA4B,EAAE,OAAe,EAAE,EAAE;QACtF,OAAO;YACL,YAAY,EAAE,KAAK,QAAQ,UAAU,gBAAgB,UAAU,OAAO,eAAe;YACrF,wBAAwB,EAAE,KAAK,QAAQ,UAAU,gBAAgB,UAAU,OAAO,2BAA2B;SAC9G,CAAA;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAEjH,yBAAY,cAAc,CAAkB,MAAM,CAAC,EAAE;AACvD,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId } from \"../Vebus\"\nimport { useMemo } from \"react\"\n\nexport interface InputLimitState {\n currentLimit: string\n currentLimitIsAdjustable: boolean\n}\n\nexport interface InputLimitTopics extends Topics {\n currentLimit?: string\n currentLimitIsAdjustable?: string\n}\n\nexport function useInputLimit(instanceId: InstanceId, inputId: number): InputLimitState {\n const getTopics = (portalId: PortalId, deviceInstanceId: InstanceId, inputId: number) => {\n return {\n currentLimit: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,\n currentLimitIsAdjustable: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimitIsAdjustable`,\n }\n }\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId, inputId), [mqtt.portalId, instanceId, inputId])\n\n return { ...useTopicsState<InputLimitState>(topics) }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InputLimitSelector.provider.d.ts","sourceRoot":"/","sources":["src/Modules/InverterCharger/InputLimitSelector.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAA;AAGpD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,MAAM;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAqBzG"}
1
+ {"version":3,"file":"InputLimitSelector.provider.d.ts","sourceRoot":"/","sources":["src/Modules/InverterCharger/InputLimitSelector.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,MAAM;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAuBzG"}
@@ -1,31 +1,17 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { useMqtt, useTopicsState } from "../Mqtt";
13
2
  import { useMemo } from "react";
14
3
  export function useInputLimitSelector(instanceId, inputId) {
15
- var getTopics = function (portalId, deviceInstanceId) {
16
- return {
17
- currentLimit: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Ac/In/").concat(inputId, "/CurrentLimit"),
18
- currentLimitMax: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Ac/In/").concat(inputId, "/CurrentLimitGetMax"),
19
- productId: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/ProductId"),
20
- };
21
- };
22
- var mqtt = useMqtt();
23
- var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
24
- var getWriteTopics = function (portalId, deviceInstanceId, inputId) { return ({
25
- limit: "W/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Ac/In/").concat(inputId, "/CurrentLimit"),
26
- }); };
27
- var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId, instanceId, inputId); }, [mqtt.portalId, instanceId, inputId]);
28
- var updateLimit = function (limit) { return mqtt.publish(writeTopics.limit, limit); };
29
- return __assign(__assign({}, useTopicsState(topics)), { updateLimit: updateLimit });
4
+ const mqtt = useMqtt();
5
+ const topics = useMemo(() => ({
6
+ currentLimit: `N/${mqtt.portalId}/vebus/${instanceId}/Ac/In/${inputId}/CurrentLimit`,
7
+ currentLimitMax: `N/${mqtt.portalId}/vebus/${instanceId}/Ac/In/${inputId}/CurrentLimitGetMax`,
8
+ productId: `N/${mqtt.portalId}/vebus/${instanceId}/ProductId`,
9
+ }), [mqtt.portalId, instanceId, inputId]);
10
+ const getWriteTopics = (portalId, deviceInstanceId, inputId) => ({
11
+ limit: `W/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,
12
+ });
13
+ const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, instanceId, inputId), [mqtt.portalId, instanceId, inputId]);
14
+ const updateLimit = (limit) => mqtt.publish(writeTopics.limit, limit);
15
+ return Object.assign(Object.assign({}, useTopicsState(topics)), { updateLimit });
30
16
  }
31
17
  //# sourceMappingURL=InputLimitSelector.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLimitSelector.provider.js","sourceRoot":"/","sources":["src/Modules/InverterCharger/InputLimitSelector.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAkB/B,MAAM,UAAU,qBAAqB,CAAC,UAAsB,EAAE,OAAe;IAC3E,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,gBAA4B;QACjE,OAAO;YACL,YAAY,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,oBAAU,OAAO,kBAAe;YACrF,eAAe,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,oBAAU,OAAO,wBAAqB;YAC9F,SAAS,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,eAAY;SAC/D,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,IAAM,cAAc,GAAG,UAAC,QAAkB,EAAE,gBAA4B,EAAE,OAAe,IAAK,OAAA,CAAC;QAC7F,KAAK,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,oBAAU,OAAO,kBAAe;KAC/E,CAAC,EAF4F,CAE5F,CAAA;IAEF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAlD,CAAkD,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3H,IAAM,WAAW,GAAG,UAAC,KAAa,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAvC,CAAuC,CAAA;IAE9E,OAAO,sBAAK,cAAc,CAA0B,MAAM,CAAC,KAAE,WAAW,aAAA,GAAgC,CAAA;AAC1G,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId, useVebusStore } from \"../Vebus\"\nimport { useMemo } from \"react\"\n\nexport interface InputLimitSelectorState {\n currentLimit: number\n currentLimitMax: number\n productId: number\n}\n\nexport interface InputLimitSelectorTopics extends Topics {\n currentLimit?: string\n currentLimitMax?: string\n productId?: string\n}\n\nexport interface InputLimitSelectorProvider extends InputLimitSelectorState {\n updateLimit: (limit: number) => void\n}\n\nexport function useInputLimitSelector(instanceId: InstanceId, inputId: number): InputLimitSelectorProvider {\n const getTopics = (portalId: PortalId, deviceInstanceId: InstanceId) => {\n return {\n currentLimit: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,\n currentLimitMax: `N/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimitGetMax`,\n productId: `N/${portalId}/vebus/${deviceInstanceId}/ProductId`,\n }\n }\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId])\n\n const getWriteTopics = (portalId: PortalId, deviceInstanceId: InstanceId, inputId: number) => ({\n limit: `W/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,\n })\n\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, instanceId, inputId), [mqtt.portalId, instanceId, inputId])\n\n const updateLimit = (limit: number) => mqtt.publish(writeTopics!.limit, limit)\n\n return { ...useTopicsState<InputLimitSelectorState>(topics), updateLimit } as InputLimitSelectorProvider\n}\n"]}
1
+ {"version":3,"file":"InputLimitSelector.provider.js","sourceRoot":"/","sources":["src/Modules/InverterCharger/InputLimitSelector.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAkB/B,MAAM,UAAU,qBAAqB,CAAC,UAAsB,EAAE,OAAe;IAC3E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC;QACL,YAAY,EAAE,KAAK,IAAI,CAAC,QAAQ,UAAU,UAAU,UAAU,OAAO,eAAe;QACpF,eAAe,EAAE,KAAK,IAAI,CAAC,QAAQ,UAAU,UAAU,UAAU,OAAO,qBAAqB;QAC7F,SAAS,EAAE,KAAK,IAAI,CAAC,QAAQ,UAAU,UAAU,YAAY;KAC9D,CAAC,EACF,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CACrC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,gBAA4B,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC;QAC7F,KAAK,EAAE,KAAK,QAAQ,UAAU,gBAAgB,UAAU,OAAO,eAAe;KAC/E,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EACxD,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CACrC,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAE7E,OAAO,gCAAK,cAAc,CAA0B,MAAM,CAAC,KAAE,WAAW,GAAgC,CAAA;AAC1G,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId } from \"../Vebus\"\nimport { useMemo } from \"react\"\n\nexport interface InputLimitSelectorState {\n currentLimit: number\n currentLimitMax: number\n productId: number\n}\n\nexport interface InputLimitSelectorTopics extends Topics {\n currentLimit?: string\n currentLimitMax?: string\n productId?: string\n}\n\nexport interface InputLimitSelectorProvider extends InputLimitSelectorState {\n updateLimit: (limit: number) => void\n}\n\nexport function useInputLimitSelector(instanceId: InstanceId, inputId: number): InputLimitSelectorProvider {\n const mqtt = useMqtt()\n const topics = useMemo(\n () => ({\n currentLimit: `N/${mqtt.portalId}/vebus/${instanceId}/Ac/In/${inputId}/CurrentLimit`,\n currentLimitMax: `N/${mqtt.portalId}/vebus/${instanceId}/Ac/In/${inputId}/CurrentLimitGetMax`,\n productId: `N/${mqtt.portalId}/vebus/${instanceId}/ProductId`,\n }),\n [mqtt.portalId, instanceId, inputId]\n )\n\n const getWriteTopics = (portalId: PortalId, deviceInstanceId: InstanceId, inputId: number) => ({\n limit: `W/${portalId}/vebus/${deviceInstanceId}/Ac/In/${inputId}/CurrentLimit`,\n })\n\n const writeTopics = useMemo(\n () => getWriteTopics(mqtt.portalId, instanceId, inputId),\n [mqtt.portalId, instanceId, inputId]\n )\n\n const updateLimit = (limit: number) => mqtt.publish(writeTopics.limit, limit)\n\n return { ...useTopicsState<InputLimitSelectorState>(topics), updateLimit } as InputLimitSelectorProvider\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InverterCharger.provider.d.ts","sourceRoot":"/","sources":["src/Modules/InverterCharger/InverterCharger.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,EAGP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,MAAM;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,uBAAuB,CA2BlF"}
1
+ {"version":3,"file":"InverterCharger.provider.d.ts","sourceRoot":"/","sources":["src/Modules/InverterCharger/InverterCharger.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,MAAM;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,uBAAuB,CA2BlF"}
@@ -1,34 +1,23 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { useMemo } from "react";
13
- import { useMqtt, useTopicsState, } from "../Mqtt";
2
+ import { useMqtt, useTopicsState } from "../Mqtt";
14
3
  export function useInverterCharger(instanceId) {
15
- var getTopics = function (portalId, deviceInstanceId) {
4
+ const getTopics = (portalId, deviceInstanceId) => {
16
5
  return {
17
- state: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/State"),
18
- mode: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Mode"),
19
- numberOfAcInputs: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Ac/NumberOfAcInputs"),
20
- customName: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/CustomName"),
21
- productName: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/ProductName"),
22
- modeIsAdjustable: "N/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/ModeIsAdjustable"),
6
+ state: `N/${portalId}/vebus/${deviceInstanceId}/State`,
7
+ mode: `N/${portalId}/vebus/${deviceInstanceId}/Mode`,
8
+ numberOfAcInputs: `N/${portalId}/vebus/${deviceInstanceId}/Ac/NumberOfAcInputs`,
9
+ customName: `N/${portalId}/vebus/${deviceInstanceId}/CustomName`,
10
+ productName: `N/${portalId}/vebus/${deviceInstanceId}/ProductName`,
11
+ modeIsAdjustable: `N/${portalId}/vebus/${deviceInstanceId}/ModeIsAdjustable`,
23
12
  };
24
13
  };
25
- var getWriteTopics = function (portalId, deviceInstanceId) { return ({
26
- mode: "W/".concat(portalId, "/vebus/").concat(deviceInstanceId, "/Mode")
27
- }); };
28
- var mqtt = useMqtt();
29
- var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
30
- var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
31
- var updateMode = function (mode) { return mqtt.publish(writeTopics.mode, mode); };
32
- return __assign(__assign({}, useTopicsState(topics)), { updateMode: updateMode });
14
+ const getWriteTopics = (portalId, deviceInstanceId) => ({
15
+ mode: `W/${portalId}/vebus/${deviceInstanceId}/Mode`,
16
+ });
17
+ const mqtt = useMqtt();
18
+ const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId]);
19
+ const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId]);
20
+ const updateMode = (mode) => mqtt.publish(writeTopics.mode, mode);
21
+ return Object.assign(Object.assign({}, useTopicsState(topics)), { updateMode });
33
22
  }
34
23
  //# sourceMappingURL=InverterCharger.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InverterCharger.provider.js","sourceRoot":"/","sources":["src/Modules/InverterCharger/InverterCharger.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAGL,OAAO,EACP,cAAc,GACf,MAAM,SAAS,CAAA;AA0BhB,MAAM,UAAU,kBAAkB,CAAC,UAAsB;IACvD,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,gBAA4B;QACjE,OAAO;YACL,KAAK,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,WAAQ;YACtD,IAAI,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,UAAO;YACpD,gBAAgB,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,yBAAsB;YAC/E,UAAU,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,gBAAa;YAChE,WAAW,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,iBAAc;YAClE,gBAAgB,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,sBAAmB;SAC7E,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG,UAAC,QAAkB,EAAE,gBAA4B,IAAK,OAAA,CAAC;QAC5E,IAAI,EAAE,YAAK,QAAQ,oBAAU,gBAAgB,UAAO;KACrD,CAAC,EAF2E,CAE3E,CAAC;IAEH,IAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAChG,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAzC,CAAyC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1G,IAAM,UAAU,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAArC,CAAqC,CAAC;IAE3E,6BACK,cAAc,CAAuB,MAAM,CAAC,KAC/C,UAAU,YAAA,IACX;AACH,CAAC","sourcesContent":["import { useMemo } from \"react\"\nimport {\n PortalId,\n Topics,\n useMqtt,\n useTopicsState,\n} from \"../Mqtt\"\nimport { InstanceId } from \"../Vebus\"\n\n\nexport interface InverterChargerState {\n state: string\n mode: string\n numberOfAcInputs: number\n customName: string\n productName: string\n modeIsAdjustable: number\n}\n\nexport interface InverterChargerTopics extends Topics {\n state?: string\n mode?: string\n numberOfAcInputs?: string,\n customName?: string\n productName?: string\n modeIsAdjustable?: string\n}\n\nexport interface InverterChargerProvider extends InverterChargerState {\n updateMode: (mode: number) => void;\n}\n\nexport function useInverterCharger(instanceId: InstanceId): InverterChargerProvider {\n const getTopics = (portalId: PortalId, deviceInstanceId: InstanceId) => {\n return {\n state: `N/${portalId}/vebus/${deviceInstanceId}/State`,\n mode: `N/${portalId}/vebus/${deviceInstanceId}/Mode`,\n numberOfAcInputs: `N/${portalId}/vebus/${deviceInstanceId}/Ac/NumberOfAcInputs`,\n customName: `N/${portalId}/vebus/${deviceInstanceId}/CustomName`,\n productName: `N/${portalId}/vebus/${deviceInstanceId}/ProductName`,\n modeIsAdjustable: `N/${portalId}/vebus/${deviceInstanceId}/ModeIsAdjustable`,\n };\n };\n\n const getWriteTopics = (portalId: PortalId, deviceInstanceId: InstanceId) => ({\n mode: `W/${portalId}/vebus/${deviceInstanceId}/Mode`\n });\n\n const mqtt = useMqtt();\n\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId]);\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId]);\n\n const updateMode = (mode: number) => mqtt.publish(writeTopics!.mode, mode);\n\n return {\n ...useTopicsState<InverterChargerState>(topics),\n updateMode,\n }\n}\n"]}
1
+ {"version":3,"file":"InverterCharger.provider.js","sourceRoot":"/","sources":["src/Modules/InverterCharger/InverterCharger.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAyBnE,MAAM,UAAU,kBAAkB,CAAC,UAAsB;IACvD,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,gBAA4B,EAAE,EAAE;QACrE,OAAO;YACL,KAAK,EAAE,KAAK,QAAQ,UAAU,gBAAgB,QAAQ;YACtD,IAAI,EAAE,KAAK,QAAQ,UAAU,gBAAgB,OAAO;YACpD,gBAAgB,EAAE,KAAK,QAAQ,UAAU,gBAAgB,sBAAsB;YAC/E,UAAU,EAAE,KAAK,QAAQ,UAAU,gBAAgB,aAAa;YAChE,WAAW,EAAE,KAAK,QAAQ,UAAU,gBAAgB,cAAc;YAClE,gBAAgB,EAAE,KAAK,QAAQ,UAAU,gBAAgB,mBAAmB;SAC7E,CAAA;IACH,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,gBAA4B,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAI,EAAE,KAAK,QAAQ,UAAU,gBAAgB,OAAO;KACrD,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAEzG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAEzE,uCACK,cAAc,CAAuB,MAAM,CAAC,KAC/C,UAAU,IACX;AACH,CAAC","sourcesContent":["import { useMemo } from \"react\"\nimport { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { InstanceId } from \"../Vebus\"\n\nexport interface InverterChargerState {\n state: string\n mode: string\n numberOfAcInputs: number\n customName: string\n productName: string\n modeIsAdjustable: number\n}\n\nexport interface InverterChargerTopics extends Topics {\n state?: string\n mode?: string\n numberOfAcInputs?: string\n customName?: string\n productName?: string\n modeIsAdjustable?: string\n}\n\nexport interface InverterChargerProvider extends InverterChargerState {\n updateMode: (mode: number) => void\n}\n\nexport function useInverterCharger(instanceId: InstanceId): InverterChargerProvider {\n const getTopics = (portalId: PortalId, deviceInstanceId: InstanceId) => {\n return {\n state: `N/${portalId}/vebus/${deviceInstanceId}/State`,\n mode: `N/${portalId}/vebus/${deviceInstanceId}/Mode`,\n numberOfAcInputs: `N/${portalId}/vebus/${deviceInstanceId}/Ac/NumberOfAcInputs`,\n customName: `N/${portalId}/vebus/${deviceInstanceId}/CustomName`,\n productName: `N/${portalId}/vebus/${deviceInstanceId}/ProductName`,\n modeIsAdjustable: `N/${portalId}/vebus/${deviceInstanceId}/ModeIsAdjustable`,\n }\n }\n\n const getWriteTopics = (portalId: PortalId, deviceInstanceId: InstanceId) => ({\n mode: `W/${portalId}/vebus/${deviceInstanceId}/Mode`,\n })\n\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId])\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, instanceId), [mqtt.portalId, instanceId])\n\n const updateMode = (mode: number) => mqtt.publish(writeTopics.mode, mode)\n\n return {\n ...useTopicsState<InverterChargerState>(topics),\n updateMode,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Inverter.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Inverters/Inverter.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAGP,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,MAAM,GACb,gBAAgB,CAyClB"}
1
+ {"version":3,"file":"Inverter.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Inverters/Inverter.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CA8B5F"}