@victronenergy/mfd-modules 8.1.0 → 9.0.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 (258) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/Modules/AcLoads/AcLoads.provider.d.ts +1 -0
  5. package/dist/src/Modules/AcLoads/AcLoads.provider.d.ts.map +1 -0
  6. package/dist/src/Modules/AcLoads/AcLoads.provider.js.map +1 -1
  7. package/dist/src/Modules/AcLoads/index.d.ts +1 -0
  8. package/dist/src/Modules/AcLoads/index.d.ts.map +1 -0
  9. package/dist/src/Modules/AcLoads/index.js.map +1 -1
  10. package/dist/src/Modules/AcMode/AcMode.provider.d.ts +1 -0
  11. package/dist/src/Modules/AcMode/AcMode.provider.d.ts.map +1 -0
  12. package/dist/src/Modules/AcMode/AcMode.provider.js.map +1 -1
  13. package/dist/src/Modules/AcMode/index.d.ts +1 -0
  14. package/dist/src/Modules/AcMode/index.d.ts.map +1 -0
  15. package/dist/src/Modules/AcMode/index.js.map +1 -1
  16. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.d.ts +1 -0
  17. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.d.ts.map +1 -0
  18. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.js.map +1 -1
  19. package/dist/src/Modules/ActiveSource/ActiveSource.provider.d.ts +1 -0
  20. package/dist/src/Modules/ActiveSource/ActiveSource.provider.d.ts.map +1 -0
  21. package/dist/src/Modules/ActiveSource/ActiveSource.provider.js.map +1 -1
  22. package/dist/src/Modules/ActiveSource/index.d.ts +1 -0
  23. package/dist/src/Modules/ActiveSource/index.d.ts.map +1 -0
  24. package/dist/src/Modules/ActiveSource/index.js.map +1 -1
  25. package/dist/src/Modules/Alternators/Alternator.provider.d.ts +1 -0
  26. package/dist/src/Modules/Alternators/Alternator.provider.d.ts.map +1 -0
  27. package/dist/src/Modules/Alternators/Alternator.provider.js.map +1 -1
  28. package/dist/src/Modules/Alternators/Alternators.provider.d.ts +1 -0
  29. package/dist/src/Modules/Alternators/Alternators.provider.d.ts.map +1 -0
  30. package/dist/src/Modules/Alternators/Alternators.provider.js +1 -1
  31. package/dist/src/Modules/Alternators/Alternators.provider.js.map +1 -1
  32. package/dist/src/Modules/Alternators/Alternators.store.d.ts +1 -0
  33. package/dist/src/Modules/Alternators/Alternators.store.d.ts.map +1 -0
  34. package/dist/src/Modules/Alternators/Alternators.store.js.map +1 -1
  35. package/dist/src/Modules/Alternators/index.d.ts +1 -0
  36. package/dist/src/Modules/Alternators/index.d.ts.map +1 -0
  37. package/dist/src/Modules/Alternators/index.js.map +1 -1
  38. package/dist/src/Modules/App/App.provider.d.ts +1 -0
  39. package/dist/src/Modules/App/App.provider.d.ts.map +1 -0
  40. package/dist/src/Modules/App/App.provider.js.map +1 -1
  41. package/dist/src/Modules/App/App.store.d.ts +1 -0
  42. package/dist/src/Modules/App/App.store.d.ts.map +1 -0
  43. package/dist/src/Modules/App/App.store.js.map +1 -1
  44. package/dist/src/Modules/App/index.d.ts +1 -0
  45. package/dist/src/Modules/App/index.d.ts.map +1 -0
  46. package/dist/src/Modules/App/index.js.map +1 -1
  47. package/dist/src/Modules/Battery/Batteries.provider.d.ts +1 -0
  48. package/dist/src/Modules/Battery/Batteries.provider.d.ts.map +1 -0
  49. package/dist/src/Modules/Battery/Batteries.provider.js +1 -1
  50. package/dist/src/Modules/Battery/Batteries.provider.js.map +1 -1
  51. package/dist/src/Modules/Battery/Batteries.store.d.ts +1 -0
  52. package/dist/src/Modules/Battery/Batteries.store.d.ts.map +1 -0
  53. package/dist/src/Modules/Battery/Batteries.store.js.map +1 -1
  54. package/dist/src/Modules/Battery/SystemBatteries.provider.d.ts +1 -0
  55. package/dist/src/Modules/Battery/SystemBatteries.provider.d.ts.map +1 -0
  56. package/dist/src/Modules/Battery/SystemBatteries.provider.js.map +1 -1
  57. package/dist/src/Modules/Battery/index.d.ts +1 -0
  58. package/dist/src/Modules/Battery/index.d.ts.map +1 -0
  59. package/dist/src/Modules/Battery/index.js.map +1 -1
  60. package/dist/src/Modules/Chargers/Charger.provider.d.ts +1 -0
  61. package/dist/src/Modules/Chargers/Charger.provider.d.ts.map +1 -0
  62. package/dist/src/Modules/Chargers/Charger.provider.js.map +1 -1
  63. package/dist/src/Modules/Chargers/Chargers.provider.d.ts +1 -0
  64. package/dist/src/Modules/Chargers/Chargers.provider.d.ts.map +1 -0
  65. package/dist/src/Modules/Chargers/Chargers.provider.js +1 -1
  66. package/dist/src/Modules/Chargers/Chargers.provider.js.map +1 -1
  67. package/dist/src/Modules/Chargers/Chargers.store.d.ts +1 -0
  68. package/dist/src/Modules/Chargers/Chargers.store.d.ts.map +1 -0
  69. package/dist/src/Modules/Chargers/Chargers.store.js.map +1 -1
  70. package/dist/src/Modules/Chargers/index.d.ts +1 -0
  71. package/dist/src/Modules/Chargers/index.d.ts.map +1 -0
  72. package/dist/src/Modules/Chargers/index.js.map +1 -1
  73. package/dist/src/Modules/DcLoads/DcLoads.provider.d.ts +1 -0
  74. package/dist/src/Modules/DcLoads/DcLoads.provider.d.ts.map +1 -0
  75. package/dist/src/Modules/DcLoads/DcLoads.provider.js.map +1 -1
  76. package/dist/src/Modules/DcLoads/index.d.ts +1 -0
  77. package/dist/src/Modules/DcLoads/index.d.ts.map +1 -0
  78. package/dist/src/Modules/DcLoads/index.js.map +1 -1
  79. package/dist/src/Modules/Generators/ConnectedGenset.provider.d.ts +1 -0
  80. package/dist/src/Modules/Generators/ConnectedGenset.provider.d.ts.map +1 -0
  81. package/dist/src/Modules/Generators/ConnectedGenset.provider.js.map +1 -1
  82. package/dist/src/Modules/Generators/ConnectedGensets.provider.d.ts +1 -0
  83. package/dist/src/Modules/Generators/ConnectedGensets.provider.d.ts.map +1 -0
  84. package/dist/src/Modules/Generators/ConnectedGensets.provider.js +1 -1
  85. package/dist/src/Modules/Generators/ConnectedGensets.provider.js.map +1 -1
  86. package/dist/src/Modules/Generators/ConnectedGensets.store.d.ts +1 -0
  87. package/dist/src/Modules/Generators/ConnectedGensets.store.d.ts.map +1 -0
  88. package/dist/src/Modules/Generators/ConnectedGensets.store.js.map +1 -1
  89. package/dist/src/Modules/Generators/GeneratorConnectedGenset.provider.d.ts +1 -0
  90. package/dist/src/Modules/Generators/GeneratorConnectedGenset.provider.d.ts.map +1 -0
  91. package/dist/src/Modules/Generators/GeneratorConnectedGenset.provider.js.map +1 -1
  92. package/dist/src/Modules/Generators/GeneratorRelay.provider.d.ts +1 -0
  93. package/dist/src/Modules/Generators/GeneratorRelay.provider.d.ts.map +1 -0
  94. package/dist/src/Modules/Generators/GeneratorRelay.provider.js.map +1 -1
  95. package/dist/src/Modules/Generators/index.d.ts +1 -0
  96. package/dist/src/Modules/Generators/index.d.ts.map +1 -0
  97. package/dist/src/Modules/Generators/index.js.map +1 -1
  98. package/dist/src/Modules/Header/Header.provider.d.ts +1 -0
  99. package/dist/src/Modules/Header/Header.provider.d.ts.map +1 -0
  100. package/dist/src/Modules/Header/Header.provider.js.map +1 -1
  101. package/dist/src/Modules/Header/index.d.ts +1 -0
  102. package/dist/src/Modules/Header/index.d.ts.map +1 -0
  103. package/dist/src/Modules/Header/index.js.map +1 -1
  104. package/dist/src/Modules/InverterCharger/InputLimit.provider.d.ts +3 -1
  105. package/dist/src/Modules/InverterCharger/InputLimit.provider.d.ts.map +1 -0
  106. package/dist/src/Modules/InverterCharger/InputLimit.provider.js +5 -7
  107. package/dist/src/Modules/InverterCharger/InputLimit.provider.js.map +1 -1
  108. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.d.ts +3 -1
  109. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.d.ts.map +1 -0
  110. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.js +6 -8
  111. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.js.map +1 -1
  112. package/dist/src/Modules/InverterCharger/InverterCharger.provider.d.ts +5 -1
  113. package/dist/src/Modules/InverterCharger/InverterCharger.provider.d.ts.map +1 -0
  114. package/dist/src/Modules/InverterCharger/InverterCharger.provider.js +3 -4
  115. package/dist/src/Modules/InverterCharger/InverterCharger.provider.js.map +1 -1
  116. package/dist/src/Modules/InverterCharger/index.d.ts +1 -0
  117. package/dist/src/Modules/InverterCharger/index.d.ts.map +1 -0
  118. package/dist/src/Modules/InverterCharger/index.js.map +1 -1
  119. package/dist/src/Modules/Inverters/Inverter.provider.d.ts +1 -0
  120. package/dist/src/Modules/Inverters/Inverter.provider.d.ts.map +1 -0
  121. package/dist/src/Modules/Inverters/Inverter.provider.js.map +1 -1
  122. package/dist/src/Modules/Inverters/Inverters.provider.d.ts +1 -0
  123. package/dist/src/Modules/Inverters/Inverters.provider.d.ts.map +1 -0
  124. package/dist/src/Modules/Inverters/Inverters.provider.js +2 -2
  125. package/dist/src/Modules/Inverters/Inverters.provider.js.map +1 -1
  126. package/dist/src/Modules/Inverters/Inverters.store.d.ts +1 -0
  127. package/dist/src/Modules/Inverters/Inverters.store.d.ts.map +1 -0
  128. package/dist/src/Modules/Inverters/Inverters.store.js.map +1 -1
  129. package/dist/src/Modules/Inverters/index.d.ts +1 -0
  130. package/dist/src/Modules/Inverters/index.d.ts.map +1 -0
  131. package/dist/src/Modules/Inverters/index.js.map +1 -1
  132. package/dist/src/Modules/Language/Language.provider.d.ts +1 -0
  133. package/dist/src/Modules/Language/Language.provider.d.ts.map +1 -0
  134. package/dist/src/Modules/Language/Language.provider.js.map +1 -1
  135. package/dist/src/Modules/Language/index.d.ts +1 -0
  136. package/dist/src/Modules/Language/index.d.ts.map +1 -0
  137. package/dist/src/Modules/Language/index.js.map +1 -1
  138. package/dist/src/Modules/Mqtt/Mqtt.constants.d.ts +1 -0
  139. package/dist/src/Modules/Mqtt/Mqtt.constants.d.ts.map +1 -0
  140. package/dist/src/Modules/Mqtt/Mqtt.constants.js.map +1 -1
  141. package/dist/src/Modules/Mqtt/Mqtt.provider.d.ts +1 -0
  142. package/dist/src/Modules/Mqtt/Mqtt.provider.d.ts.map +1 -0
  143. package/dist/src/Modules/Mqtt/Mqtt.provider.js.map +1 -1
  144. package/dist/src/Modules/Mqtt/Mqtt.store.d.ts +1 -0
  145. package/dist/src/Modules/Mqtt/Mqtt.store.d.ts.map +1 -0
  146. package/dist/src/Modules/Mqtt/Mqtt.store.js.map +1 -1
  147. package/dist/src/Modules/Mqtt/Mqtt.types.d.ts +1 -0
  148. package/dist/src/Modules/Mqtt/Mqtt.types.d.ts.map +1 -0
  149. package/dist/src/Modules/Mqtt/Mqtt.types.js.map +1 -1
  150. package/dist/src/Modules/Mqtt/index.d.ts +1 -0
  151. package/dist/src/Modules/Mqtt/index.d.ts.map +1 -0
  152. package/dist/src/Modules/Mqtt/index.js.map +1 -1
  153. package/dist/src/Modules/PvCharger/PvCharger.provider.d.ts +1 -0
  154. package/dist/src/Modules/PvCharger/PvCharger.provider.d.ts.map +1 -0
  155. package/dist/src/Modules/PvCharger/PvCharger.provider.js.map +1 -1
  156. package/dist/src/Modules/PvCharger/index.d.ts +1 -0
  157. package/dist/src/Modules/PvCharger/index.d.ts.map +1 -0
  158. package/dist/src/Modules/PvCharger/index.js.map +1 -1
  159. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.d.ts +1 -0
  160. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.d.ts.map +1 -0
  161. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.js.map +1 -1
  162. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.d.ts +1 -0
  163. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.d.ts.map +1 -0
  164. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.js.map +1 -1
  165. package/dist/src/Modules/ShorePowerInput/index.d.ts +1 -0
  166. package/dist/src/Modules/ShorePowerInput/index.d.ts.map +1 -0
  167. package/dist/src/Modules/ShorePowerInput/index.js.map +1 -1
  168. package/dist/src/Modules/SystemState/SystemState.provider.d.ts +3 -2
  169. package/dist/src/Modules/SystemState/SystemState.provider.d.ts.map +1 -0
  170. package/dist/src/Modules/SystemState/SystemState.provider.js +1 -1
  171. package/dist/src/Modules/SystemState/SystemState.provider.js.map +1 -1
  172. package/dist/src/Modules/SystemState/index.d.ts +1 -0
  173. package/dist/src/Modules/SystemState/index.d.ts.map +1 -0
  174. package/dist/src/Modules/SystemState/index.js.map +1 -1
  175. package/dist/src/Modules/Tanks/Tank.provider.d.ts +1 -0
  176. package/dist/src/Modules/Tanks/Tank.provider.d.ts.map +1 -0
  177. package/dist/src/Modules/Tanks/Tank.provider.js.map +1 -1
  178. package/dist/src/Modules/Tanks/Tanks.provider.d.ts +1 -0
  179. package/dist/src/Modules/Tanks/Tanks.provider.d.ts.map +1 -0
  180. package/dist/src/Modules/Tanks/Tanks.provider.js +1 -1
  181. package/dist/src/Modules/Tanks/Tanks.provider.js.map +1 -1
  182. package/dist/src/Modules/Tanks/Tanks.store.d.ts +1 -0
  183. package/dist/src/Modules/Tanks/Tanks.store.d.ts.map +1 -0
  184. package/dist/src/Modules/Tanks/Tanks.store.js.map +1 -1
  185. package/dist/src/Modules/Tanks/index.d.ts +1 -0
  186. package/dist/src/Modules/Tanks/index.d.ts.map +1 -0
  187. package/dist/src/Modules/Tanks/index.js.map +1 -1
  188. package/dist/src/Modules/Temperatures/Temperature.provider.d.ts +1 -0
  189. package/dist/src/Modules/Temperatures/Temperature.provider.d.ts.map +1 -0
  190. package/dist/src/Modules/Temperatures/Temperature.provider.js.map +1 -1
  191. package/dist/src/Modules/Temperatures/Temperatures.provider.d.ts +1 -0
  192. package/dist/src/Modules/Temperatures/Temperatures.provider.d.ts.map +1 -0
  193. package/dist/src/Modules/Temperatures/Temperatures.provider.js +1 -1
  194. package/dist/src/Modules/Temperatures/Temperatures.provider.js.map +1 -1
  195. package/dist/src/Modules/Temperatures/Temperatures.store.d.ts +1 -0
  196. package/dist/src/Modules/Temperatures/Temperatures.store.d.ts.map +1 -0
  197. package/dist/src/Modules/Temperatures/Temperatures.store.js.map +1 -1
  198. package/dist/src/Modules/Temperatures/index.d.ts +1 -0
  199. package/dist/src/Modules/Temperatures/index.d.ts.map +1 -0
  200. package/dist/src/Modules/Temperatures/index.js.map +1 -1
  201. package/dist/src/Modules/Theme/Theme.provider.d.ts +1 -0
  202. package/dist/src/Modules/Theme/Theme.provider.d.ts.map +1 -0
  203. package/dist/src/Modules/Theme/Theme.provider.js.map +1 -1
  204. package/dist/src/Modules/Theme/Theme.store.d.ts +1 -0
  205. package/dist/src/Modules/Theme/Theme.store.d.ts.map +1 -0
  206. package/dist/src/Modules/Theme/Theme.store.js.map +1 -1
  207. package/dist/src/Modules/Theme/index.d.ts +1 -0
  208. package/dist/src/Modules/Theme/index.d.ts.map +1 -0
  209. package/dist/src/Modules/Theme/index.js.map +1 -1
  210. package/dist/src/Modules/Vebus/Vebus.provider.d.ts +1 -0
  211. package/dist/src/Modules/Vebus/Vebus.provider.d.ts.map +1 -0
  212. package/dist/src/Modules/Vebus/Vebus.provider.js +58 -49
  213. package/dist/src/Modules/Vebus/Vebus.provider.js.map +1 -1
  214. package/dist/src/Modules/Vebus/Vebus.store.d.ts +11 -9
  215. package/dist/src/Modules/Vebus/Vebus.store.d.ts.map +1 -0
  216. package/dist/src/Modules/Vebus/Vebus.store.js +20 -6
  217. package/dist/src/Modules/Vebus/Vebus.store.js.map +1 -1
  218. package/dist/src/Modules/Vebus/index.d.ts +1 -0
  219. package/dist/src/Modules/Vebus/index.d.ts.map +1 -0
  220. package/dist/src/Modules/Vebus/index.js.map +1 -1
  221. package/dist/src/Modules/Vrm/Vrm.store.d.ts +1 -0
  222. package/dist/src/Modules/Vrm/Vrm.store.d.ts.map +1 -0
  223. package/dist/src/Modules/Vrm/Vrm.store.js.map +1 -1
  224. package/dist/src/Modules/Vrm/Vrm.types.d.ts +1 -0
  225. package/dist/src/Modules/Vrm/Vrm.types.d.ts.map +1 -0
  226. package/dist/src/Modules/Vrm/Vrm.types.js.map +1 -1
  227. package/dist/src/Modules/Vrm/index.d.ts +1 -0
  228. package/dist/src/Modules/Vrm/index.d.ts.map +1 -0
  229. package/dist/src/Modules/Vrm/index.js.map +1 -1
  230. package/dist/src/Modules/WindGenerators/WindGenerator.provider.d.ts +1 -0
  231. package/dist/src/Modules/WindGenerators/WindGenerator.provider.d.ts.map +1 -0
  232. package/dist/src/Modules/WindGenerators/WindGenerator.provider.js.map +1 -1
  233. package/dist/src/Modules/WindGenerators/WindGenerators.provider.d.ts +1 -0
  234. package/dist/src/Modules/WindGenerators/WindGenerators.provider.d.ts.map +1 -0
  235. package/dist/src/Modules/WindGenerators/WindGenerators.provider.js +1 -1
  236. package/dist/src/Modules/WindGenerators/WindGenerators.provider.js.map +1 -1
  237. package/dist/src/Modules/WindGenerators/WindGenerators.store.d.ts +1 -0
  238. package/dist/src/Modules/WindGenerators/WindGenerators.store.d.ts.map +1 -0
  239. package/dist/src/Modules/WindGenerators/WindGenerators.store.js.map +1 -1
  240. package/dist/src/Modules/WindGenerators/index.d.ts +1 -0
  241. package/dist/src/Modules/WindGenerators/index.d.ts.map +1 -0
  242. package/dist/src/Modules/WindGenerators/index.js.map +1 -1
  243. package/dist/src/index.d.ts +1 -0
  244. package/dist/src/index.d.ts.map +1 -0
  245. package/dist/src/index.js.map +1 -1
  246. package/dist/src/utils/constants.d.ts +1 -0
  247. package/dist/src/utils/constants.d.ts.map +1 -0
  248. package/dist/src/utils/constants.js.map +1 -1
  249. package/dist/src/utils/logger.d.ts +1 -0
  250. package/dist/src/utils/logger.d.ts.map +1 -0
  251. package/dist/src/utils/logger.js.map +1 -1
  252. package/dist/src/utils/storage.d.ts +1 -0
  253. package/dist/src/utils/storage.d.ts.map +1 -0
  254. package/dist/src/utils/storage.js.map +1 -1
  255. package/dist/src/utils/util.d.ts +1 -0
  256. package/dist/src/utils/util.d.ts.map +1 -0
  257. package/dist/src/utils/util.js.map +1 -1
  258. package/package.json +5 -5
@@ -1,68 +1,77 @@
1
1
  import { useEffect, useMemo } from "react";
2
- import { toJS } from "mobx";
3
- import { isEqual } from "lodash-es";
4
2
  import Logger from "../../utils/logger";
5
- import { useMqtt, useTopicsState } from "../Mqtt";
3
+ import { useMqtt, useTopicState } from "../Mqtt";
6
4
  import { useVebusStore, } from "./Vebus.store";
7
5
  export var useVebus = function () {
8
6
  var mqtt = useMqtt();
9
7
  var vebusStore = useVebusStore();
10
8
  var portalId = mqtt.portalId;
11
9
  var getTopics = function (portalId) { return ({
10
+ vebusInstanceId: "N/".concat(portalId, "/system/0/VebusInstance"),
12
11
  deviceInstances: "N/".concat(portalId, "/vebus/+/DeviceInstance"),
13
12
  }); };
14
13
  var topics = useMemo(function () { return getTopics(portalId); }, [portalId]);
14
+ var vebusInstanceId = useTopicState(topics.vebusInstanceId);
15
15
  var messages = mqtt.messagesByWildcard(topics.deviceInstances);
16
- // Checks for old inverter paths, if not equal, set new path.
17
16
  useEffect(function () {
18
- var deviceInstances = Object.values(messages);
19
- var possibleInvertersPaths = deviceInstances.reduce(function (acc, id) {
20
- acc[id] = "N/".concat(portalId, "/vebus/").concat(id, "/Ac/NumberOfAcInputs");
21
- return acc;
22
- }, {});
23
- var oldInvertersPaths = toJS(vebusStore.possibleInvertersPaths);
24
- if (!isEqual(possibleInvertersPaths, oldInvertersPaths)) {
25
- Logger.log("Saving vebus inverters paths");
26
- vebusStore.setPossibleInvertersPaths(possibleInvertersPaths);
27
- }
28
- }, [messages]);
29
- var subsMessages = useTopicsState(vebusStore.possibleInvertersPaths);
30
- // set vebus instanceId (system with multiple inputs)
31
- useEffect(function () {
32
- // Logger.log("Setting vebus device instance");
33
- // Sometimes "ghost" instances of devices linger in MQTT, so we need to select the highest (i.e. latest) instance ID
34
- var multiInstances = Object.entries(subsMessages)
35
- // Take only "Multi" devices -> must have more than one AcInput
36
- .filter(function (_a) {
37
- var _ = _a[0], nAcInputs = _a[1];
38
- return nAcInputs && parseInt(nAcInputs) !== 0;
39
- })
40
- .map(function (instance) { return parseInt(instance[0]); })
41
- .sort(function (a, b) { return b - a; });
42
- var newInstanceId = multiInstances && multiInstances.length && multiInstances[0];
43
- if (newInstanceId && newInstanceId !== vebusStore.instanceId) {
44
- Logger.log("New VE.Bus instance ID: ".concat(newInstanceId));
45
- vebusStore.setInstanceId(newInstanceId);
17
+ if (vebusInstanceId && vebusInstanceId !== vebusStore.instanceId) {
18
+ Logger.log("New VE.Bus instance ID: ".concat(vebusInstanceId));
19
+ vebusStore.setInstanceId(vebusInstanceId);
46
20
  }
47
- }, [subsMessages]);
48
- // set vebus inverters
49
- useEffect(function () {
50
- // Logger.log("Setting vebus device inverters");
51
- var vebusInverters = Object.entries(subsMessages)
52
- .filter(function (_a) {
53
- var _ = _a[0], nAcInputs = _a[1];
54
- return parseInt(nAcInputs) === 0;
55
- })
56
- .map(function (_a) {
57
- var instance = _a[0];
58
- return parseInt(instance);
59
- });
60
- var oldInverters = toJS(vebusStore.vebusInverters);
61
- if (!isEqual(vebusInverters, oldInverters)) {
62
- Logger.log("New VE.Bus device inverters: ".concat(JSON.stringify(vebusInverters)));
21
+ var oldDevices = vebusStore.vebusInstanceIds;
22
+ var deviceInstances = Object.values(messages);
23
+ // TODO: check unordered structural identify of old and new state
24
+ // TODO: to avoid unnecessary re-rendering: O(n^2) baby
25
+ if (!oldDevices || oldDevices.length != deviceInstances.length || !deviceInstances.every(function (id) { return oldDevices.includes(id); })) {
26
+ Logger.log("New VE.Bus devices: ".concat(JSON.stringify(deviceInstances)));
27
+ vebusStore.setVebusInstanceIds(deviceInstances);
28
+ var possibleInvertersPaths = deviceInstances.reduce(function (acc, id) {
29
+ acc["".concat(id)] = "N/".concat(portalId, "/vebus/").concat(id, "/Ac/NumberOfAcInputs");
30
+ return acc;
31
+ }, {});
32
+ var vebusDevices = mqtt.messagesByTopics(possibleInvertersPaths);
33
+ // extract devices with no ac input -> pure inverters
34
+ var vebusInverters = Object.entries(vebusDevices)
35
+ .filter(function (_a) {
36
+ var _ = _a[0], nAcInputs = _a[1];
37
+ return parseInt(nAcInputs) === 0;
38
+ })
39
+ .map(function (_a) {
40
+ var instance = _a[0];
41
+ return parseInt(instance);
42
+ })
43
+ // make sure vebusInstanceId is always listed first, then ascending
44
+ .sort(function (a, b) {
45
+ if (a == vebusInstanceId)
46
+ return -1;
47
+ if (b == vebusInstanceId)
48
+ return 1;
49
+ return a - b;
50
+ });
51
+ // extract devices with at least one ac input -> inverters + chargers
52
+ var vebusInverterChargers = Object.entries(vebusDevices)
53
+ .filter(function (_a) {
54
+ var _ = _a[0], nAcInputs = _a[1];
55
+ return parseInt(nAcInputs) > 0;
56
+ })
57
+ .map(function (_a) {
58
+ var instance = _a[0];
59
+ return parseInt(instance);
60
+ })
61
+ // make sure vebusInstanceId is always listed first, then ascending
62
+ .sort(function (a, b) {
63
+ if (a == vebusInstanceId)
64
+ return -1;
65
+ if (b == vebusInstanceId)
66
+ return 1;
67
+ return a - b;
68
+ });
69
+ Logger.log("New VE.Bus inverters: ".concat(JSON.stringify(vebusInverters)));
63
70
  vebusStore.setVebusInverters(vebusInverters);
71
+ Logger.log("New VE.Bus inverter/chargers: ".concat(JSON.stringify(vebusInverterChargers)));
72
+ vebusStore.setVebusInverterChargers(vebusInverterChargers);
64
73
  }
65
- }, [subsMessages]);
74
+ }, [vebusInstanceId, messages]);
66
75
  return vebusStore;
67
76
  };
68
77
  //# sourceMappingURL=Vebus.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vebus.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Vebus/Vebus.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vebus.provider.js","sourceRoot":"/","sources":["src/Modules/Vebus/Vebus.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport Logger from \"../../utils/logger\";\nimport {\n PortalId,\n useMqtt,\n useTopicState\n} from \"../Mqtt\";\nimport {\n InstanceId,\n useVebusStore,\n VebusDevices,\n VebusState,\n} from \"./Vebus.store\";\n\nexport const useVebus = (): VebusState => {\n const mqtt = useMqtt();\n const vebusStore = useVebusStore();\n const portalId = mqtt.portalId;\n\n const getTopics = (portalId: PortalId) => ({\n vebusInstanceId: `N/${portalId}/system/0/VebusInstance`,\n deviceInstances: `N/${portalId}/vebus/+/DeviceInstance`,\n });\n\n const topics = useMemo(() => getTopics(portalId), [portalId]);\n const vebusInstanceId = useTopicState<InstanceId>(topics.vebusInstanceId)\n const messages = mqtt.messagesByWildcard(topics.deviceInstances);\n\n useEffect(() => {\n if (vebusInstanceId && vebusInstanceId !== vebusStore.instanceId) {\n Logger.log(`New VE.Bus instance ID: ${vebusInstanceId}`);\n vebusStore.setInstanceId(vebusInstanceId);\n }\n\n const oldDevices = vebusStore.vebusInstanceIds\n const deviceInstances = Object.values(messages) as VebusDevices;\n\n // TODO: check unordered structural identify of old and new state\n // TODO: to avoid unnecessary re-rendering: O(n^2) baby\n if (!oldDevices || oldDevices.length != deviceInstances.length || !deviceInstances.every((id) => oldDevices.includes(id))) {\n\n Logger.log(`New VE.Bus devices: ${JSON.stringify(deviceInstances)}`);\n vebusStore.setVebusInstanceIds(deviceInstances)\n\n const possibleInvertersPaths = deviceInstances.reduce(\n (acc: { [key: string]: string }, id) => {\n acc[`${id}`] = `N/${portalId}/vebus/${id}/Ac/NumberOfAcInputs`;\n return acc;\n },\n {}\n );\n\n const vebusDevices = mqtt.messagesByTopics(possibleInvertersPaths) as unknown as { [key: string]: string}\n\n // extract devices with no ac input -> pure inverters\n const vebusInverters = Object.entries(vebusDevices)\n .filter(([_, nAcInputs]) => parseInt(nAcInputs) === 0)\n .map(([instance]) => parseInt(instance))\n // make sure vebusInstanceId is always listed first, then ascending\n .sort((a, b) => {\n if (a == vebusInstanceId) return -1\n if (b == vebusInstanceId) return 1\n return a - b\n })\n\n // extract devices with at least one ac input -> inverters + chargers\n const vebusInverterChargers = Object.entries(vebusDevices)\n .filter(([_, nAcInputs]) => parseInt(nAcInputs) > 0)\n .map(([instance]) => parseInt(instance))\n // make sure vebusInstanceId is always listed first, then ascending\n .sort((a, b) => {\n if (a == vebusInstanceId) return -1\n if (b == vebusInstanceId) return 1\n return a - b\n })\n\n Logger.log(`New VE.Bus inverters: ${JSON.stringify(vebusInverters)}`);\n vebusStore.setVebusInverters(vebusInverters);\n\n Logger.log(`New VE.Bus inverter/chargers: ${JSON.stringify(vebusInverterChargers)}`);\n vebusStore.setVebusInverterChargers(vebusInverterChargers);\n }\n }, [vebusInstanceId, messages])\n\n return vebusStore;\n};\n"]}
@@ -1,19 +1,21 @@
1
1
  export type InstanceId = number | null | undefined;
2
- export type PossibleInvertersPathsType = {
3
- [key: string]: string;
4
- };
5
- export type VebusInverters = Array<number>;
2
+ export type VebusDevices = Array<number>;
6
3
  export interface VebusState {
7
4
  instanceId: InstanceId;
8
- vebusInverters: VebusInverters;
5
+ vebusInstanceIds: VebusDevices;
6
+ vebusInverters: VebusDevices;
7
+ vebusInverterChargers: VebusDevices;
9
8
  }
10
9
  export declare class VebusStore {
11
10
  instanceId: InstanceId;
12
- possibleInvertersPaths: PossibleInvertersPathsType;
13
- vebusInverters: VebusInverters;
11
+ vebusInstanceIds: VebusDevices;
12
+ vebusInverters: VebusDevices;
13
+ vebusInverterChargers: VebusDevices;
14
14
  constructor();
15
- setPossibleInvertersPaths: (possibleInvertersPaths: PossibleInvertersPathsType) => PossibleInvertersPathsType;
16
- setVebusInverters: (vebusInverters: VebusInverters) => VebusInverters;
15
+ setVebusInstanceIds: (devices: VebusDevices) => VebusDevices;
16
+ setVebusInverters: (devices: VebusDevices) => VebusDevices;
17
+ setVebusInverterChargers: (devices: VebusDevices) => VebusDevices;
17
18
  setInstanceId: (instanceId: InstanceId) => InstanceId;
18
19
  }
19
20
  export declare function useVebusStore(): VebusStore;
21
+ //# sourceMappingURL=Vebus.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vebus.store.d.ts","sourceRoot":"/","sources":["src/Modules/Vebus/Vebus.store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;AAExC,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,gBAAgB,EAAE,YAAY,CAAA;IAC9B,cAAc,EAAE,YAAY,CAAA;IAC5B,qBAAqB,EAAE,YAAY,CAAA;CACpC;AAED,qBAAa,UAAU;IACrB,UAAU,EAAE,UAAU,CAAA;IACtB,gBAAgB,EAAE,YAAY,CAAA;IAC9B,cAAc,EAAE,YAAY,CAAA;IAC5B,qBAAqB,EAAE,YAAY,CAAA;;IAcnC,mBAAmB,YAAa,YAAY,kBAAqC;IAEjF,iBAAiB,YAAa,YAAY,kBAAmC;IAE7E,wBAAwB,YAAa,YAAY,kBAA0C;IAE3F,aAAa,eAAgB,UAAU,gBAAiC;CACzE;AAYD,wBAAgB,aAAa,eAE5B"}
@@ -10,7 +10,7 @@ var VebusStore = /** @class */ (function () {
10
10
  writable: true,
11
11
  value: void 0
12
12
  });
13
- Object.defineProperty(this, "possibleInvertersPaths", {
13
+ Object.defineProperty(this, "vebusInstanceIds", {
14
14
  enumerable: true,
15
15
  configurable: true,
16
16
  writable: true,
@@ -22,17 +22,29 @@ var VebusStore = /** @class */ (function () {
22
22
  writable: true,
23
23
  value: void 0
24
24
  });
25
- Object.defineProperty(this, "setPossibleInvertersPaths", {
25
+ Object.defineProperty(this, "vebusInverterChargers", {
26
26
  enumerable: true,
27
27
  configurable: true,
28
28
  writable: true,
29
- value: function (possibleInvertersPaths) { return _this.possibleInvertersPaths = possibleInvertersPaths; }
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, "setVebusInstanceIds", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: function (devices) { return _this.vebusInstanceIds = devices; }
30
36
  });
31
37
  Object.defineProperty(this, "setVebusInverters", {
32
38
  enumerable: true,
33
39
  configurable: true,
34
40
  writable: true,
35
- value: function (vebusInverters) { return _this.vebusInverters = vebusInverters; }
41
+ value: function (devices) { return _this.vebusInverters = devices; }
42
+ });
43
+ Object.defineProperty(this, "setVebusInverterChargers", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: function (devices) { return _this.vebusInverterChargers = devices; }
36
48
  });
37
49
  Object.defineProperty(this, "setInstanceId", {
38
50
  enumerable: true,
@@ -41,12 +53,14 @@ var VebusStore = /** @class */ (function () {
41
53
  value: function (instanceId) { return _this.instanceId = instanceId; }
42
54
  });
43
55
  makeAutoObservable(this, {
44
- setPossibleInvertersPaths: action,
56
+ setVebusInstanceIds: action,
45
57
  setVebusInverters: action,
58
+ setVebusInverterChargers: action,
46
59
  setInstanceId: action
47
60
  });
48
- this.possibleInvertersPaths = {};
61
+ this.vebusInstanceIds = [];
49
62
  this.vebusInverters = [];
63
+ this.vebusInverterChargers = [];
50
64
  }
51
65
  return VebusStore;
52
66
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"Vebus.store.js","sourceRoot":"","sources":["../../../../src/Modules/Vebus/Vebus.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAe,MAAM,MAAM,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,IAAI,KAAiB,CAAA;AAUrB;IAKE;QAAA,iBAQC;QAZD;;;;;WAAsB;QACtB;;;;;WAAkD;QAClD;;;;;WAA8B;QAY9B;;;;mBAA4B,UAAC,sBAAkD,IAAK,OAAA,KAAI,CAAC,sBAAsB,GAAG,sBAAsB,EAApD,CAAoD;WAAC;QAEzI;;;;mBAAoB,UAAC,cAA8B,IAAK,OAAA,KAAI,CAAC,cAAc,GAAG,cAAc,EAApC,CAAoC;WAAC;QAE7F;;;;mBAAgB,UAAC,UAAsB,IAAK,OAAA,KAAI,CAAC,UAAU,GAAG,UAAU,EAA5B,CAA4B;WAAA;QAbtE,kBAAkB,CAAC,IAAI,EAAE;YACvB,yBAAyB,EAAE,MAAM;YACjC,iBAAiB,EAAE,MAAM;YACzB,aAAa,EAAE,MAAM;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;IAC1B,CAAC;IAOH,iBAAC;AAAD,CAAC,AApBD,IAoBC;;AAED,SAAS,eAAe;IACtB,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,UAAU,EAAE,CAAA;IACxC,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,aAAa;IAC3B,OAAO,OAAO,CAAC,cAAM,OAAA,eAAe,EAAE,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"Vebus.store.js","sourceRoot":"/","sources":["src/Modules/Vebus/Vebus.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAe,MAAM,MAAM,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,IAAI,KAAiB,CAAA;AAarB;IAME;QAAA,iBAUC;QAfD;;;;;WAAsB;QACtB;;;;;WAA8B;QAC9B;;;;;WAA4B;QAC5B;;;;;WAAmC;QAcnC;;;;mBAAsB,UAAC,OAAqB,IAAK,OAAA,KAAI,CAAC,gBAAgB,GAAG,OAAO,EAA/B,CAA+B;WAAC;QAEjF;;;;mBAAoB,UAAC,OAAqB,IAAK,OAAA,KAAI,CAAC,cAAc,GAAG,OAAO,EAA7B,CAA6B;WAAC;QAE7E;;;;mBAA2B,UAAC,OAAqB,IAAK,OAAA,KAAI,CAAC,qBAAqB,GAAG,OAAO,EAApC,CAAoC;WAAC;QAE3F;;;;mBAAgB,UAAC,UAAsB,IAAK,OAAA,KAAI,CAAC,UAAU,GAAG,UAAU,EAA5B,CAA4B;WAAA;QAjBtE,kBAAkB,CAAC,IAAI,EAAE;YACvB,mBAAmB,EAAE,MAAM;YAC3B,iBAAiB,EAAE,MAAM;YACzB,wBAAwB,EAAE,MAAM;YAChC,aAAa,EAAE,MAAM;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAA;IACjC,CAAC;IASH,iBAAC;AAAD,CAAC,AAzBD,IAyBC;;AAED,SAAS,eAAe;IACtB,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,UAAU,EAAE,CAAA;IACxC,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,aAAa;IAC3B,OAAO,OAAO,CAAC,cAAM,OAAA,eAAe,EAAE,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC","sourcesContent":["import { action, makeAutoObservable, runInAction } from \"mobx\"\nimport { useMemo } from \"react\"\n\nlet store: VebusStore\n\nexport type InstanceId = number | null | undefined\n\nexport type VebusDevices = Array<number>\n\nexport interface VebusState {\n instanceId: InstanceId\n vebusInstanceIds: VebusDevices\n vebusInverters: VebusDevices\n vebusInverterChargers: VebusDevices\n}\n\nexport class VebusStore {\n instanceId: InstanceId\n vebusInstanceIds: VebusDevices\n vebusInverters: VebusDevices\n vebusInverterChargers: VebusDevices\n\n constructor() {\n makeAutoObservable(this, {\n setVebusInstanceIds: action,\n setVebusInverters: action,\n setVebusInverterChargers: action,\n setInstanceId: action\n })\n this.vebusInstanceIds = []\n this.vebusInverters = []\n this.vebusInverterChargers = []\n }\n\n setVebusInstanceIds = (devices: VebusDevices) => this.vebusInstanceIds = devices;\n\n setVebusInverters = (devices: VebusDevices) => this.vebusInverters = devices;\n\n setVebusInverterChargers = (devices: VebusDevices) => this.vebusInverterChargers = devices;\n\n setInstanceId = (instanceId: InstanceId) => this.instanceId = instanceId\n}\n\nfunction initializeStore() {\n const _store = store ?? new VebusStore()\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 useVebusStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  export * from "./Vebus.provider";
2
2
  export * from "./Vebus.store";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["src/Modules/Vebus/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/Vebus/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/Modules/Vebus/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA","sourcesContent":["export * from \"./Vebus.provider\"\nexport * from \"./Vebus.store\"\n"]}
@@ -36,3 +36,4 @@ export declare class VrmStore {
36
36
  setActiveInstallation: (siteId: number) => void;
37
37
  }
38
38
  export declare function useVrmStore(): VrmStore;
39
+ //# sourceMappingURL=Vrm.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vrm.store.d.ts","sourceRoot":"/","sources":["src/Modules/Vrm/Vrm.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyB,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhF,OAAO,EAAE,QAAQ,EAAe,MAAM,QAAQ,CAAA;AAM9C,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,WAAW,EAAE,MAAM,GAAG,YAAY,CAAA;CACnC;AAED,qBAAa,QAAQ;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,GAAG,YAAY,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;gBAEvD,QAAQ,EAAE,QAAQ;IAY9B,IAAI,QAAQ,uBAEX;IAED,KAAK,aAAoB,MAAM,YAAY,MAAM,4CAAyC,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC,CA8BxH;IAED,MAAM,aAcL;IAED,qBAAqB,QAAa,OAAO,CAAC,IAAI,CAAC,CAoC9C;IAED,qBAAqB,WAAY,MAAM,UAiBtC;CAEF;AAYD,wBAAgB,WAAW,aAG1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Vrm.store.js","sourceRoot":"","sources":["../../../../src/Modules/Vrm/Vrm.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vrm.store.js","sourceRoot":"/","sources":["src/Modules/Vrm/Vrm.store.ts"],"names":[],"mappings":"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","sourcesContent":["import { Installation, InstallationsResponse, LoginResponse } from \"./Vrm.types\"\nimport { makeAutoObservable, runInAction } from \"mobx\"\nimport { useMemo } from \"react\"\nimport axios, { AxiosError } from \"axios\"\nimport { AppStore, useAppStore } from \"../App\"\nimport { makePersistable } from \"mobx-persist-store\"\nimport { Storage } from \"../../utils/storage\"\n\nlet store: VrmStore\n\nexport interface VrmState {\n userId?: number\n sentVerification?: boolean\n verificationMode?: string\n username?: string\n token?: string\n mqttHost?: string\n portalId?: string\n siteId?: number\n webhost?: string\n installations?: Installation[]\n environment: \"live\" | \"acceptance\"\n}\n\nexport class VrmStore {\n appStore: AppStore\n userId?: number\n username?: string\n token?: string\n mqttHost?: string\n portalId?: string\n siteId?: number\n webhost?: string\n sentVerification?: boolean\n verificationMode?: string\n installations?: Installation[]\n siteName?: string\n environment: \"live\" | \"acceptance\" = \"live\"\n private readonly apiBaseUrl = \"https://vrmapi.victronenergy.com/v2\"\n\n constructor(appStore: AppStore) {\n this.appStore = appStore\n makeAutoObservable(this, { appStore: false })\n makePersistable(this, {\n name: \"VrmStore\",\n properties: [\"userId\", \"username\", \"token\", \"mqttHost\", \"portalId\", \"siteId\", \"siteName\", \"webhost\"],\n storage: Storage,\n expireIn: 1000 * 60 * 60 * 24 * 90, // 90 days (ms)\n removeOnExpiration: true,\n }).then()\n }\n\n get loggedIn() {\n return this.username && this.token && this.webhost && this.portalId\n }\n\n login = async (username: string, password: string, rememberMe = true, verificationToken?: string): Promise<LoginResponse> => {\n try {\n const response = await axios.post(`${this.apiBaseUrl}/auth/login`, {\n username,\n password,\n remember_me: rememberMe,\n sms_token: verificationToken\n })\n\n const data: LoginResponse = response.data\n\n runInAction(() => {\n this.token = data.token\n this.userId = data.idUser\n this.username = username\n this.sentVerification = data.verification_sent\n this.verificationMode = data.verification_mode\n })\n\n return data\n } catch (e) {\n runInAction(() => {\n this.sentVerification = undefined\n this.verificationMode = undefined\n })\n\n const response = (e as AxiosError)?.response\n\n throw new Error(`Login failed with status code: ${response?.status} (${response?.statusText})`)\n }\n }\n\n logout = () => {\n this.appStore.setRemote(false)\n\n this.userId = undefined\n this.username = undefined\n this.token = undefined\n this.mqttHost = undefined\n this.portalId = undefined\n this.siteId = undefined\n this.siteName = undefined\n this.webhost = undefined\n this.installations = undefined\n this.sentVerification = undefined\n this.verificationMode = undefined\n }\n\n updateInstanceDetails = async (): Promise<void> => {\n const userId = this.userId\n const token = this.token\n\n if (!userId || !token) {\n throw new Error(\"Not logged in\")\n }\n\n const response = await axios.get(`${this.apiBaseUrl}/users/${userId}/installations?extended=1`, {\n headers: {\n \"x-authorization\": `Bearer ${token}`,\n },\n })\n\n if (response.status !== 200) {\n throw new Error(response.data)\n }\n\n const data: InstallationsResponse = response.data\n\n if (data.records.length === 0) {\n throw new Error(\"This account has no installations!\")\n }\n\n runInAction(() => {\n this.installations = data.records.map((v) => ({\n idSite: v.idSite,\n identifier: v.identifier,\n mqtt_webhost: v.mqtt_webhost,\n name: v.name,\n }))\n })\n\n if (data.records.length === 1) {\n runInAction(() => this.setActiveInstallation(data.records[0].idSite))\n }\n }\n\n setActiveInstallation = (siteId: number) => {\n const installations = this.installations\n\n if (!installations) {\n throw new Error(\"No installations, try logging in again!\")\n }\n\n const site = installations.find((v) => v.idSite === siteId)\n\n if (!site) {\n throw new Error(\"Incorrect data - site with specified ID not found!\")\n }\n\n this.siteName = site.name\n this.portalId = site.identifier\n this.webhost = site.mqtt_webhost\n this.siteId = siteId\n }\n\n}\n\nfunction initializeStore(appStore: AppStore) {\n const _store = store ?? new VrmStore(appStore)\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 useVrmStore() {\n const appStore = useAppStore()\n return useMemo(() => initializeStore(appStore), [])\n}"]}
@@ -14,3 +14,4 @@ export interface Installation {
14
14
  mqtt_webhost: string;
15
15
  name: string;
16
16
  }
17
+ //# sourceMappingURL=Vrm.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vrm.types.d.ts","sourceRoot":"/","sources":["src/Modules/Vrm/Vrm.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"Vrm.types.js","sourceRoot":"","sources":["../../../../src/Modules/Vrm/Vrm.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Vrm.types.js","sourceRoot":"/","sources":["src/Modules/Vrm/Vrm.types.ts"],"names":[],"mappings":"","sourcesContent":["export interface LoginResponse {\n token: string\n idUser: number\n verification_mode: string\n verification_sent: boolean\n}\n\nexport interface InstallationsResponse {\n success: boolean\n records: Installation[]\n}\n\nexport interface Installation {\n idSite: number\n identifier: string\n mqtt_webhost: string\n name: string\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  export * from "./Vrm.store";
2
2
  export * from "./Vrm.types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["src/Modules/Vrm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/Vrm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/Modules/Vrm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA","sourcesContent":["export * from \"./Vrm.store\"\nexport * from \"./Vrm.types\"\n"]}
@@ -4,3 +4,4 @@ export interface WindGeneratorState {
4
4
  temperature: number;
5
5
  }
6
6
  export declare function useWindGenerator(windGeneratorId: number): WindGeneratorState;
7
+ //# sourceMappingURL=WindGenerator.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindGenerator.provider.d.ts","sourceRoot":"/","sources":["src/Modules/WindGenerators/WindGenerator.provider.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,kBAAkB,CAW5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"WindGenerator.provider.js","sourceRoot":"","sources":["../../../../src/Modules/WindGenerators/WindGenerator.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAQ/B,MAAM,UAAU,gBAAgB,CAAC,eAAuB;IACtD,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,OAAO,EAAE,YAAK,QAAQ,uBAAa,eAAe,kBAAe;QACjE,OAAO,EAAE,YAAK,QAAQ,uBAAa,eAAe,kBAAe;QACjE,WAAW,EAAE,YAAK,QAAQ,uBAAa,eAAe,sBAAmB;KAC1E,CAAC,EAJwC,CAIxC,CAAA;IACF,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;IAEvE,OAAO,cAAc,CAAqB,MAAM,CAAC,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"WindGenerator.provider.js","sourceRoot":"/","sources":["src/Modules/WindGenerators/WindGenerator.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAQ/B,MAAM,UAAU,gBAAgB,CAAC,eAAuB;IACtD,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,OAAO,EAAE,YAAK,QAAQ,uBAAa,eAAe,kBAAe;QACjE,OAAO,EAAE,YAAK,QAAQ,uBAAa,eAAe,kBAAe;QACjE,WAAW,EAAE,YAAK,QAAQ,uBAAa,eAAe,sBAAmB;KAC1E,CAAC,EAJwC,CAIxC,CAAA;IACF,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;IAEvE,OAAO,cAAc,CAAqB,MAAM,CAAC,CAAA;AACnD,CAAC","sourcesContent":["import { PortalId, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface WindGeneratorState {\n current: number\n voltage: number\n temperature: number\n}\n\nexport function useWindGenerator(windGeneratorId: number): WindGeneratorState {\n const getTopics = (portalId: PortalId) => ({\n voltage: `N/${portalId}/dcsource/${windGeneratorId}/Dc/0/Voltage`,\n current: `N/${portalId}/dcsource/${windGeneratorId}/Dc/0/Current`,\n temperature: `N/${portalId}/dcsource/${windGeneratorId}/Dc/0/Temperature`,\n })\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n return useTopicsState<WindGeneratorState>(topics)\n}\n"]}
@@ -1 +1,2 @@
1
1
  export declare const useWindGenerators: () => import("./WindGenerators.store").WindGenerators;
2
+ //# sourceMappingURL=WindGenerators.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindGenerators.provider.d.ts","sourceRoot":"/","sources":["src/Modules/WindGenerators/WindGenerators.provider.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB,uDAmC7B,CAAA"}
@@ -25,7 +25,7 @@ export var useWindGenerators = function () {
25
25
  }
26
26
  });
27
27
  // TODO: check unordered structural identify of old and new state
28
- // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
28
+ // TODO: to avoid unnecessary re-rendering: O(n^2) baby
29
29
  if (!windGenerators_1 || windGenerators_1.length != deviceInstances_1.length || !deviceInstances_1.every(function (id) { return windGenerators_1.includes(id); })) {
30
30
  Logger.log("New wind generators instances: ".concat(JSON.stringify(deviceInstances_1)));
31
31
  windGeneratorsStore.setWindGenerators(deviceInstances_1);
@@ -1 +1 @@
1
- {"version":3,"file":"WindGenerators.provider.js","sourceRoot":"","sources":["../../../../src/Modules/WindGenerators/WindGenerators.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAmB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IACpD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,oBAAoB,EAAE,YAAK,QAAQ,qCAAkC;KACtE,CAAC,EAFwC,CAExC,CAAA;IAEF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAErE,SAAS,CAAC;QACR,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAM,gBAAc,GAAG,mBAAmB,CAAC,cAAc,CAAA;YACzD,IAAM,iBAAe,GAAsB,EAAE,CAAA;YAE7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;;gBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,cAAc,EAAE,CAAC;oBAC7D,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACvE,IAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,CAAA;oBACnD,IAAI,QAAQ,KAAK,EAAE;wBAAE,iBAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACtD,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,gBAAc,IAAI,gBAAc,CAAC,MAAM,IAAI,iBAAe,CAAC,MAAM,IAAI,CAAC,iBAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,gBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA3B,CAA2B,CAAC,EAAE,CAAC;gBACtI,MAAM,CAAC,GAAG,CAAC,yCAAkC,IAAI,CAAC,SAAS,CAAC,iBAAe,CAAC,CAAE,CAAC,CAAC;gBAChF,mBAAmB,CAAC,iBAAiB,CAAC,iBAAe,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"WindGenerators.provider.js","sourceRoot":"/","sources":["src/Modules/WindGenerators/WindGenerators.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAmB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IACpD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,oBAAoB,EAAE,YAAK,QAAQ,qCAAkC;KACtE,CAAC,EAFwC,CAExC,CAAA;IAEF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAErE,SAAS,CAAC;QACR,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAM,gBAAc,GAAG,mBAAmB,CAAC,cAAc,CAAA;YACzD,IAAM,iBAAe,GAAsB,EAAE,CAAA;YAE7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;;gBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,cAAc,EAAE,CAAC;oBAC7D,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACvE,IAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,CAAA;oBACnD,IAAI,QAAQ,KAAK,EAAE;wBAAE,iBAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACtD,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,gBAAc,IAAI,gBAAc,CAAC,MAAM,IAAI,iBAAe,CAAC,MAAM,IAAI,CAAC,iBAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,gBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA3B,CAA2B,CAAC,EAAE,CAAC;gBACtI,MAAM,CAAC,GAAG,CAAC,yCAAkC,IAAI,CAAC,SAAS,CAAC,iBAAe,CAAC,CAAE,CAAC,CAAC;gBAChF,mBAAmB,CAAC,iBAAiB,CAAC,iBAAe,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\";\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { WindGeneratorId, useWindGeneratorsStore } from \"./WindGenerators.store\"\nimport { DC_SOURCE_MONITOR_MODE } from \"../../utils/constants\";\n\nexport const useWindGenerators = () => {\n const windGeneratorsStore = useWindGeneratorsStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId) => ({\n dcSourceMonitorModes: `N/${portalId}/dcsource/+/Settings/MonitorMode`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const messages = mqtt.messagesByWildcard(topics.dcSourceMonitorModes)\n\n useEffect(() => {\n if (messages && Object.entries(messages).length !== 0) {\n const windGenerators = windGeneratorsStore.windGenerators\n const deviceInstances: WindGeneratorId[] = []\n\n Object.keys(messages).forEach(path => {\n if (messages[path] === DC_SOURCE_MONITOR_MODE.WIND_GENERATOR) {\n const regExpExec = new RegExp('dcsource\\/(?<instance>\\\\d*)').exec(path)\n const instance = regExpExec?.groups?.instance ?? \"\"\n if (instance !== \"\") deviceInstances.push(+instance)\n }\n })\n\n // TODO: check unordered structural identify of old and new state\n // TODO: to avoid unnecessary re-rendering: O(n^2) baby\n if (!windGenerators || windGenerators.length != deviceInstances.length || !deviceInstances.every((id) => windGenerators.includes(id))) {\n Logger.log(`New wind generators instances: ${JSON.stringify(deviceInstances)}`);\n windGeneratorsStore.setWindGenerators(deviceInstances)\n }\n }\n }, [messages])\n\n return windGeneratorsStore\n}\n"]}
@@ -5,3 +5,4 @@ export declare class WindGenerators {
5
5
  setWindGenerators: (windGenerators: WindGeneratorId[]) => WindGeneratorId[];
6
6
  }
7
7
  export declare function useWindGeneratorsStore(): WindGenerators;
8
+ //# sourceMappingURL=WindGenerators.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindGenerators.store.d.ts","sourceRoot":"/","sources":["src/Modules/WindGenerators/WindGenerators.store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEvD,qBAAa,cAAc;IACzB,cAAc,EAAE,eAAe,EAAE,CAAK;;IAMtC,iBAAiB,mBAAoB,eAAe,EAAE,uBAAyC;CAChG;AAYD,wBAAgB,sBAAsB,mBAErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WindGenerators.store.js","sourceRoot":"","sources":["../../../../src/Modules/WindGenerators/WindGenerators.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,IAAI,KAAqB,CAAA;AAIzB;IAGE;QAAA,iBAEC;QAJD;;;;mBAAoC,EAAE;WAAA;QAMtC;;;;mBAAoB,UAAC,cAAiC,IAAK,OAAA,KAAI,CAAC,cAAc,GAAG,cAAc,EAApC,CAAoC;WAAA;QAH7F,kBAAkB,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC;IAGH,qBAAC;AAAD,CAAC,AARD,IAQC;;AAED,SAAS,eAAe;IACtB,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,cAAc,EAAE,CAAA;IAC5C,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,sBAAsB;IACpC,OAAO,OAAO,CAAC,cAAM,OAAA,eAAe,EAAE,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"WindGenerators.store.js","sourceRoot":"/","sources":["src/Modules/WindGenerators/WindGenerators.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,IAAI,KAAqB,CAAA;AAIzB;IAGE;QAAA,iBAEC;QAJD;;;;mBAAoC,EAAE;WAAA;QAMtC;;;;mBAAoB,UAAC,cAAiC,IAAK,OAAA,KAAI,CAAC,cAAc,GAAG,cAAc,EAApC,CAAoC;WAAA;QAH7F,kBAAkB,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC;IAGH,qBAAC;AAAD,CAAC,AARD,IAQC;;AAED,SAAS,eAAe;IACtB,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,cAAc,EAAE,CAAA;IAC5C,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,sBAAsB;IACpC,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\"\n\nlet store: WindGenerators\n\nexport type WindGeneratorId = number | null | undefined\n\nexport class WindGenerators {\n windGenerators: WindGeneratorId[] = []\n\n constructor() {\n makeAutoObservable(this, { setWindGenerators: action })\n }\n\n setWindGenerators = (windGenerators: WindGeneratorId[]) => this.windGenerators = windGenerators\n}\n\nfunction initializeStore() {\n const _store = store ?? new WindGenerators()\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 useWindGeneratorsStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  export * from "./WindGenerators.provider";
2
2
  export * from "./WindGenerators.store";
3
3
  export * from "./WindGenerator.provider";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["src/Modules/WindGenerators/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/WindGenerators/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/Modules/WindGenerators/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA","sourcesContent":["export * from \"./WindGenerators.provider\"\nexport * from \"./WindGenerators.store\"\nexport * from \"./WindGenerator.provider\"\n"]}
@@ -22,3 +22,4 @@ export * from "./Modules/Vrm";
22
22
  export * from "./Modules/WindGenerators";
23
23
  export * from "./Modules/Temperatures";
24
24
  export * from "./utils/storage";
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA","sourcesContent":["export * from \"./Modules/AcLoads\"\nexport * from \"./Modules/AcMode\"\nexport * from \"./Modules/ActiveSource\"\nexport * from \"./Modules/Alternators\"\nexport * from \"./Modules/App\"\nexport * from \"./Modules/Battery\"\nexport * from \"./Modules/Chargers\"\nexport * from \"./Modules/DcLoads\"\nexport * from \"./Modules/Generators\"\nexport * from \"./Modules/Header\"\nexport * from \"./Modules/InverterCharger\"\nexport * from \"./Modules/Inverters\"\nexport * from \"./Modules/Language\"\nexport * from \"./Modules/Mqtt\"\nexport * from \"./Modules/PvCharger\"\nexport * from \"./Modules/ShorePowerInput\"\nexport * from \"./Modules/SystemState\"\nexport * from \"./Modules/Tanks\"\nexport * from \"./Modules/Theme\"\nexport * from \"./Modules/Vebus\"\nexport * from \"./Modules/Vrm\"\nexport * from \"./Modules/WindGenerators\"\nexport * from \"./Modules/Temperatures\"\nexport * from \"./utils/storage\""]}
@@ -92,3 +92,4 @@ export declare const VIEWS: {
92
92
  MQTT_UNAVAILABLE: string;
93
93
  ERROR: string;
94
94
  };
95
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"/","sources":["src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED,eAAO,MAAM,sBAAsB;;CAElC,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;CAe9B,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAA;AAED,eAAO,MAAM,cAAc;;;;;CAK1B,CAAA;AAED,eAAO,MAAM,YAAY;;;;CAIxB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;CAKvB,CAAA;AAED,eAAO,MAAM,YAAY;;;CAGxB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;CAKzB,CAAA;AAED,eAAO,MAAM,+BAA+B,QAAQ,CAAA;AAEpD,eAAO,MAAM,8BAA8B;;;CAG1C,CAAA;AAED,eAAO,MAAM,cAAc;;CAE1B,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAa3B,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"/","sources":["src/utils/constants.ts"],"names":[],"mappings":"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","sourcesContent":["export const BATTERY_STATE = {\n IDLE: 0,\n CHARGING: 1,\n DISCHARGING: 2,\n}\n\nexport const DC_SOURCE_MONITOR_MODE = {\n WIND_GENERATOR: -8,\n}\n\nexport const VEBUS_SYSTEM_STATE = {\n OFF: 0,\n LOW_POWER: 1,\n FAULT_CONDITION: 2,\n BULK_CHARGING: 3,\n ABSORPTION_CHARGINNG: 4,\n FLOAT_CHARGING: 5,\n STORAGE_MODE: 6,\n EQUALISATION_CHARGING: 7,\n PASSTHRU: 8,\n INVERTING: 9,\n ASSISTING: 10,\n POWER_SUPPLY_MODE: 11,\n DISCHARGING: 256,\n SUSTAIN: 257,\n}\n\nexport const AC_SOURCE = {\n NOT_AVAILABLE: 0,\n GRID: 1,\n GENSET: 2,\n SHORE: 3,\n INVERTING_ISLAND_MODE: 240,\n}\n\nexport const AC_SOURCE_TYPE = {\n NOT_IN_USE: 0,\n GRID: 1,\n GENERATOR: 2,\n SHORE: 3,\n}\n\nexport const ACTIVE_INPUT = {\n INPUT_0: 0,\n INPUT_1: 1,\n NONE: 240, // Inverting\n}\n\nexport const SYSTEM_MODE = {\n CHARGER_ONLY: 1,\n INVERTER_ONLY: 2,\n ON: 3,\n OFF: 4,\n}\n\nexport const CHARGER_MODE = {\n OFF: 4,\n ON: 1,\n}\n\nexport const INVERTER_MODE = {\n ON: 2,\n VEBUS_ON: 3, // Vebus inverters use mode 3 in stead of 2 for ON.\n OFF: 4,\n ECO: 5,\n}\n\nexport const FISCHER_PANDA_GENSET_PRODUCT_ID = 45120 /// 0xB040 VE_PROD_ID_FISCHER_PANDA_GENSET\n\nexport const FISCHER_PANDA_GENSET_AUTOSTART = {\n DISABLED: 0,\n ENABLED: 1,\n}\n\nexport const RELAY_FUNCTION = {\n GENERATOR_START_STOP: 1,\n}\n\nexport const GENERATOR_START_STOP = {\n STOP: 0,\n START: 1,\n AUTO_ON: 1,\n AUTO_OFF: 0,\n}\n\nexport const TANK_FLUID_TYPE = {\n FUEL: 0,\n FRESH_WATER: 1,\n WASTE_WATER: 2,\n LIVE_WELL: 3,\n OIL: 4,\n BLACK_WATER: 5,\n GASOLINE: 5,\n DIESEL: 6,\n LPG: 7,\n LNG: 8,\n HYDRAULIC_OIL: 9,\n RAW_WATER: 10\n}\n\nexport const VIEWS = {\n CONNECTING: \"CONNECTING\",\n METRICS: \"METRICS\",\n INVERTER_CHARGER_INPUT_LIMIT_SELECTOR: \"INVERTER_CHARGER_INPUT_LIMIT_SELECTOR\",\n REMOTE_CONSOLE: \"REMOTE_CONSOLE\",\n MQTT_UNAVAILABLE: \"MQTT_UNAVAILABLE\",\n ERROR: \"ERROR\",\n}\n"]}
@@ -7,3 +7,4 @@ export default _default;
7
7
  declare function log(...msgs: any[]): void;
8
8
  declare function warn(...msgs: any[]): void;
9
9
  declare function error(...msgs: any[]): void;
10
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"/","sources":["src/utils/logger.js"],"names":[],"mappings":";;;;;;AAEA,2CAEC;AACD,4CAEC;AACD,6CAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,QAAQ,CAAA;AAEzC,IAAM,GAAG,GAAG;IAAC,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IAChB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAC;AAC1D,CAAC,CAAA;AACD,IAAM,IAAI,GAAG;IAAC,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IACjB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,IAAI,EAAC;AAC3D,CAAC,CAAA;AACD,IAAM,KAAK,GAAG;IAAC,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAC;AAC5D,CAAC,CAAA;AAED,eAAe,EAAC,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAC,CAAA"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"/","sources":["src/utils/logger.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,QAAQ,CAAA;AAEzC,IAAM,GAAG,GAAG;IAAC,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IAChB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAC;AAC1D,CAAC,CAAA;AACD,IAAM,IAAI,GAAG;IAAC,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IACjB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,IAAI,EAAC;AAC3D,CAAC,CAAA;AACD,IAAM,KAAK,GAAG;IAAC,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAC;AAC5D,CAAC,CAAA;AAED,eAAe,EAAC,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAC,CAAA","sourcesContent":["import {getParameterByName} from \"./util\"\n\nconst log = (...msgs) => {\n if (!getParameterByName(\"nolog\")) console.log(...msgs)\n}\nconst warn = (...msgs) => {\n if (!getParameterByName(\"nolog\")) console.warn(...msgs)\n}\nconst error = (...msgs) => {\n if (!getParameterByName(\"nolog\")) console.error(...msgs)\n}\n\nexport default {log, warn, error}\n"]}
@@ -1,2 +1,3 @@
1
1
  import { StorageController } from "mobx-persist-store";
2
2
  export declare const Storage: StorageController;
3
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"/","sources":["src/utils/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,eAAO,MAAM,OAAO,EAAE,iBAuCrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAA;AACrC,OAAO,OAAO,MAAM,WAAW,CAAA;AAG/B,MAAM,CAAC,IAAM,OAAO,GAAsB;IACxC,oGAAoG;IACpG,OAAO,YAAI,GAAW;;QACpB,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,MAAA,MAAA,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAA;YAC7D,CAAC;YAED,OAAO,MAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAA;QACjC,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,UAAU,YAAC,GAAW;QACpB,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;YACpC,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QAAC,WAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,OAAO,YAAC,GAAW,EAAE,KAAU;QAC7B,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;QAC3C,CAAC;QAAC,WAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"/","sources":["src/utils/storage.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAA;AACrC,OAAO,OAAO,MAAM,WAAW,CAAA;AAG/B,MAAM,CAAC,IAAM,OAAO,GAAsB;IACxC,oGAAoG;IACpG,OAAO,YAAI,GAAW;;QACpB,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,MAAA,MAAA,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAA;YAC7D,CAAC;YAED,OAAO,MAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAA;QACjC,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,UAAU,YAAC,GAAW;QACpB,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;YACpC,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QAAC,WAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,OAAO,YAAC,GAAW,EAAE,KAAU;QAC7B,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;QAC3C,CAAC;QAAC,WAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;CACF,CAAA","sourcesContent":["import localForage from \"localforage\"\nimport Cookies from \"js-cookie\"\nimport { StorageController } from \"mobx-persist-store\"\n\nexport const Storage: StorageController = {\n // Get a value from browser storage, or null if the value does not exist or storage is not supported\n getItem<T>(key: string): string | T | Promise<string | T | null> | null {\n try {\n if (localForage) {\n return localForage.getItem(key) ?? Cookies.get(key) ?? null\n }\n\n return Cookies.get(key) ?? null\n } catch {\n return null\n }\n },\n\n // Remove an item from browser storage\n removeItem(key: string): void | Promise<void> {\n try {\n if (localForage) {\n localForage.removeItem(key).then()\n }\n\n Cookies.remove(key)\n } catch {\n // Storage not supported, nothing to remove\n }\n },\n\n // Set a value in browser storage (if supported)\n setItem(key: string, value: any): void | Promise<void> {\n try {\n if (localForage) {\n return localForage.setItem(key, value)\n }\n\n Cookies.set(key, value, { expires: 365 })\n } catch {\n // Storage not supported, nothing to do\n }\n }\n}"]}
@@ -14,3 +14,4 @@ export type Topic = {
14
14
  deviceInstance: string;
15
15
  dbusPath: string;
16
16
  };
17
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"/","sources":["src/utils/util.js"],"names":[],"mappings":"AAuBO,wCAFM,KAAK,CAajB;AAEM,kDAON;AAEM,+CAEN;AAEM,sEAGN;AAEM,8DAKN;AAEM,uEAQN;AAEM,8CAEN;AAEM,2SAiCN;AAEM,0DAQN;;UA/GS,GAAG,GAAG,GAAG,GAAG,GAAG;cACf,MAAM;iBACN,MAAM;oBACN,MAAM;cACN,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/utils/util.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"/","sources":["src/utils/util.js"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,KAAK;IAC9B,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACrC,IAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACrE,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACrB,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,OAAO;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,IAAI;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,QAAQ,EAAE,UAAU;IAC/C,IAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,WAAW;IAChD,OAAO,WAAW,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;QACnC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACd,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,IAAI,EAAE,GAAG;IAC1C,IAAI,CAAC,GAAG;QAAE,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAA;IACpC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACrC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,mBAAmB,CAAC,EACzD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,MAAM;IAC5B,OAAO,EAAE,CAAC,MAAM,OAAT,EAAE,EAAW,MAAM,EAAC;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,KAAK;IACxC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,kBAAkB,CAAC,GAAG;YACzB,OAAO,KAAK,CAAA;QACd,KAAK,kBAAkB,CAAC,SAAS;YAC/B,OAAO,WAAW,CAAA;QACpB,KAAK,kBAAkB,CAAC,eAAe;YACrC,OAAO,wBAAwB,CAAA;QACjC,KAAK,kBAAkB,CAAC,aAAa;YACnC,OAAO,eAAe,CAAA;QACxB,KAAK,kBAAkB,CAAC,oBAAoB;YAC1C,OAAO,qBAAqB,CAAA;QAC9B,KAAK,kBAAkB,CAAC,cAAc;YACpC,OAAO,gBAAgB,CAAA;QACzB,KAAK,kBAAkB,CAAC,YAAY;YAClC,OAAO,cAAc,CAAA;QACvB,KAAK,kBAAkB,CAAC,qBAAqB;YAC3C,OAAO,uBAAuB,CAAA;QAChC,KAAK,kBAAkB,CAAC,QAAQ;YAC9B,OAAO,UAAU,CAAA;QACnB,KAAK,kBAAkB,CAAC,SAAS;YAC/B,OAAO,WAAW,CAAA;QACpB,KAAK,kBAAkB,CAAC,SAAS;YAC/B,OAAO,WAAW,CAAA;QACpB,KAAK,kBAAkB,CAAC,iBAAiB;YACvC,OAAO,mBAAmB,CAAA;QAC5B,KAAK,kBAAkB,CAAC,WAAW;YACjC,OAAO,aAAa,CAAA;QACtB,KAAK,kBAAkB,CAAC,OAAO;YAC7B,OAAO,SAAS,CAAA;QAClB;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,OAAO;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAM,KAAK,GAAG,OAAO,IAAI,EAAE,CAAA;IAC3B,IAAM,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;IAClC,IAAM,GAAG,GAAG,OAAO,GAAG,GAAG,CAAA;IACzB,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAClG,CAAC,CAAA","sourcesContent":["import Logger from \"./logger\"\n\nimport { VEBUS_SYSTEM_STATE } from \"./constants\"\n\n/**\n * @typedef {object} Topic\n *\n * @prop {\"N\" | \"R\" | \"W\"} type\n * @prop {string} portalId\n * @prop {string} serviceType\n * @prop {string} deviceInstance\n * @prop {string} dbusPath\n */\n\n/**\n * Splits a topic string into an object with properties for each \"part\"\n *\n * Topic structure is:\n * N/<portal ID>/<service_type>/<device instance>/<D-Bus path>\n *\n * See details at https://github.com/victronenergy/dbus-mqtt\n * @returns {Topic}\n */\nexport const parseTopic = (topic) => {\n const parts = topic.split(\"/\")\n const dbusPathParts = parts.splice(4)\n const isAcIn = dbusPathParts[0] === \"Ac\" && dbusPathParts[1] === \"In\"\n return {\n type: parts[0],\n portalId: parts[1],\n serviceType: parts[2],\n deviceInstance: parts[3] === \"+\" ? \"+\" : parseInt(parts[3]),\n dbusPath: \"/\" + (isAcIn ? dbusPathParts.splice(3).join(\"/\") : dbusPathParts.join(\"/\")),\n }\n}\n\nexport const getMessageJson = (message) => {\n try {\n return JSON.parse(message.toString())\n } catch (e) {\n Logger.error(\"Could not parse message: \", message.toString())\n return { value: null }\n }\n}\n\nexport const objectValues = (data) => {\n return Object.keys(data).map((key) => data[key])\n}\n\nexport const isPathOfType = (dbusPath, enumObject) => {\n const paths = objectValues(enumObject)\n return paths.includes(dbusPath)\n}\n\nexport const arrayToSubscriptionMap = (toSubscribe) => {\n return toSubscribe.reduce((acc, value) => {\n acc[value] = 0\n return acc\n }, {})\n}\n\nexport const getParameterByName = (name, url) => {\n if (!url) url = window.location.href\n name = name.replace(/[[\\]]/g, \"\\\\$&\")\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url)\n if (!results) return null\n if (!results[2]) return \"\"\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"))\n}\n\nexport const flatten = (arrays) => {\n return [].concat(...arrays)\n}\n\nexport const systemStateFormatter = (value) => {\n switch (value) {\n case VEBUS_SYSTEM_STATE.OFF:\n return \"Off\"\n case VEBUS_SYSTEM_STATE.LOW_POWER:\n return \"Low power\"\n case VEBUS_SYSTEM_STATE.FAULT_CONDITION:\n return \"VE.Bus Fault condition\"\n case VEBUS_SYSTEM_STATE.BULK_CHARGING:\n return \"Bulk charging\"\n case VEBUS_SYSTEM_STATE.ABSORPTION_CHARGINNG:\n return \"Absorption charging\"\n case VEBUS_SYSTEM_STATE.FLOAT_CHARGING:\n return \"Float charging\"\n case VEBUS_SYSTEM_STATE.STORAGE_MODE:\n return \"Storage mode\"\n case VEBUS_SYSTEM_STATE.EQUALISATION_CHARGING:\n return \"Equalisation charging\"\n case VEBUS_SYSTEM_STATE.PASSTHRU:\n return \"Passthru\"\n case VEBUS_SYSTEM_STATE.INVERTING:\n return \"Inverting\"\n case VEBUS_SYSTEM_STATE.ASSISTING:\n return \"Assisting\"\n case VEBUS_SYSTEM_STATE.POWER_SUPPLY_MODE:\n return \"Power supply mode\"\n case VEBUS_SYSTEM_STATE.DISCHARGING:\n return \"Discharging\"\n case VEBUS_SYSTEM_STATE.SUSTAIN:\n return \"Sustain\"\n default:\n return \"--\"\n }\n}\n\nexport const versionToHumanReadable = (version) => {\n if (typeof version !== \"number\" || isNaN(version)) {\n return version\n }\n const major = version >> 16\n const minor = (version >> 8) & 255\n const rev = version & 255\n return \"v\" + major.toString(16) + \".\" + minor.toString(16) + (rev ? \"~\" + rev.toString(16) : \"\") \n}"]}