@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
@@ -1 +1 @@
1
- {"version":3,"file":"Batteries.provider.js","sourceRoot":"/","sources":["src/Modules/Battery/Batteries.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,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,IAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAC1C,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,gBAAgB,EAAE,YAAK,QAAQ,8BAA2B;KAC3D,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,gBAAgB,CAAC,CAAA;IAEjE,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,yCAAyC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAM,WAAS,GAAG,cAAc,CAAC,SAAS,CAAA;YAC1C,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAiB,CAAA;YACrE,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,WAAS,IAAI,WAAS,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,WAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAtB,CAAsB,CAAC,EAAE,CAAC;gBACvH,MAAM,CAAC,GAAG,CAAC,mCAA4B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAE,CAAC,CAAC;gBAC1E,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\"\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { BatteryId, useBatteriesStore } from \"./Batteries.store\"\n\nexport const useBatteries = () => {\n const batteriesStore = useBatteriesStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId) => ({\n batteryInstances: `N/${portalId}/battery/+/DeviceInstance`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const messages = mqtt.messagesByWildcard(topics.batteryInstances)\n\n useEffect(() => {\n if (!messages || Object.entries(messages).length === 0) {\n // Logger.log(\"Waiting for batteries...\")\n } else {\n const batteries = batteriesStore.batteries\n const deviceInstances = Object.values(messages).sort() as BatteryId[]\n // TODO: check unordered structural identify of old and new state\n // TODO: to avoid unnecessary re-rendering: O(n^2) baby\n if (!batteries || batteries.length != deviceInstances.length || !deviceInstances.every((id) => batteries.includes(id))) {\n Logger.log(`New batteries instances: ${JSON.stringify(deviceInstances)}`);\n batteriesStore.setBatteries(deviceInstances)\n }\n }\n }, [messages])\n\n return batteriesStore\n}\n"]}
1
+ {"version":3,"file":"Batteries.provider.js","sourceRoot":"/","sources":["src/Modules/Battery/Batteries.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,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAC1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QACzC,gBAAgB,EAAE,KAAK,QAAQ,2BAA2B;KAC3D,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,yCAAyC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;YAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAiB,CAAA;YACrE,iEAAiE;YACjE,uDAAuD;YACvD,IACE,CAAC,SAAS;gBACV,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM;gBAC3C,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EACtD,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBACzE,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;IAE9B,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\"\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { BatteryId, useBatteriesStore } from \"./Batteries.store\"\n\nexport const useBatteries = () => {\n const batteriesStore = useBatteriesStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId) => ({\n batteryInstances: `N/${portalId}/battery/+/DeviceInstance`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const messages = mqtt.messagesByWildcard(topics.batteryInstances)\n\n useEffect(() => {\n if (!messages || Object.entries(messages).length === 0) {\n // Logger.log(\"Waiting for batteries...\")\n } else {\n const batteries = batteriesStore.batteries\n const deviceInstances = Object.values(messages).sort() as BatteryId[]\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 !batteries ||\n batteries.length !== deviceInstances.length ||\n !deviceInstances.every((id) => batteries.includes(id))\n ) {\n Logger.log(`New batteries instances: ${JSON.stringify(deviceInstances)}`)\n batteriesStore.setBatteries(deviceInstances)\n }\n }\n }, [messages, batteriesStore])\n\n return batteriesStore\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Batteries.store.d.ts","sourceRoot":"/","sources":["src/Modules/Battery/Batteries.store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEjD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,cAAc;IACzB,SAAS,EAAE,SAAS,EAAE,CAAK;;IAM3B,YAAY,GAAI,WAAW,SAAS,EAAE,iBAA+B;CACtE;AAYD,wBAAgB,iBAAiB,mBAEhC"}
1
+ {"version":3,"file":"Batteries.store.d.ts","sourceRoot":"/","sources":["src/Modules/Battery/Batteries.store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEjD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,cAAc;IACzB,SAAS,EAAE,SAAS,EAAE,CAAK;;IAM3B,YAAY,GAAI,WAAW,SAAS,EAAE,iBAAiC;CACxE;AAYD,wBAAgB,iBAAiB,mBAEhC"}
@@ -1,9 +1,8 @@
1
1
  import { action, makeAutoObservable } from "mobx";
2
2
  import { useMemo } from "react";
3
- var store;
4
- var BatteriesStore = /** @class */ (function () {
5
- function BatteriesStore() {
6
- var _this = this;
3
+ let store;
4
+ export class BatteriesStore {
5
+ constructor() {
7
6
  Object.defineProperty(this, "batteries", {
8
7
  enumerable: true,
9
8
  configurable: true,
@@ -14,15 +13,13 @@ var BatteriesStore = /** @class */ (function () {
14
13
  enumerable: true,
15
14
  configurable: true,
16
15
  writable: true,
17
- value: function (batteries) { return _this.batteries = batteries; }
16
+ value: (batteries) => (this.batteries = batteries)
18
17
  });
19
18
  makeAutoObservable(this, { setBatteries: action });
20
19
  }
21
- return BatteriesStore;
22
- }());
23
- export { BatteriesStore };
20
+ }
24
21
  function initializeStore() {
25
- var _store = store !== null && store !== void 0 ? store : new BatteriesStore();
22
+ const _store = store !== null && store !== void 0 ? store : new BatteriesStore();
26
23
  // For SSG and SSR always create a new store
27
24
  if (typeof window === "undefined")
28
25
  return _store;
@@ -32,6 +29,6 @@ function initializeStore() {
32
29
  return _store;
33
30
  }
34
31
  export function useBatteriesStore() {
35
- return useMemo(function () { return initializeStore(); }, []);
32
+ return useMemo(() => initializeStore(), []);
36
33
  }
37
34
  //# sourceMappingURL=Batteries.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Batteries.store.js","sourceRoot":"/","sources":["src/Modules/Battery/Batteries.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;AAQzB;IAGE;QAAA,iBAEC;QAJD;;;;mBAAyB,EAAE;WAAA;QAM3B;;;;mBAAe,UAAC,SAAsB,IAAK,OAAA,KAAI,CAAC,SAAS,GAAG,SAAS,EAA1B,CAA0B;WAAA;QAHnE,kBAAkB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IACpD,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,iBAAiB;IAC/B,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: BatteriesStore\n\nexport type BatteryId = number | null | undefined\n\nexport interface BatteriesState {\n batteries: BatteryId[]\n}\n\nexport class BatteriesStore {\n batteries: BatteryId[] = []\n\n constructor() {\n makeAutoObservable(this, { setBatteries: action })\n }\n\n setBatteries = (batteries: BatteryId[]) => this.batteries = batteries\n}\n\nfunction initializeStore() {\n const _store = store ?? new BatteriesStore()\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 useBatteriesStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
1
+ {"version":3,"file":"Batteries.store.js","sourceRoot":"/","sources":["src/Modules/Battery/Batteries.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;AAQzB,MAAM,OAAO,cAAc;IAGzB;QAFA;;;;mBAAyB,EAAE;WAAA;QAM3B;;;;mBAAe,CAAC,SAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;WAAA;QAHrE,kBAAkB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IACpD,CAAC;CAGF;AAED,SAAS,eAAe;IACtB,MAAM,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,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC","sourcesContent":["import { action, makeAutoObservable } from \"mobx\"\nimport { useMemo } from \"react\"\n\nlet store: BatteriesStore\n\nexport type BatteryId = number | null | undefined\n\nexport interface BatteriesState {\n batteries: BatteryId[]\n}\n\nexport class BatteriesStore {\n batteries: BatteryId[] = []\n\n constructor() {\n makeAutoObservable(this, { setBatteries: action })\n }\n\n setBatteries = (batteries: BatteryId[]) => (this.batteries = batteries)\n}\n\nfunction initializeStore() {\n const _store = store ?? new BatteriesStore()\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 useBatteriesStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { useMqtt, useTopicsState } from "../Mqtt";
2
2
  import { useMemo } from "react";
3
3
  export function useSystemBatteries() {
4
- var getTopics = function (portalId) { return ({
5
- batteries: "N/".concat(portalId, "/system/0/Batteries"),
6
- }); };
7
- var mqtt = useMqtt();
8
- var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
4
+ const getTopics = (portalId) => ({
5
+ batteries: `N/${portalId}/system/0/Batteries`,
6
+ });
7
+ const mqtt = useMqtt();
8
+ const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId]);
9
9
  return useTopicsState(topics);
10
10
  }
11
11
  //# sourceMappingURL=SystemBatteries.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemBatteries.provider.js","sourceRoot":"/","sources":["src/Modules/Battery/SystemBatteries.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAyB/B,MAAM,UAAU,kBAAkB;IAChC,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,SAAS,EAAE,YAAK,QAAQ,wBAAqB;KAC9C,CAAC,EAFwC,CAExC,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,CAAuB,MAAM,CAAC,CAAA;AACrD,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface BatteryState {\n active_battery_service: boolean\n current: number\n voltage: number\n soc: number\n power: number\n temperature: number\n timetogo: number\n instance: number\n state: number\n bmsstate: number\n id: string\n name: string\n}\n\nexport interface SystemBatteriesState {\n batteries: Array<BatteryState>\n}\n\nexport interface BatteryTopics extends Topics {\n batteries?: string\n}\n\nexport function useSystemBatteries(): SystemBatteriesState {\n const getTopics = (portalId: PortalId) => ({\n batteries: `N/${portalId}/system/0/Batteries`,\n })\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n return useTopicsState<SystemBatteriesState>(topics)\n}"]}
1
+ {"version":3,"file":"SystemBatteries.provider.js","sourceRoot":"/","sources":["src/Modules/Battery/SystemBatteries.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAyB/B,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QACzC,SAAS,EAAE,KAAK,QAAQ,qBAAqB;KAC9C,CAAC,CAAA;IACF,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;IAEvE,OAAO,cAAc,CAAuB,MAAM,CAAC,CAAA;AACrD,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface BatteryState {\n active_battery_service: boolean\n current: number\n voltage: number\n soc: number\n power: number\n temperature: number\n timetogo: number\n instance: number\n state: number\n bmsstate: number\n id: string\n name: string\n}\n\nexport interface SystemBatteriesState {\n batteries: Array<BatteryState>\n}\n\nexport interface BatteryTopics extends Topics {\n batteries?: string\n}\n\nexport function useSystemBatteries(): SystemBatteriesState {\n const getTopics = (portalId: PortalId) => ({\n batteries: `N/${portalId}/system/0/Batteries`,\n })\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n return useTopicsState<SystemBatteriesState>(topics)\n}\n"]}
@@ -1,39 +1,29 @@
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
- export var useCharger = function (chargerId) {
15
- var getTopics = function (portalId, chargerInstanceId) { return ({
16
- customName: "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/CustomName"),
17
- productName: "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/ProductName"),
18
- currentLimit: "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Ac/In/CurrentLimit"),
19
- state: "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/State"),
20
- mode: "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Mode"),
21
- nrOfOutputs: "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/NrOfOutputs"),
3
+ export const useCharger = (chargerId) => {
4
+ const getTopics = (portalId, chargerInstanceId) => ({
5
+ customName: `N/${portalId}/charger/${chargerInstanceId}/CustomName`,
6
+ productName: `N/${portalId}/charger/${chargerInstanceId}/ProductName`,
7
+ currentLimit: `N/${portalId}/charger/${chargerInstanceId}/Ac/In/CurrentLimit`,
8
+ state: `N/${portalId}/charger/${chargerInstanceId}/State`,
9
+ mode: `N/${portalId}/charger/${chargerInstanceId}/Mode`,
10
+ nrOfOutputs: `N/${portalId}/charger/${chargerInstanceId}/NrOfOutputs`,
22
11
  current: [
23
- "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Dc/0/Current"),
24
- "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Dc/1/Current"),
25
- "N/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Dc/2/Current"),
12
+ `N/${portalId}/charger/${chargerInstanceId}/Dc/0/Current`,
13
+ `N/${portalId}/charger/${chargerInstanceId}/Dc/1/Current`,
14
+ `N/${portalId}/charger/${chargerInstanceId}/Dc/2/Current`,
26
15
  ],
27
- }); };
28
- var mqtt = useMqtt();
29
- var topics = useMemo(function () { return getTopics(mqtt.portalId, chargerId); }, [mqtt.portalId, chargerId]);
30
- var getWriteTopics = function (portalId, chargerInstanceId) { return ({
31
- mode: "W/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Mode"),
32
- currentLimit: "W/".concat(portalId, "/charger/").concat(chargerInstanceId, "/Ac/In/CurrentLimit"),
33
- }); };
34
- var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId, chargerId); }, [mqtt.portalId, chargerId]);
35
- var updateMode = function (mode) { return mqtt.publish(writeTopics.mode, mode); };
36
- var updateCurrentLimit = function (currentLimit) { return mqtt.publish(writeTopics.currentLimit, currentLimit); };
37
- return __assign(__assign({}, useTopicsState(topics)), { updateMode: updateMode, updateCurrentLimit: updateCurrentLimit });
16
+ });
17
+ const mqtt = useMqtt();
18
+ const topics = useMemo(() => getTopics(mqtt.portalId, chargerId), [mqtt.portalId, chargerId]);
19
+ const getWriteTopics = (portalId, chargerInstanceId) => ({
20
+ mode: `W/${portalId}/charger/${chargerInstanceId}/Mode`,
21
+ currentLimit: `W/${portalId}/charger/${chargerInstanceId}/Ac/In/CurrentLimit`,
22
+ });
23
+ const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, chargerId), [mqtt.portalId, chargerId]);
24
+ const updateMode = (mode) => mqtt.publish(writeTopics.mode, mode);
25
+ const updateCurrentLimit = (currentLimit) => mqtt.publish(writeTopics.currentLimit, currentLimit);
26
+ return Object.assign(Object.assign({}, useTopicsState(topics)), { updateMode,
27
+ updateCurrentLimit });
38
28
  };
39
29
  //# sourceMappingURL=Charger.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Charger.provider.js","sourceRoot":"/","sources":["src/Modules/Chargers/Charger.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AA2B/B,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,SAA4B;IACrD,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,iBAAoC,IAAK,OAAA,CAAC;QAC/E,UAAU,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,gBAAa;QACnE,WAAW,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,iBAAc;QACrE,YAAY,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,wBAAqB;QAC7E,KAAK,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,WAAQ;QACzD,IAAI,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,UAAO;QACvD,WAAW,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,iBAAc;QACrE,OAAO,EAAE;YACP,YAAK,QAAQ,sBAAY,iBAAiB,kBAAe;YACzD,YAAK,QAAQ,sBAAY,iBAAiB,kBAAe;YACzD,YAAK,QAAQ,sBAAY,iBAAiB,kBAAe;SAC1D;KACF,CAAC,EAZ8E,CAY9E,CAAA;IAEF,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAnC,CAAmC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAE7F,IAAM,cAAc,GAAG,UAAC,QAAkB,EAAE,iBAAoC,IAAK,OAAA,CAAC;QACpF,IAAI,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,UAAO;QACvD,YAAY,EAAE,YAAK,QAAQ,sBAAY,iBAAiB,wBAAqB;KAC9E,CAAC,EAHmF,CAGnF,CAAA;IAEF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAxC,CAAwC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEvG,IAAM,UAAU,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAApC,CAAoC,CAAA;IACzE,IAAM,kBAAkB,GAAG,UAAC,YAA6B,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,EAApD,CAAoD,CAAA;IAElH,OAAO,sBACF,cAAc,CAAe,MAAM,CAAC,KACvC,UAAU,YAAA,EACV,kBAAkB,oBAAA,GACA,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { ChargerInstanceId } from \"./Chargers.store\"\nimport { useMemo } from \"react\"\n\nexport interface ChargerTopics extends Topics {\n customName?: string\n productName?: string\n currentLimit?: string\n state?: string\n mode?: string\n nrOfOutputs?: string\n current?: string[]\n}\n\nexport interface ChargerState {\n customName: string\n productName: string\n currentLimit: number\n state: number\n mode: number\n nrOfOutputs: number\n current: [number?, number?, number?]\n}\n\nexport interface ChargerProvider extends ChargerState {\n updateMode: (mode: number) => void\n updateCurrentLimit: (limit: number) => void\n}\n\nexport const useCharger = (chargerId: ChargerInstanceId) => {\n const getTopics = (portalId: PortalId, chargerInstanceId: ChargerInstanceId) => ({\n customName: `N/${portalId}/charger/${chargerInstanceId}/CustomName`,\n productName: `N/${portalId}/charger/${chargerInstanceId}/ProductName`,\n currentLimit: `N/${portalId}/charger/${chargerInstanceId}/Ac/In/CurrentLimit`,\n state: `N/${portalId}/charger/${chargerInstanceId}/State`,\n mode: `N/${portalId}/charger/${chargerInstanceId}/Mode`,\n nrOfOutputs: `N/${portalId}/charger/${chargerInstanceId}/NrOfOutputs`,\n current: [\n `N/${portalId}/charger/${chargerInstanceId}/Dc/0/Current`,\n `N/${portalId}/charger/${chargerInstanceId}/Dc/1/Current`,\n `N/${portalId}/charger/${chargerInstanceId}/Dc/2/Current`,\n ],\n })\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId, chargerId), [mqtt.portalId, chargerId])\n\n const getWriteTopics = (portalId: PortalId, chargerInstanceId: ChargerInstanceId) => ({\n mode: `W/${portalId}/charger/${chargerInstanceId}/Mode`,\n currentLimit: `W/${portalId}/charger/${chargerInstanceId}/Ac/In/CurrentLimit`,\n })\n\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, chargerId), [mqtt.portalId, chargerId])\n\n const updateMode = (mode: number) => mqtt.publish(writeTopics.mode, mode)\n const updateCurrentLimit = (currentLimit: number | string) => mqtt.publish(writeTopics.currentLimit, currentLimit)\n\n return {\n ...useTopicsState<ChargerState>(topics),\n updateMode,\n updateCurrentLimit,\n } as ChargerProvider\n}\n"]}
1
+ {"version":3,"file":"Charger.provider.js","sourceRoot":"/","sources":["src/Modules/Chargers/Charger.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AA2B/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAA4B,EAAE,EAAE;IACzD,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,iBAAoC,EAAE,EAAE,CAAC,CAAC;QAC/E,UAAU,EAAE,KAAK,QAAQ,YAAY,iBAAiB,aAAa;QACnE,WAAW,EAAE,KAAK,QAAQ,YAAY,iBAAiB,cAAc;QACrE,YAAY,EAAE,KAAK,QAAQ,YAAY,iBAAiB,qBAAqB;QAC7E,KAAK,EAAE,KAAK,QAAQ,YAAY,iBAAiB,QAAQ;QACzD,IAAI,EAAE,KAAK,QAAQ,YAAY,iBAAiB,OAAO;QACvD,WAAW,EAAE,KAAK,QAAQ,YAAY,iBAAiB,cAAc;QACrE,OAAO,EAAE;YACP,KAAK,QAAQ,YAAY,iBAAiB,eAAe;YACzD,KAAK,QAAQ,YAAY,iBAAiB,eAAe;YACzD,KAAK,QAAQ,YAAY,iBAAiB,eAAe;SAC1D;KACF,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAE7F,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,iBAAoC,EAAE,EAAE,CAAC,CAAC;QACpF,IAAI,EAAE,KAAK,QAAQ,YAAY,iBAAiB,OAAO;QACvD,YAAY,EAAE,KAAK,QAAQ,YAAY,iBAAiB,qBAAqB;KAC9E,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEvG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzE,MAAM,kBAAkB,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAEzG,OAAO,gCACF,cAAc,CAAe,MAAM,CAAC,KACvC,UAAU;QACV,kBAAkB,GACA,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { ChargerInstanceId } from \"./Chargers.store\"\nimport { useMemo } from \"react\"\n\nexport interface ChargerTopics extends Topics {\n customName?: string\n productName?: string\n currentLimit?: string\n state?: string\n mode?: string\n nrOfOutputs?: string\n current?: string[]\n}\n\nexport interface ChargerState {\n customName: string\n productName: string\n currentLimit: number\n state: number\n mode: number\n nrOfOutputs: number\n current: [number?, number?, number?]\n}\n\nexport interface ChargerProvider extends ChargerState {\n updateMode: (mode: number) => void\n updateCurrentLimit: (limit: number) => void\n}\n\nexport const useCharger = (chargerId: ChargerInstanceId) => {\n const getTopics = (portalId: PortalId, chargerInstanceId: ChargerInstanceId) => ({\n customName: `N/${portalId}/charger/${chargerInstanceId}/CustomName`,\n productName: `N/${portalId}/charger/${chargerInstanceId}/ProductName`,\n currentLimit: `N/${portalId}/charger/${chargerInstanceId}/Ac/In/CurrentLimit`,\n state: `N/${portalId}/charger/${chargerInstanceId}/State`,\n mode: `N/${portalId}/charger/${chargerInstanceId}/Mode`,\n nrOfOutputs: `N/${portalId}/charger/${chargerInstanceId}/NrOfOutputs`,\n current: [\n `N/${portalId}/charger/${chargerInstanceId}/Dc/0/Current`,\n `N/${portalId}/charger/${chargerInstanceId}/Dc/1/Current`,\n `N/${portalId}/charger/${chargerInstanceId}/Dc/2/Current`,\n ],\n })\n\n const mqtt = useMqtt()\n const topics = useMemo(() => getTopics(mqtt.portalId, chargerId), [mqtt.portalId, chargerId])\n\n const getWriteTopics = (portalId: PortalId, chargerInstanceId: ChargerInstanceId) => ({\n mode: `W/${portalId}/charger/${chargerInstanceId}/Mode`,\n currentLimit: `W/${portalId}/charger/${chargerInstanceId}/Ac/In/CurrentLimit`,\n })\n\n const writeTopics = useMemo(() => getWriteTopics(mqtt.portalId, chargerId), [mqtt.portalId, chargerId])\n\n const updateMode = (mode: number) => mqtt.publish(writeTopics.mode, mode)\n const updateCurrentLimit = (currentLimit: number) => mqtt.publish(writeTopics.currentLimit, currentLimit)\n\n return {\n ...useTopicsState<ChargerState>(topics),\n updateMode,\n updateCurrentLimit,\n } as ChargerProvider\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Chargers.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.provider.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,gDA8BvB,CAAA"}
1
+ {"version":3,"file":"Chargers.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.provider.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,gDAgCvB,CAAA"}
@@ -2,30 +2,31 @@ import Logger from "../../utils/logger";
2
2
  import { useEffect, useMemo } from "react";
3
3
  import { useMqtt } from "../Mqtt";
4
4
  import { useChargersStore } from "./Chargers.store";
5
- export var useChargers = function () {
6
- var chargersStore = useChargersStore();
7
- var mqtt = useMqtt();
8
- var getTopics = function (portalId) { return ({
9
- chargerInstances: "N/".concat(portalId, "/charger/+/DeviceInstance"),
10
- }); };
11
- var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
12
- var chargers = chargersStore.chargers;
13
- var messages = mqtt.messagesByWildcard(topics.chargerInstances);
14
- useEffect(function () {
5
+ export const useChargers = () => {
6
+ const chargersStore = useChargersStore();
7
+ const mqtt = useMqtt();
8
+ const getTopics = (portalId) => ({
9
+ chargerInstances: `N/${portalId}/charger/+/DeviceInstance`,
10
+ });
11
+ const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId]);
12
+ const messages = mqtt.messagesByWildcard(topics.chargerInstances);
13
+ useEffect(() => {
15
14
  if (!messages || Object.entries(messages).length === 0) {
16
15
  // Logger.log("Waiting for chargers...")
17
16
  }
18
17
  else {
19
- var chargers_1 = chargersStore.chargers;
20
- var deviceInstances = Object.values(messages);
18
+ const chargers = chargersStore.chargers;
19
+ const deviceInstances = Object.values(messages);
21
20
  // TODO: check unordered structural identify of old and new state
22
21
  // TODO: to avoid unnecessary re-rendering: O(n^2) baby
23
- if (!chargers_1 || chargers_1.length != deviceInstances.length || !deviceInstances.every(function (id) { return chargers_1.includes(id); })) {
24
- Logger.log("New chargers instances: ".concat(JSON.stringify(deviceInstances)));
22
+ if (!chargers ||
23
+ chargers.length !== deviceInstances.length ||
24
+ !deviceInstances.every((id) => chargers.includes(id))) {
25
+ Logger.log(`New chargers instances: ${JSON.stringify(deviceInstances)}`);
25
26
  chargersStore.setChargers(deviceInstances);
26
27
  }
27
28
  }
28
- }, [messages]);
29
+ }, [messages, chargersStore]);
29
30
  return chargersStore;
30
31
  };
31
32
  //# sourceMappingURL=Chargers.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chargers.provider.js","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.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,EAAqB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEtE,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,IAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,gBAAgB,EAAE,YAAK,QAAQ,8BAA2B;KAC3D,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,aAAa,CAAC,QAAQ,CAAA;IAEvC,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEjE,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,wCAAwC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAM,UAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;YACvC,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAwB,CAAA;YACtE,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,UAAQ,IAAI,UAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,UAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAArB,CAAqB,CAAC,EAAE,CAAC;gBACpH,MAAM,CAAC,GAAG,CAAC,kCAA2B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAE,CAAC,CAAC;gBACzE,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\";\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { ChargerInstanceId, useChargersStore } from \"./Chargers.store\"\n\nexport const useChargers = () => {\n const chargersStore = useChargersStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId) => ({\n chargerInstances: `N/${portalId}/charger/+/DeviceInstance`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const chargers = chargersStore.chargers\n\n const messages = mqtt.messagesByWildcard(topics.chargerInstances)\n\n useEffect(() => {\n if (!messages || Object.entries(messages).length === 0) {\n // Logger.log(\"Waiting for chargers...\")\n } else {\n const chargers = chargersStore.chargers\n const deviceInstances = Object.values(messages) as ChargerInstanceId[]\n // TODO: check unordered structural identify of old and new state\n // TODO: to avoid unnecessary re-rendering: O(n^2) baby\n if (!chargers || chargers.length != deviceInstances.length || !deviceInstances.every((id) => chargers.includes(id))) {\n Logger.log(`New chargers instances: ${JSON.stringify(deviceInstances)}`);\n chargersStore.setChargers(deviceInstances)\n }\n }\n }, [messages])\n\n return chargersStore\n}\n"]}
1
+ {"version":3,"file":"Chargers.provider.js","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.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,EAAqB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QACzC,gBAAgB,EAAE,KAAK,QAAQ,2BAA2B;KAC3D,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,wCAAwC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;YACvC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAwB,CAAA;YACtE,iEAAiE;YACjE,uDAAuD;YACvD,IACE,CAAC,QAAQ;gBACT,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM;gBAC1C,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBACxE,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;IAE7B,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA","sourcesContent":["import Logger from \"../../utils/logger\"\nimport { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt } from \"../Mqtt\"\nimport { ChargerInstanceId, useChargersStore } from \"./Chargers.store\"\n\nexport const useChargers = () => {\n const chargersStore = useChargersStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId) => ({\n chargerInstances: `N/${portalId}/charger/+/DeviceInstance`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const messages = mqtt.messagesByWildcard(topics.chargerInstances)\n\n useEffect(() => {\n if (!messages || Object.entries(messages).length === 0) {\n // Logger.log(\"Waiting for chargers...\")\n } else {\n const chargers = chargersStore.chargers\n const deviceInstances = Object.values(messages) as ChargerInstanceId[]\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 !chargers ||\n chargers.length !== deviceInstances.length ||\n !deviceInstances.every((id) => chargers.includes(id))\n ) {\n Logger.log(`New chargers instances: ${JSON.stringify(deviceInstances)}`)\n chargersStore.setChargers(deviceInstances)\n }\n }\n }, [messages, chargersStore])\n\n return chargersStore\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Chargers.store.d.ts","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEzD,qBAAa,aAAa;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAK;;IAMlC,WAAW,GAAI,UAAU,iBAAiB,EAAE,yBAA6B;CAC1E;AAYD,wBAAgB,gBAAgB,kBAE/B"}
1
+ {"version":3,"file":"Chargers.store.d.ts","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEzD,qBAAa,aAAa;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAK;;IAMlC,WAAW,GAAI,UAAU,iBAAiB,EAAE,yBAA+B;CAC5E;AAYD,wBAAgB,gBAAgB,kBAE/B"}
@@ -1,9 +1,8 @@
1
1
  import { action, makeAutoObservable } from "mobx";
2
2
  import { useMemo } from "react";
3
- var store;
4
- var ChargersStore = /** @class */ (function () {
5
- function ChargersStore() {
6
- var _this = this;
3
+ let store;
4
+ export class ChargersStore {
5
+ constructor() {
7
6
  Object.defineProperty(this, "chargers", {
8
7
  enumerable: true,
9
8
  configurable: true,
@@ -14,15 +13,13 @@ var ChargersStore = /** @class */ (function () {
14
13
  enumerable: true,
15
14
  configurable: true,
16
15
  writable: true,
17
- value: function (chargers) { return _this.chargers = chargers; }
16
+ value: (chargers) => (this.chargers = chargers)
18
17
  });
19
18
  makeAutoObservable(this, { setChargers: action });
20
19
  }
21
- return ChargersStore;
22
- }());
23
- export { ChargersStore };
20
+ }
24
21
  function initializeStore() {
25
- var _store = store !== null && store !== void 0 ? store : new ChargersStore();
22
+ const _store = store !== null && store !== void 0 ? store : new ChargersStore();
26
23
  // For SSG and SSR always create a new store
27
24
  if (typeof window === "undefined")
28
25
  return _store;
@@ -32,6 +29,6 @@ function initializeStore() {
32
29
  return _store;
33
30
  }
34
31
  export function useChargersStore() {
35
- return useMemo(function () { return initializeStore(); }, []);
32
+ return useMemo(() => initializeStore(), []);
36
33
  }
37
34
  //# sourceMappingURL=Chargers.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chargers.store.js","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.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,KAAoB,CAAA;AAIxB;IAGE;QAAA,iBAEC;QAJD;;;;mBAAgC,EAAE;WAAA;QAMlC;;;;mBAAc,UAAC,QAA6B,IAAK,OAAA,KAAI,CAAC,QAAQ,GAAG,QAAQ,EAAxB,CAAwB;WAAA;QAHvE,kBAAkB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IACnD,CAAC;IAGH,oBAAC;AAAD,CAAC,AARD,IAQC;;AAED,SAAS,eAAe;IACtB,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,aAAa,EAAE,CAAA;IAC3C,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,gBAAgB;IAC9B,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: ChargersStore\n\nexport type ChargerInstanceId = number | null | undefined\n\nexport class ChargersStore {\n chargers: ChargerInstanceId[] = []\n\n constructor() {\n makeAutoObservable(this, { setChargers: action })\n }\n\n setChargers = (chargers: ChargerInstanceId[]) => this.chargers = chargers\n}\n\nfunction initializeStore() {\n const _store = store ?? new ChargersStore()\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 useChargersStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
1
+ {"version":3,"file":"Chargers.store.js","sourceRoot":"/","sources":["src/Modules/Chargers/Chargers.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,KAAoB,CAAA;AAIxB,MAAM,OAAO,aAAa;IAGxB;QAFA;;;;mBAAgC,EAAE;WAAA;QAMlC;;;;mBAAc,CAAC,QAA6B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;WAAA;QAHzE,kBAAkB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IACnD,CAAC;CAGF;AAED,SAAS,eAAe;IACtB,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,aAAa,EAAE,CAAA;IAC3C,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,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC","sourcesContent":["import { action, makeAutoObservable } from \"mobx\"\nimport { useMemo } from \"react\"\n\nlet store: ChargersStore\n\nexport type ChargerInstanceId = number | null | undefined\n\nexport class ChargersStore {\n chargers: ChargerInstanceId[] = []\n\n constructor() {\n makeAutoObservable(this, { setChargers: action })\n }\n\n setChargers = (chargers: ChargerInstanceId[]) => (this.chargers = chargers)\n}\n\nfunction initializeStore() {\n const _store = store ?? new ChargersStore()\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 useChargersStore() {\n return useMemo(() => initializeStore(), [])\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DcLoads.provider.d.ts","sourceRoot":"/","sources":["src/Modules/DcLoads/DcLoads.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAGnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,UAAU,IAAI,YAAY,CAkBzC"}
1
+ {"version":3,"file":"DcLoads.provider.d.ts","sourceRoot":"/","sources":["src/Modules/DcLoads/DcLoads.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAGnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,UAAU,IAAI,YAAY,CAiBzC"}
@@ -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 useDcLoads() {
15
- var mqtt = useMqtt();
16
- var getTopics = function (portalId) { return ({
17
- voltage: "N/".concat(portalId, "/system/0/Dc/Battery/Voltage"),
18
- power: "N/".concat(portalId, "/system/0/Dc/System/Power"),
19
- }); };
20
- var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
21
- var topicStates = useTopicsState(topics);
22
- var calculatedCurrent = topicStates.voltage !== 0 ? topicStates.power / topicStates.voltage : 0;
23
- return __assign(__assign({}, topicStates), { current: calculatedCurrent });
4
+ const mqtt = useMqtt();
5
+ const getTopics = (portalId) => ({
6
+ voltage: `N/${portalId}/system/0/Dc/Battery/Voltage`,
7
+ power: `N/${portalId}/system/0/Dc/System/Power`,
8
+ });
9
+ const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId]);
10
+ const topicStates = useTopicsState(topics);
11
+ const calculatedCurrent = topicStates.voltage !== 0 ? topicStates.power / topicStates.voltage : 0;
12
+ return Object.assign(Object.assign({}, topicStates), { current: calculatedCurrent });
24
13
  }
25
14
  //# sourceMappingURL=DcLoads.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DcLoads.provider.js","sourceRoot":"/","sources":["src/Modules/DcLoads/DcLoads.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAc/B,MAAM,UAAU,UAAU;IACxB,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,OAAO,EAAE,YAAK,QAAQ,iCAA8B;QACpD,KAAK,EAAE,YAAK,QAAQ,8BAA2B;KAChD,CAAC,EAHwC,CAGxC,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,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAE1C,IAAM,iBAAiB,GACrB,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,6BACK,WAAW,KACd,OAAO,EAAE,iBAAiB,IAC3B;AACH,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface DcLoadsState {\n voltage: number\n power: number\n current: number\n}\n\nexport interface DcLoadsTopics extends Topics {\n power?: string\n voltage?: string\n current?: string\n}\n\nexport function useDcLoads(): DcLoadsState {\n const mqtt = useMqtt()\n const getTopics = (portalId: PortalId) => ({\n voltage: `N/${portalId}/system/0/Dc/Battery/Voltage`,\n power: `N/${portalId}/system/0/Dc/System/Power`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const topicStates = useTopicsState(topics)\n\n const calculatedCurrent =\n topicStates.voltage !== 0 ? topicStates.power / topicStates.voltage : 0;\n\n return {\n ...topicStates,\n current: calculatedCurrent,\n }\n}\n"]}
1
+ {"version":3,"file":"DcLoads.provider.js","sourceRoot":"/","sources":["src/Modules/DcLoads/DcLoads.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAc/B,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,EAAE,KAAK,QAAQ,8BAA8B;QACpD,KAAK,EAAE,KAAK,QAAQ,2BAA2B;KAChD,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,MAAM,WAAW,GAAG,cAAc,CAAe,MAAM,CAAC,CAAA;IAExD,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAEjG,uCACK,WAAW,KACd,OAAO,EAAE,iBAAiB,IAC3B;AACH,CAAC","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport interface DcLoadsState {\n voltage: number\n power: number\n current: number\n}\n\nexport interface DcLoadsTopics extends Topics {\n power?: string\n voltage?: string\n current?: string\n}\n\nexport function useDcLoads(): DcLoadsState {\n const mqtt = useMqtt()\n const getTopics = (portalId: PortalId) => ({\n voltage: `N/${portalId}/system/0/Dc/Battery/Voltage`,\n power: `N/${portalId}/system/0/Dc/System/Power`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const topicStates = useTopicsState<DcLoadsState>(topics)\n\n const calculatedCurrent = topicStates.voltage !== 0 ? topicStates.power / topicStates.voltage : 0\n\n return {\n ...topicStates,\n current: calculatedCurrent,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedGenset.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGenset.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAGnE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEzD,oBAAY,mBAAmB;IAC7B,QAAQ,WAAW;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC/D,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAA;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC/D,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACpC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACpC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IAClC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAA;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,MAAM;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,MAAM;IACrD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,MAAM;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAgE1G"}
1
+ {"version":3,"file":"ConnectedGenset.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGenset.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAA2B,MAAM,SAAS,CAAA;AAGnE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEzD,oBAAY,mBAAmB;IAC7B,QAAQ,WAAW;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC/D,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAA;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC/D,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACpC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACpC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IAClC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAA;AAEhE,MAAM,WAAW,2BAA4B,SAAQ,MAAM;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,MAAM;IACrD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,MAAM;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CA+D1G"}
@@ -1,14 +1,3 @@
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 var ConnectedGensetType;
@@ -17,54 +6,54 @@ export var ConnectedGensetType;
17
6
  ConnectedGensetType["DCGENSET"] = "dcgenset";
18
7
  })(ConnectedGensetType || (ConnectedGensetType = {}));
19
8
  export function useConnectedGenset(gensetType, gensetId) {
20
- var getTopics = function (portalId, gensetType, gensetId) {
21
- var sharedTopics = {
22
- statusCode: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/StatusCode"),
23
- productId: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/ProductId"),
24
- productName: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/ProductName"),
25
- customName: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/CustomName"),
26
- remoteStartModeEnabled: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/RemoteStartModeEnabled"),
27
- coolant: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Engine/CoolantTemperature"),
28
- winding: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Engine/WindingTemperature"),
29
- exhaust: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Engine/ExaustTemperature"),
30
- heatsink: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/HeatsinkTemperature"),
9
+ const getTopics = (portalId, gensetType, gensetId) => {
10
+ const sharedTopics = {
11
+ statusCode: `N/${portalId}/${gensetType}/${gensetId}/StatusCode`,
12
+ productId: `N/${portalId}/${gensetType}/${gensetId}/ProductId`,
13
+ productName: `N/${portalId}/${gensetType}/${gensetId}/ProductName`,
14
+ customName: `N/${portalId}/${gensetType}/${gensetId}/CustomName`,
15
+ remoteStartModeEnabled: `N/${portalId}/${gensetType}/${gensetId}/RemoteStartModeEnabled`,
16
+ coolant: `N/${portalId}/${gensetType}/${gensetId}/Engine/CoolantTemperature`,
17
+ winding: `N/${portalId}/${gensetType}/${gensetId}/Engine/WindingTemperature`,
18
+ exhaust: `N/${portalId}/${gensetType}/${gensetId}/Engine/ExaustTemperature`,
19
+ heatsink: `N/${portalId}/${gensetType}/${gensetId}/HeatsinkTemperature`,
31
20
  };
32
- var dcTopics = {
33
- voltage: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Dc/0/Voltage"),
34
- current: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Dc/0/Current"),
35
- power: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Dc/0/Power"),
21
+ const dcTopics = {
22
+ voltage: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Voltage`,
23
+ current: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Current`,
24
+ power: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Power`,
36
25
  };
37
- var acTopics = {
38
- phases: "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/NrOfPhases"),
26
+ const acTopics = {
27
+ phases: `N/${portalId}/${gensetType}/${gensetId}/NrOfPhases`,
39
28
  voltage: [
40
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L1/Voltage"),
41
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L2/Voltage"),
42
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L3/Voltage"),
29
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Voltage`,
30
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Voltage`,
31
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Voltage`,
43
32
  ],
44
33
  current: [
45
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L1/Current"),
46
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L2/Current"),
47
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L3/Current"),
34
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Current`,
35
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Current`,
36
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Current`,
48
37
  ],
49
38
  power: [
50
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L1/Power"),
51
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L2/Power"),
52
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L3/Power"),
39
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Power`,
40
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Power`,
41
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Power`,
53
42
  ],
54
43
  frequency: [
55
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L1/Frequency"),
56
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L2/Frequency"),
57
- "N/".concat(portalId, "/").concat(gensetType, "/").concat(gensetId, "/Ac/L3/Frequency"),
44
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Frequency`,
45
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Frequency`,
46
+ `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Frequency`,
58
47
  ],
59
48
  };
60
- return __assign(__assign({}, sharedTopics), (gensetType === ConnectedGensetType.ACGENSET ? acTopics : dcTopics));
49
+ return Object.assign(Object.assign({}, sharedTopics), (gensetType === ConnectedGensetType.ACGENSET ? acTopics : dcTopics));
61
50
  };
62
- var mqtt = useMqtt();
63
- var topics = useMemo(function () { return getTopics(mqtt.portalId, gensetType, gensetId); }, [mqtt.portalId, gensetType, gensetId]);
64
- var useTopicsStateAugmentedWithGensetType = function (gensetType) {
65
- var gensetValues = useTopicsState(topics);
66
- var memoizedGensetValues = useMemo(function () {
67
- return __assign(__assign({}, gensetValues), { gensetType: gensetType });
51
+ const mqtt = useMqtt();
52
+ const topics = useMemo(() => getTopics(mqtt.portalId, gensetType, gensetId), [mqtt.portalId, gensetType, gensetId]);
53
+ const useTopicsStateAugmentedWithGensetType = (gensetType) => {
54
+ const gensetValues = useTopicsState(topics);
55
+ const memoizedGensetValues = useMemo(() => {
56
+ return Object.assign(Object.assign({}, gensetValues), { gensetType: gensetType });
68
57
  }, [gensetValues, gensetType]);
69
58
  return memoizedGensetValues;
70
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedGenset.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGenset.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport type ConnectedGensetId = number | null | undefined\n\nexport enum ConnectedGensetType {\n ACGENSET = \"genset\",\n DCGENSET = \"dcgenset\",\n}\n\nexport interface SharedConnectedGensetState {\n statusCode: number\n productId: number\n productName: string\n customName: string\n remoteStartModeEnabled: number\n coolant: number\n winding: number\n exhaust: number\n heatsink: number\n}\n\nexport interface DCGensetState extends SharedConnectedGensetState {\n gensetType: ConnectedGensetType.DCGENSET\n voltage: number\n current: number\n power: number\n}\n\nexport interface ACGensetState extends SharedConnectedGensetState {\n gensetType: ConnectedGensetType.ACGENSET\n phases: number\n voltage: [number?, number?, number?]\n current: [number?, number?, number?]\n power: [number?, number?, number?]\n frequency: [number?, number?, number?]\n}\n\nexport type ConnectedGensetState = DCGensetState | ACGensetState\n\nexport interface ConnectedGensetSharedTopics extends Topics {\n statusCode?: string\n productId?: string\n productName?: string\n customName?: string\n remoteStartModeEnabled?: string\n coolant?: string\n winding?: string\n exhaust?: string\n heatsink?: string\n}\n\nexport interface ConnectedGensetDCTopics extends Topics {\n voltage?: string\n current?: string\n power?: string\n}\n\nexport interface ConnectedGensetACTopics extends Topics {\n phases?: string\n voltage?: Array<string>\n current?: Array<string>\n power?: Array<string>\n frequency?: Array<string>\n}\n\nexport function useConnectedGenset(gensetType: ConnectedGensetType, gensetId: number): ConnectedGensetState {\n const getTopics = (portalId: PortalId, gensetType: ConnectedGensetType, gensetId: ConnectedGensetId) => {\n const sharedTopics = {\n statusCode: `N/${portalId}/${gensetType}/${gensetId}/StatusCode`,\n productId: `N/${portalId}/${gensetType}/${gensetId}/ProductId`,\n productName: `N/${portalId}/${gensetType}/${gensetId}/ProductName`,\n customName: `N/${portalId}/${gensetType}/${gensetId}/CustomName`,\n remoteStartModeEnabled: `N/${portalId}/${gensetType}/${gensetId}/RemoteStartModeEnabled`,\n coolant: `N/${portalId}/${gensetType}/${gensetId}/Engine/CoolantTemperature`,\n winding: `N/${portalId}/${gensetType}/${gensetId}/Engine/WindingTemperature`,\n exhaust: `N/${portalId}/${gensetType}/${gensetId}/Engine/ExaustTemperature`,\n heatsink: `N/${portalId}/${gensetType}/${gensetId}/HeatsinkTemperature`,\n }\n const dcTopics = {\n voltage: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Voltage`,\n current: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Current`,\n power: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Power`,\n }\n const acTopics = {\n phases: `N/${portalId}/${gensetType}/${gensetId}/NrOfPhases`,\n voltage: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Voltage`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Voltage`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Voltage`,\n ],\n current: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Current`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Current`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Current`,\n ],\n power: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Power`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Power`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Power`,\n ],\n frequency: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Frequency`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Frequency`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Frequency`,\n ],\n }\n return {\n ...sharedTopics,\n ...(gensetType === ConnectedGensetType.ACGENSET ? acTopics : dcTopics)\n }\n }\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId, gensetType, gensetId), [mqtt.portalId, gensetType, gensetId])\n\n const useTopicsStateAugmentedWithGensetType = (gensetType: ConnectedGensetType) => {\n const gensetValues = useTopicsState<ConnectedGensetState>(topics)\n const memoizedGensetValues = useMemo(() => {\n return {\n ...gensetValues,\n gensetType: gensetType\n } as ConnectedGensetState\n\n }, [gensetValues, gensetType])\n\n return memoizedGensetValues\n }\n\n return useTopicsStateAugmentedWithGensetType(gensetType)\n}\n"]}
1
+ {"version":3,"file":"ConnectedGenset.provider.js","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGenset.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\n\nexport type ConnectedGensetId = number | null | undefined\n\nexport enum ConnectedGensetType {\n ACGENSET = \"genset\",\n DCGENSET = \"dcgenset\",\n}\n\nexport interface SharedConnectedGensetState {\n statusCode: number\n productId: number\n productName: string\n customName: string\n remoteStartModeEnabled: number\n coolant: number\n winding: number\n exhaust: number\n heatsink: number\n}\n\nexport interface DCGensetState extends SharedConnectedGensetState {\n gensetType: ConnectedGensetType.DCGENSET\n voltage: number\n current: number\n power: number\n}\n\nexport interface ACGensetState extends SharedConnectedGensetState {\n gensetType: ConnectedGensetType.ACGENSET\n phases: number\n voltage: [number?, number?, number?]\n current: [number?, number?, number?]\n power: [number?, number?, number?]\n frequency: [number?, number?, number?]\n}\n\nexport type ConnectedGensetState = DCGensetState | ACGensetState\n\nexport interface ConnectedGensetSharedTopics extends Topics {\n statusCode?: string\n productId?: string\n productName?: string\n customName?: string\n remoteStartModeEnabled?: string\n coolant?: string\n winding?: string\n exhaust?: string\n heatsink?: string\n}\n\nexport interface ConnectedGensetDCTopics extends Topics {\n voltage?: string\n current?: string\n power?: string\n}\n\nexport interface ConnectedGensetACTopics extends Topics {\n phases?: string\n voltage?: Array<string>\n current?: Array<string>\n power?: Array<string>\n frequency?: Array<string>\n}\n\nexport function useConnectedGenset(gensetType: ConnectedGensetType, gensetId: number): ConnectedGensetState {\n const getTopics = (portalId: PortalId, gensetType: ConnectedGensetType, gensetId: ConnectedGensetId) => {\n const sharedTopics = {\n statusCode: `N/${portalId}/${gensetType}/${gensetId}/StatusCode`,\n productId: `N/${portalId}/${gensetType}/${gensetId}/ProductId`,\n productName: `N/${portalId}/${gensetType}/${gensetId}/ProductName`,\n customName: `N/${portalId}/${gensetType}/${gensetId}/CustomName`,\n remoteStartModeEnabled: `N/${portalId}/${gensetType}/${gensetId}/RemoteStartModeEnabled`,\n coolant: `N/${portalId}/${gensetType}/${gensetId}/Engine/CoolantTemperature`,\n winding: `N/${portalId}/${gensetType}/${gensetId}/Engine/WindingTemperature`,\n exhaust: `N/${portalId}/${gensetType}/${gensetId}/Engine/ExaustTemperature`,\n heatsink: `N/${portalId}/${gensetType}/${gensetId}/HeatsinkTemperature`,\n }\n const dcTopics = {\n voltage: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Voltage`,\n current: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Current`,\n power: `N/${portalId}/${gensetType}/${gensetId}/Dc/0/Power`,\n }\n const acTopics = {\n phases: `N/${portalId}/${gensetType}/${gensetId}/NrOfPhases`,\n voltage: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Voltage`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Voltage`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Voltage`,\n ],\n current: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Current`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Current`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Current`,\n ],\n power: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Power`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Power`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Power`,\n ],\n frequency: [\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L1/Frequency`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L2/Frequency`,\n `N/${portalId}/${gensetType}/${gensetId}/Ac/L3/Frequency`,\n ],\n }\n return {\n ...sharedTopics,\n ...(gensetType === ConnectedGensetType.ACGENSET ? acTopics : dcTopics),\n }\n }\n const mqtt = useMqtt()\n\n const topics = useMemo(() => getTopics(mqtt.portalId, gensetType, gensetId), [mqtt.portalId, gensetType, gensetId])\n\n const useTopicsStateAugmentedWithGensetType = (gensetType: ConnectedGensetType) => {\n const gensetValues = useTopicsState<ConnectedGensetState>(topics)\n const memoizedGensetValues = useMemo(() => {\n return {\n ...gensetValues,\n gensetType: gensetType,\n } as ConnectedGensetState\n }, [gensetValues, gensetType])\n\n return memoizedGensetValues\n }\n\n return useTopicsStateAugmentedWithGensetType(gensetType)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedGensets.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEpF,eAAO,MAAM,mBAAmB,GAAI,YAAY,mBAAmB,wDAmClE,CAAA"}
1
+ {"version":3,"file":"ConnectedGensets.provider.d.ts","sourceRoot":"/","sources":["src/Modules/Generators/ConnectedGensets.provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEnF,eAAO,MAAM,mBAAmB,GAAI,YAAY,mBAAmB,wDAuClE,CAAA"}