@victronenergy/mfd-modules 3.3.6

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 (239) hide show
  1. package/README.md +12 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/Modules/AcLoads/AcLoads.provider.d.ts +16 -0
  6. package/dist/src/Modules/AcLoads/AcLoads.provider.js +34 -0
  7. package/dist/src/Modules/AcLoads/AcLoads.provider.js.map +1 -0
  8. package/dist/src/Modules/AcLoads/index.d.ts +1 -0
  9. package/dist/src/Modules/AcLoads/index.js +2 -0
  10. package/dist/src/Modules/AcLoads/index.js.map +1 -0
  11. package/dist/src/Modules/AcMode/AcMode.provider.d.ts +18 -0
  12. package/dist/src/Modules/AcMode/AcMode.provider.js +51 -0
  13. package/dist/src/Modules/AcMode/AcMode.provider.js.map +1 -0
  14. package/dist/src/Modules/AcMode/index.d.ts +1 -0
  15. package/dist/src/Modules/AcMode/index.js +2 -0
  16. package/dist/src/Modules/AcMode/index.js.map +1 -0
  17. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.d.ts +13 -0
  18. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.js +33 -0
  19. package/dist/src/Modules/ActiveSource/ActiveInValues.provider.js.map +1 -0
  20. package/dist/src/Modules/ActiveSource/ActiveSource.provider.d.ts +6 -0
  21. package/dist/src/Modules/ActiveSource/ActiveSource.provider.js +20 -0
  22. package/dist/src/Modules/ActiveSource/ActiveSource.provider.js.map +1 -0
  23. package/dist/src/Modules/ActiveSource/index.d.ts +2 -0
  24. package/dist/src/Modules/ActiveSource/index.js +3 -0
  25. package/dist/src/Modules/ActiveSource/index.js.map +1 -0
  26. package/dist/src/Modules/Alternators/Alternator.provider.d.ts +6 -0
  27. package/dist/src/Modules/Alternators/Alternator.provider.js +14 -0
  28. package/dist/src/Modules/Alternators/Alternator.provider.js.map +1 -0
  29. package/dist/src/Modules/Alternators/Alternators.provider.d.ts +1 -0
  30. package/dist/src/Modules/Alternators/Alternators.provider.js +24 -0
  31. package/dist/src/Modules/Alternators/Alternators.provider.js.map +1 -0
  32. package/dist/src/Modules/Alternators/Alternators.store.d.ts +7 -0
  33. package/dist/src/Modules/Alternators/Alternators.store.js +37 -0
  34. package/dist/src/Modules/Alternators/Alternators.store.js.map +1 -0
  35. package/dist/src/Modules/Alternators/index.d.ts +3 -0
  36. package/dist/src/Modules/Alternators/index.js +4 -0
  37. package/dist/src/Modules/Alternators/index.js.map +1 -0
  38. package/dist/src/Modules/App/App.provider.d.ts +1 -0
  39. package/dist/src/Modules/App/App.provider.js +26 -0
  40. package/dist/src/Modules/App/App.provider.js.map +1 -0
  41. package/dist/src/Modules/App/App.store.d.ts +24 -0
  42. package/dist/src/Modules/App/App.store.js +132 -0
  43. package/dist/src/Modules/App/App.store.js.map +1 -0
  44. package/dist/src/Modules/App/index.d.ts +2 -0
  45. package/dist/src/Modules/App/index.js +3 -0
  46. package/dist/src/Modules/App/index.js.map +1 -0
  47. package/dist/src/Modules/Battery/Batteries.provider.d.ts +1 -0
  48. package/dist/src/Modules/Battery/Batteries.provider.js +28 -0
  49. package/dist/src/Modules/Battery/Batteries.provider.js.map +1 -0
  50. package/dist/src/Modules/Battery/Batteries.store.d.ts +10 -0
  51. package/dist/src/Modules/Battery/Batteries.store.js +37 -0
  52. package/dist/src/Modules/Battery/Batteries.store.js.map +1 -0
  53. package/dist/src/Modules/Battery/Battery.provider.d.ts +21 -0
  54. package/dist/src/Modules/Battery/Battery.provider.js +12 -0
  55. package/dist/src/Modules/Battery/Battery.provider.js.map +1 -0
  56. package/dist/src/Modules/Battery/index.d.ts +3 -0
  57. package/dist/src/Modules/Battery/index.js +4 -0
  58. package/dist/src/Modules/Battery/index.js.map +1 -0
  59. package/dist/src/Modules/Chargers/Charger.provider.d.ts +25 -0
  60. package/dist/src/Modules/Chargers/Charger.provider.js +41 -0
  61. package/dist/src/Modules/Chargers/Charger.provider.js.map +1 -0
  62. package/dist/src/Modules/Chargers/Chargers.provider.d.ts +4 -0
  63. package/dist/src/Modules/Chargers/Chargers.provider.js +24 -0
  64. package/dist/src/Modules/Chargers/Chargers.provider.js.map +1 -0
  65. package/dist/src/Modules/Chargers/Chargers.store.d.ts +7 -0
  66. package/dist/src/Modules/Chargers/Chargers.store.js +37 -0
  67. package/dist/src/Modules/Chargers/Chargers.store.js.map +1 -0
  68. package/dist/src/Modules/Chargers/index.d.ts +3 -0
  69. package/dist/src/Modules/Chargers/index.js +4 -0
  70. package/dist/src/Modules/Chargers/index.js.map +1 -0
  71. package/dist/src/Modules/DcLoads/DcLoads.provider.d.ts +12 -0
  72. package/dist/src/Modules/DcLoads/DcLoads.provider.js +26 -0
  73. package/dist/src/Modules/DcLoads/DcLoads.provider.js.map +1 -0
  74. package/dist/src/Modules/DcLoads/index.d.ts +1 -0
  75. package/dist/src/Modules/DcLoads/index.js +2 -0
  76. package/dist/src/Modules/DcLoads/index.js.map +1 -0
  77. package/dist/src/Modules/Generators/GeneratorFp.provider.d.ts +24 -0
  78. package/dist/src/Modules/Generators/GeneratorFp.provider.js +39 -0
  79. package/dist/src/Modules/Generators/GeneratorFp.provider.js.map +1 -0
  80. package/dist/src/Modules/Generators/GeneratorRelay.provider.d.ts +24 -0
  81. package/dist/src/Modules/Generators/GeneratorRelay.provider.js +47 -0
  82. package/dist/src/Modules/Generators/GeneratorRelay.provider.js.map +1 -0
  83. package/dist/src/Modules/Generators/GensetValues.provider.d.ts +20 -0
  84. package/dist/src/Modules/Generators/GensetValues.provider.js +37 -0
  85. package/dist/src/Modules/Generators/GensetValues.provider.js.map +1 -0
  86. package/dist/src/Modules/Generators/index.d.ts +3 -0
  87. package/dist/src/Modules/Generators/index.js +4 -0
  88. package/dist/src/Modules/Generators/index.js.map +1 -0
  89. package/dist/src/Modules/Header/Header.provider.d.ts +8 -0
  90. package/dist/src/Modules/Header/Header.provider.js +14 -0
  91. package/dist/src/Modules/Header/Header.provider.js.map +1 -0
  92. package/dist/src/Modules/Header/index.d.ts +1 -0
  93. package/dist/src/Modules/Header/index.js +2 -0
  94. package/dist/src/Modules/Header/index.js.map +1 -0
  95. package/dist/src/Modules/InverterCharger/InputLimit.provider.d.ts +10 -0
  96. package/dist/src/Modules/InverterCharger/InputLimit.provider.js +28 -0
  97. package/dist/src/Modules/InverterCharger/InputLimit.provider.js.map +1 -0
  98. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.d.ts +15 -0
  99. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.js +34 -0
  100. package/dist/src/Modules/InverterCharger/InputLimitSelector.provider.js.map +1 -0
  101. package/dist/src/Modules/InverterCharger/InverterCharger.provider.d.ts +19 -0
  102. package/dist/src/Modules/InverterCharger/InverterCharger.provider.js +36 -0
  103. package/dist/src/Modules/InverterCharger/InverterCharger.provider.js.map +1 -0
  104. package/dist/src/Modules/InverterCharger/index.d.ts +3 -0
  105. package/dist/src/Modules/InverterCharger/index.js +4 -0
  106. package/dist/src/Modules/InverterCharger/index.js.map +1 -0
  107. package/dist/src/Modules/Inverters/Inverter.provider.d.ts +26 -0
  108. package/dist/src/Modules/Inverters/Inverter.provider.js +37 -0
  109. package/dist/src/Modules/Inverters/Inverter.provider.js.map +1 -0
  110. package/dist/src/Modules/Inverters/Inverters.provider.d.ts +9 -0
  111. package/dist/src/Modules/Inverters/Inverters.provider.js +26 -0
  112. package/dist/src/Modules/Inverters/Inverters.provider.js.map +1 -0
  113. package/dist/src/Modules/Inverters/Inverters.store.d.ts +7 -0
  114. package/dist/src/Modules/Inverters/Inverters.store.js +37 -0
  115. package/dist/src/Modules/Inverters/Inverters.store.js.map +1 -0
  116. package/dist/src/Modules/Inverters/index.d.ts +3 -0
  117. package/dist/src/Modules/Inverters/index.js +4 -0
  118. package/dist/src/Modules/Inverters/index.js.map +1 -0
  119. package/dist/src/Modules/Language/Language.provider.d.ts +9 -0
  120. package/dist/src/Modules/Language/Language.provider.js +86 -0
  121. package/dist/src/Modules/Language/Language.provider.js.map +1 -0
  122. package/dist/src/Modules/Language/index.d.ts +1 -0
  123. package/dist/src/Modules/Language/index.js +2 -0
  124. package/dist/src/Modules/Language/index.js.map +1 -0
  125. package/dist/src/Modules/Mqtt/Mqtt.constants.d.ts +6 -0
  126. package/dist/src/Modules/Mqtt/Mqtt.constants.js +7 -0
  127. package/dist/src/Modules/Mqtt/Mqtt.constants.js.map +1 -0
  128. package/dist/src/Modules/Mqtt/Mqtt.provider.d.ts +4 -0
  129. package/dist/src/Modules/Mqtt/Mqtt.provider.js +18 -0
  130. package/dist/src/Modules/Mqtt/Mqtt.provider.js.map +1 -0
  131. package/dist/src/Modules/Mqtt/Mqtt.store.d.ts +43 -0
  132. package/dist/src/Modules/Mqtt/Mqtt.store.js +467 -0
  133. package/dist/src/Modules/Mqtt/Mqtt.store.js.map +1 -0
  134. package/dist/src/Modules/Mqtt/Mqtt.types.d.ts +8 -0
  135. package/dist/src/Modules/Mqtt/Mqtt.types.js +2 -0
  136. package/dist/src/Modules/Mqtt/Mqtt.types.js.map +1 -0
  137. package/dist/src/Modules/Mqtt/index.d.ts +4 -0
  138. package/dist/src/Modules/Mqtt/index.js +5 -0
  139. package/dist/src/Modules/Mqtt/index.js.map +1 -0
  140. package/dist/src/Modules/PvCharger/PvCharger.provider.d.ts +10 -0
  141. package/dist/src/Modules/PvCharger/PvCharger.provider.js +14 -0
  142. package/dist/src/Modules/PvCharger/PvCharger.provider.js.map +1 -0
  143. package/dist/src/Modules/PvCharger/index.d.ts +1 -0
  144. package/dist/src/Modules/PvCharger/index.js +2 -0
  145. package/dist/src/Modules/PvCharger/index.js.map +1 -0
  146. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.d.ts +2 -0
  147. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.js +37 -0
  148. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.provider.js.map +1 -0
  149. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.d.ts +10 -0
  150. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.js +37 -0
  151. package/dist/src/Modules/ShorePowerInput/ShorePowerInput.store.js.map +1 -0
  152. package/dist/src/Modules/ShorePowerInput/index.d.ts +2 -0
  153. package/dist/src/Modules/ShorePowerInput/index.js +3 -0
  154. package/dist/src/Modules/ShorePowerInput/index.js.map +1 -0
  155. package/dist/src/Modules/SystemState/SystemState.provider.d.ts +8 -0
  156. package/dist/src/Modules/SystemState/SystemState.provider.js +12 -0
  157. package/dist/src/Modules/SystemState/SystemState.provider.js.map +1 -0
  158. package/dist/src/Modules/SystemState/index.d.ts +1 -0
  159. package/dist/src/Modules/SystemState/index.js +2 -0
  160. package/dist/src/Modules/SystemState/index.js.map +1 -0
  161. package/dist/src/Modules/Tanks/Tank.provider.d.ts +19 -0
  162. package/dist/src/Modules/Tanks/Tank.provider.js +17 -0
  163. package/dist/src/Modules/Tanks/Tank.provider.js.map +1 -0
  164. package/dist/src/Modules/Tanks/Tanks.provider.d.ts +4 -0
  165. package/dist/src/Modules/Tanks/Tanks.provider.js +26 -0
  166. package/dist/src/Modules/Tanks/Tanks.provider.js.map +1 -0
  167. package/dist/src/Modules/Tanks/Tanks.store.d.ts +10 -0
  168. package/dist/src/Modules/Tanks/Tanks.store.js +37 -0
  169. package/dist/src/Modules/Tanks/Tanks.store.js.map +1 -0
  170. package/dist/src/Modules/Tanks/index.d.ts +3 -0
  171. package/dist/src/Modules/Tanks/index.js +4 -0
  172. package/dist/src/Modules/Tanks/index.js.map +1 -0
  173. package/dist/src/Modules/Temperatures/Temperature.provider.d.ts +19 -0
  174. package/dist/src/Modules/Temperatures/Temperature.provider.js +36 -0
  175. package/dist/src/Modules/Temperatures/Temperature.provider.js.map +1 -0
  176. package/dist/src/Modules/Temperatures/Temperatures.provider.d.ts +3 -0
  177. package/dist/src/Modules/Temperatures/Temperatures.provider.js +26 -0
  178. package/dist/src/Modules/Temperatures/Temperatures.provider.js.map +1 -0
  179. package/dist/src/Modules/Temperatures/Temperatures.store.d.ts +7 -0
  180. package/dist/src/Modules/Temperatures/Temperatures.store.js +37 -0
  181. package/dist/src/Modules/Temperatures/Temperatures.store.js.map +1 -0
  182. package/dist/src/Modules/Temperatures/index.d.ts +3 -0
  183. package/dist/src/Modules/Temperatures/index.js +4 -0
  184. package/dist/src/Modules/Temperatures/index.js.map +1 -0
  185. package/dist/src/Modules/Theme/Theme.provider.d.ts +4 -0
  186. package/dist/src/Modules/Theme/Theme.provider.js +7 -0
  187. package/dist/src/Modules/Theme/Theme.provider.js.map +1 -0
  188. package/dist/src/Modules/Theme/Theme.store.d.ts +9 -0
  189. package/dist/src/Modules/Theme/Theme.store.js +44 -0
  190. package/dist/src/Modules/Theme/Theme.store.js.map +1 -0
  191. package/dist/src/Modules/Theme/index.d.ts +1 -0
  192. package/dist/src/Modules/Theme/index.js +2 -0
  193. package/dist/src/Modules/Theme/index.js.map +1 -0
  194. package/dist/src/Modules/Vebus/Vebus.provider.d.ts +2 -0
  195. package/dist/src/Modules/Vebus/Vebus.provider.js +67 -0
  196. package/dist/src/Modules/Vebus/Vebus.provider.js.map +1 -0
  197. package/dist/src/Modules/Vebus/Vebus.store.d.ts +19 -0
  198. package/dist/src/Modules/Vebus/Vebus.store.js +63 -0
  199. package/dist/src/Modules/Vebus/Vebus.store.js.map +1 -0
  200. package/dist/src/Modules/Vebus/index.d.ts +2 -0
  201. package/dist/src/Modules/Vebus/index.js +3 -0
  202. package/dist/src/Modules/Vebus/index.js.map +1 -0
  203. package/dist/src/Modules/Vrm/Vrm.store.d.ts +38 -0
  204. package/dist/src/Modules/Vrm/Vrm.store.js +299 -0
  205. package/dist/src/Modules/Vrm/Vrm.store.js.map +1 -0
  206. package/dist/src/Modules/Vrm/Vrm.types.d.ts +16 -0
  207. package/dist/src/Modules/Vrm/Vrm.types.js +2 -0
  208. package/dist/src/Modules/Vrm/Vrm.types.js.map +1 -0
  209. package/dist/src/Modules/Vrm/index.d.ts +2 -0
  210. package/dist/src/Modules/Vrm/index.js +3 -0
  211. package/dist/src/Modules/Vrm/index.js.map +1 -0
  212. package/dist/src/Modules/WindGenerators/WindGenerator.provider.d.ts +6 -0
  213. package/dist/src/Modules/WindGenerators/WindGenerator.provider.js +14 -0
  214. package/dist/src/Modules/WindGenerators/WindGenerator.provider.js.map +1 -0
  215. package/dist/src/Modules/WindGenerators/WindGenerators.provider.d.ts +1 -0
  216. package/dist/src/Modules/WindGenerators/WindGenerators.provider.js +34 -0
  217. package/dist/src/Modules/WindGenerators/WindGenerators.provider.js.map +1 -0
  218. package/dist/src/Modules/WindGenerators/WindGenerators.store.d.ts +7 -0
  219. package/dist/src/Modules/WindGenerators/WindGenerators.store.js +37 -0
  220. package/dist/src/Modules/WindGenerators/WindGenerators.store.js.map +1 -0
  221. package/dist/src/Modules/WindGenerators/index.d.ts +3 -0
  222. package/dist/src/Modules/WindGenerators/index.js +4 -0
  223. package/dist/src/Modules/WindGenerators/index.js.map +1 -0
  224. package/dist/src/index.d.ts +24 -0
  225. package/dist/src/index.js +25 -0
  226. package/dist/src/index.js.map +1 -0
  227. package/dist/src/utils/constants.d.ts +88 -0
  228. package/dist/src/utils/constants.js +81 -0
  229. package/dist/src/utils/constants.js.map +1 -0
  230. package/dist/src/utils/logger.d.ts +9 -0
  231. package/dist/src/utils/logger.js +28 -0
  232. package/dist/src/utils/logger.js.map +1 -0
  233. package/dist/src/utils/storage.d.ts +2 -0
  234. package/dist/src/utils/storage.js +42 -0
  235. package/dist/src/utils/storage.js.map +1 -0
  236. package/dist/src/utils/util.d.ts +16 -0
  237. package/dist/src/utils/util.js +112 -0
  238. package/dist/src/utils/util.js.map +1 -0
  239. package/package.json +43 -0
@@ -0,0 +1,14 @@
1
+ import { useMqtt, useTopicsState, useTopicSubscriptions } from "../Mqtt";
2
+ import { useMemo } from "react";
3
+ export function useHeader() {
4
+ var getTopics = function (portalId) {
5
+ return {
6
+ showRemoteConsoleSetting: "N/" + portalId + "/settings/0/Settings/System/VncLocal",
7
+ };
8
+ };
9
+ var mqtt = useMqtt();
10
+ var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
11
+ useTopicSubscriptions(topics);
12
+ return useTopicsState(topics);
13
+ }
14
+ //# sourceMappingURL=Header.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Header/Header.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAU/B,MAAM,UAAU,SAAS;IACvB,IAAM,SAAS,GAAG,UAAC,QAAkB;QACnC,OAAO;YACL,wBAAwB,EAAE,OAAK,QAAQ,yCAAsC;SAC9E,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,OAAO,cAAc,CAAc,MAAM,CAAC,CAAA;AAC5C,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./Header.provider";
@@ -0,0 +1,2 @@
1
+ export * from "./Header.provider";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/Header/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { Topics } from "../Mqtt";
2
+ export interface InputLimitState {
3
+ currentLimit: string;
4
+ currentLimitIsAdjustable: boolean;
5
+ }
6
+ export interface InputLimitTopics extends Topics {
7
+ currentLimit?: string;
8
+ currentLimitIsAdjustable?: string;
9
+ }
10
+ export declare function useInputLimit(shorePowerInput: number): InputLimitState;
@@ -0,0 +1,28 @@
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
+ import { useMqtt, useTopicsState, useTopicSubscriptions } from "../Mqtt";
13
+ import { useVebusStore } from "../Vebus";
14
+ import { useMemo } from "react";
15
+ export function useInputLimit(shorePowerInput) {
16
+ var getTopics = function (portalId, deviceInstanceId, shorePowerInput) {
17
+ return {
18
+ currentLimit: "N/" + portalId + "/vebus/" + deviceInstanceId + "/Ac/In/" + shorePowerInput + "/CurrentLimit",
19
+ currentLimitIsAdjustable: "N/" + portalId + "/vebus/" + deviceInstanceId + "/Ac/In/" + shorePowerInput + "/CurrentLimitIsAdjustable",
20
+ };
21
+ };
22
+ var mqtt = useMqtt();
23
+ var instanceId = useVebusStore().instanceId;
24
+ var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId, shorePowerInput); }, [mqtt.portalId, instanceId, shorePowerInput]);
25
+ useTopicSubscriptions(topics);
26
+ return __assign({}, useTopicsState(topics));
27
+ }
28
+ //# sourceMappingURL=InputLimit.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputLimit.provider.js","sourceRoot":"","sources":["../../../../src/Modules/InverterCharger/InputLimit.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAc,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAY/B,MAAM,UAAU,aAAa,CAAC,eAAuB;IACnD,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,gBAA4B,EAAE,eAAuB;QAC1F,OAAO;YACL,YAAY,EAAE,OAAK,QAAQ,eAAU,gBAAgB,eAAU,eAAe,kBAAe;YAC7F,wBAAwB,EAAE,OAAK,QAAQ,eAAU,gBAAgB,eAAU,eAAe,8BAA2B;SACtH,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACd,IAAA,UAAU,GAAK,aAAa,EAAE,WAApB,CAAoB;IACtC,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,EAArD,CAAqD,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAEjI,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,oBAAY,cAAc,CAAkB,MAAM,CAAC,EAAE;AACvD,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Topics } from "../Mqtt";
2
+ export interface InputLimitSelectorState {
3
+ currentLimit: number;
4
+ currentLimitMax: number;
5
+ productId: number;
6
+ }
7
+ export interface InputLimitSelectorTopics extends Topics {
8
+ currentLimit?: string;
9
+ currentLimitMax?: string;
10
+ productId?: string;
11
+ }
12
+ export interface InputLimitSelectorProvider extends InputLimitSelectorState {
13
+ updateLimit: (limit: number) => void;
14
+ }
15
+ export declare function useInputLimitSelector(shorePowerInput: number): InputLimitSelectorProvider;
@@ -0,0 +1,34 @@
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
+ import { useMqtt, useTopicsState, useTopicSubscriptions } from "../Mqtt";
13
+ import { useVebusStore } from "../Vebus";
14
+ import { useMemo } from "react";
15
+ export function useInputLimitSelector(shorePowerInput) {
16
+ var getTopics = function (portalId, deviceInstanceId) {
17
+ return {
18
+ currentLimit: "N/" + portalId + "/vebus/" + deviceInstanceId + "/Ac/In/" + shorePowerInput + "/CurrentLimit",
19
+ currentLimitMax: "N/" + portalId + "/vebus/" + deviceInstanceId + "/Ac/In/" + shorePowerInput + "/CurrentLimitGetMax",
20
+ productId: "N/" + portalId + "/vebus/" + deviceInstanceId + "/ProductId",
21
+ };
22
+ };
23
+ var mqtt = useMqtt();
24
+ var instanceId = useVebusStore().instanceId;
25
+ var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
26
+ useTopicSubscriptions(topics);
27
+ var getWriteTopics = function (portalId, deviceInstanceId, shorePowerInput) { return ({
28
+ limit: "W/" + portalId + "/vebus/" + deviceInstanceId + "/Ac/In/" + shorePowerInput + "/CurrentLimit",
29
+ }); };
30
+ var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId, instanceId, shorePowerInput); }, [mqtt.portalId, instanceId, shorePowerInput]);
31
+ var updateLimit = function (limit) { return mqtt.publish(writeTopics.limit, limit); };
32
+ return __assign(__assign({}, useTopicsState(topics)), { updateLimit: updateLimit });
33
+ }
34
+ //# sourceMappingURL=InputLimitSelector.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputLimitSelector.provider.js","sourceRoot":"","sources":["../../../../src/Modules/InverterCharger/InputLimitSelector.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAc,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAkB/B,MAAM,UAAU,qBAAqB,CAAC,eAAuB;IAC3D,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,gBAA4B;QACjE,OAAO;YACL,YAAY,EAAE,OAAK,QAAQ,eAAU,gBAAgB,eAAU,eAAe,kBAAe;YAC7F,eAAe,EAAE,OAAK,QAAQ,eAAU,gBAAgB,eAAU,eAAe,wBAAqB;YACtG,SAAS,EAAE,OAAK,QAAQ,eAAU,gBAAgB,eAAY;SAC/D,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACd,IAAA,UAAU,GAAK,aAAa,EAAE,WAApB,CAAoB;IACtC,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,IAAM,cAAc,GAAG,UAAC,QAAkB,EAAE,gBAA4B,EAAE,eAAuB,IAAK,OAAA,CAAC;QACrG,KAAK,EAAE,OAAK,QAAQ,eAAU,gBAAgB,eAAU,eAAe,kBAAe;KACvF,CAAC,EAFoG,CAEpG,CAAA;IAEF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,EAA1D,CAA0D,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAE3I,IAAM,WAAW,GAAG,UAAC,KAAa,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAvC,CAAuC,CAAA;IAE9E,OAAO,sBAAK,cAAc,CAA0B,MAAM,CAAC,KAAE,WAAW,aAAA,GAAgC,CAAA;AAC1G,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Topics } from "../Mqtt";
2
+ export interface InverterChargerState {
3
+ state: string;
4
+ mode: string;
5
+ customName: string;
6
+ productName: string;
7
+ modeIsAdjustable: number;
8
+ }
9
+ export interface InverterChargerTopics extends Topics {
10
+ state?: string;
11
+ mode?: string;
12
+ customName?: string;
13
+ productName?: string;
14
+ modeIsAdjustable?: string;
15
+ }
16
+ export interface InverterChargerProvider extends InverterChargerState {
17
+ updateMode: (mode: number) => void;
18
+ }
19
+ export declare function useInverterCharger(): InverterChargerProvider;
@@ -0,0 +1,36 @@
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
+ import { useMqtt, useTopicsState, useTopicSubscriptions } from "../Mqtt";
13
+ import { useVebusStore } from "../Vebus";
14
+ import { useMemo } from "react";
15
+ export function useInverterCharger() {
16
+ var getTopics = function (portalId, deviceInstanceId) {
17
+ return {
18
+ state: "N/" + portalId + "/system/0/SystemState/State",
19
+ mode: "N/" + portalId + "/vebus/" + deviceInstanceId + "/Mode",
20
+ customName: "N/" + portalId + "/vebus/" + deviceInstanceId + "/CustomName",
21
+ productName: "N/" + portalId + "/vebus/" + deviceInstanceId + "/ProductName",
22
+ modeIsAdjustable: "N/" + portalId + "/vebus/" + deviceInstanceId + "/ModeIsAdjustable",
23
+ };
24
+ };
25
+ var mqtt = useMqtt();
26
+ var instanceId = useVebusStore().instanceId;
27
+ var topics = useMemo(function () { return getTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
28
+ useTopicSubscriptions(topics);
29
+ var getWriteTopics = function (portalId, deviceInstanceId) { return ({
30
+ mode: "W/" + portalId + "/vebus/" + deviceInstanceId + "/Mode",
31
+ }); };
32
+ var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId, instanceId); }, [mqtt.portalId, instanceId]);
33
+ var updateMode = function (mode) { return mqtt.publish(writeTopics.mode, mode); };
34
+ return __assign(__assign({}, useTopicsState(topics)), { updateMode: updateMode });
35
+ }
36
+ //# sourceMappingURL=InverterCharger.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InverterCharger.provider.js","sourceRoot":"","sources":["../../../../src/Modules/InverterCharger/InverterCharger.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAc,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAsB/B,MAAM,UAAU,kBAAkB;IAChC,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,gBAA4B;QACjE,OAAO;YACL,KAAK,EAAE,OAAK,QAAQ,gCAA6B;YACjD,IAAI,EAAE,OAAK,QAAQ,eAAU,gBAAgB,UAAO;YACpD,UAAU,EAAE,OAAK,QAAQ,eAAU,gBAAgB,gBAAa;YAChE,WAAW,EAAE,OAAK,QAAQ,eAAU,gBAAgB,iBAAc;YAClE,gBAAgB,EAAE,OAAK,QAAQ,eAAU,gBAAgB,sBAAmB;SAC7E,CAAA;IACH,CAAC,CAAA;IACD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACd,IAAA,UAAU,GAAK,aAAa,EAAE,WAApB,CAAoB;IACtC,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAG/F,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,IAAM,cAAc,GAAG,UAAC,QAAkB,EAAE,gBAA4B,IAAK,OAAA,CAAC;QAC5E,IAAI,EAAE,OAAK,QAAQ,eAAU,gBAAgB,UAAO;KACrD,CAAC,EAF2E,CAE3E,CAAA;IAEF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAzC,CAAyC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAEzG,IAAM,UAAU,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAArC,CAAqC,CAAA;IAE1E,OAAO,sBAAK,cAAc,CAAuB,MAAM,CAAC,KAAE,UAAU,YAAA,GAA6B,CAAA;AACnG,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./InputLimitSelector.provider";
2
+ export * from "./InverterCharger.provider";
3
+ export * from "./InputLimit.provider";
@@ -0,0 +1,4 @@
1
+ export * from "./InputLimitSelector.provider";
2
+ export * from "./InverterCharger.provider";
3
+ export * from "./InputLimit.provider";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/InverterCharger/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Topics } from "../Mqtt";
2
+ import { InverterInstanceId } from "./Inverters.store";
3
+ export interface InverterState {
4
+ state: number;
5
+ mode: number;
6
+ voltage: number;
7
+ current: number;
8
+ power: number;
9
+ customName: string;
10
+ productName: string;
11
+ nAcInputs: number;
12
+ }
13
+ export interface InverterTopics extends Topics {
14
+ state?: string;
15
+ mode?: string;
16
+ voltage?: string;
17
+ current?: string;
18
+ power?: string;
19
+ customName?: string;
20
+ productName?: string;
21
+ nAcInputs?: string;
22
+ }
23
+ export interface InverterProvider extends InverterState {
24
+ updateMode: (mode: number) => void;
25
+ }
26
+ export declare function useInverter(instanceId: InverterInstanceId, source: string): InverterProvider;
@@ -0,0 +1,37 @@
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
+ import { useMqtt, useTopicsState, useTopicSubscriptions } from "../Mqtt";
13
+ import { useMemo } from "react";
14
+ export function useInverter(instanceId, source) {
15
+ var getTopics = function (portalId, source, deviceInstanceId) {
16
+ return {
17
+ state: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/State",
18
+ mode: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/Mode",
19
+ voltage: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/Ac/Out/L1/V",
20
+ current: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/Ac/Out/L1/I",
21
+ power: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/Ac/Out/L1/P",
22
+ customName: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/CustomName",
23
+ productName: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/ProductName",
24
+ nAcInputs: "N/" + portalId + "/" + source + "/" + deviceInstanceId + "/Ac/NumberOfAcInputs",
25
+ };
26
+ };
27
+ var mqtt = useMqtt();
28
+ var topics = useMemo(function () { return getTopics(mqtt.portalId, source, instanceId); }, [mqtt.portalId, source, instanceId]);
29
+ useTopicSubscriptions(topics);
30
+ var getWriteTopics = function (portalId, source, deviceInstanceId) { return ({
31
+ mode: "W/" + portalId + "/" + source + "/" + deviceInstanceId + "/Mode",
32
+ }); };
33
+ var writeTopics = useMemo(function () { return getWriteTopics(mqtt.portalId, source, instanceId); }, [mqtt.portalId, source, instanceId]);
34
+ var updateMode = function (mode) { return mqtt.publish(writeTopics.mode, mode); };
35
+ return __assign(__assign({}, useTopicsState(topics)), { updateMode: updateMode });
36
+ }
37
+ //# sourceMappingURL=Inverter.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Inverter.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Inverters/Inverter.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AA6B/B,MAAM,UAAU,WAAW,CAAC,UAA8B,EAAE,MAAc;IACxE,IAAM,SAAS,GAAG,UAAC,QAAkB,EAAE,MAAc,EAAE,gBAAoC;QACzF,OAAO;YACL,KAAK,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,WAAQ;YAC1D,IAAI,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,UAAO;YACxD,OAAO,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,iBAAc;YAClE,OAAO,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,iBAAc;YAClE,KAAK,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,iBAAc;YAChE,UAAU,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,gBAAa;YACpE,WAAW,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,iBAAc;YACtE,SAAS,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,yBAAsB;SAC7E,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAA5C,CAA4C,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/G,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,IAAM,cAAc,GAAG,UAAC,QAAkB,EAAE,MAAc,EAAE,gBAAoC,IAAK,OAAA,CAAC;QACpG,IAAI,EAAE,OAAK,QAAQ,SAAI,MAAM,SAAI,gBAAgB,UAAO;KACzD,CAAC,EAFmG,CAEnG,CAAA;IAEF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAjD,CAAiD,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAEzH,IAAM,UAAU,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAArC,CAAqC,CAAA;IAE1E,OAAO,sBAAK,cAAc,CAAgB,MAAM,CAAC,KAAE,UAAU,YAAA,GAAsB,CAAA;AACrF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Topics } from "../Mqtt";
2
+ import { InverterInstanceId } from "./Inverters.store";
3
+ export interface InvertersState {
4
+ inverters: InverterInstanceId[];
5
+ }
6
+ export interface InvertersTopics extends Topics {
7
+ inverters?: string;
8
+ }
9
+ export declare function useInverters(): InvertersState;
@@ -0,0 +1,26 @@
1
+ import { useMqtt, useTopicSubscriptions } from "../Mqtt";
2
+ import { useInvertersStore } from "./Inverters.store";
3
+ import { useEffect, useMemo } from "react";
4
+ export function useInverters() {
5
+ var invertersStore = useInvertersStore();
6
+ var getTopics = function (portalId) {
7
+ return {
8
+ inverters: "N/" + portalId + "/inverter/+/DeviceInstance",
9
+ };
10
+ };
11
+ var mqtt = useMqtt();
12
+ var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
13
+ useTopicSubscriptions(topics);
14
+ var inverters = invertersStore.inverters;
15
+ useEffect(function () {
16
+ var messages = mqtt.messagesByWildcard(topics.inverters);
17
+ if (messages && Object.entries(messages).length !== 0) {
18
+ var deviceInstances = Object.values(messages);
19
+ if (!inverters || !deviceInstances.every(function (di) { return inverters.includes(di); })) {
20
+ invertersStore.setInverters(deviceInstances);
21
+ }
22
+ }
23
+ }, [mqtt.messagesByWildcard(topics.inverters)]);
24
+ return invertersStore;
25
+ }
26
+ //# sourceMappingURL=Inverters.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Inverters.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Inverters/Inverters.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,EAAsB,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAU1C,MAAM,UAAU,YAAY;IAC1B,IAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAE1C,IAAM,SAAS,GAAG,UAAC,QAAkB;QACnC,OAAO;YACL,SAAS,EAAE,OAAK,QAAQ,+BAA4B;SACrD,CAAA;IACH,CAAC,CAAA;IAED,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,IAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;IAE1C,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC1D,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrD,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAyB,CAAA;YACvE,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAtB,CAAsB,CAAC,EAAE;gBACxE,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;aAC7C;SACF;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare type InverterInstanceId = number | null | undefined;
2
+ export declare class InvertersStore {
3
+ inverters: InverterInstanceId[];
4
+ constructor();
5
+ setInverters: (inverters: InverterInstanceId[]) => InverterInstanceId[];
6
+ }
7
+ export declare function useInvertersStore(): InvertersStore;
@@ -0,0 +1,37 @@
1
+ import { makeAutoObservable } from "mobx";
2
+ import { useMemo } from "react";
3
+ var store;
4
+ var InvertersStore = /** @class */ (function () {
5
+ function InvertersStore() {
6
+ var _this = this;
7
+ Object.defineProperty(this, "inverters", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: []
12
+ });
13
+ Object.defineProperty(this, "setInverters", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: function (inverters) { return _this.inverters = inverters; }
18
+ });
19
+ makeAutoObservable(this);
20
+ }
21
+ return InvertersStore;
22
+ }());
23
+ export { InvertersStore };
24
+ function initializeStore() {
25
+ var _store = store !== null && store !== void 0 ? store : new InvertersStore();
26
+ // For SSG and SSR always create a new store
27
+ if (typeof window === "undefined")
28
+ return _store;
29
+ // Create the store once in the client
30
+ if (!store)
31
+ store = _store;
32
+ return _store;
33
+ }
34
+ export function useInvertersStore() {
35
+ return useMemo(function () { return initializeStore(); }, []);
36
+ }
37
+ //# sourceMappingURL=Inverters.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Inverters.store.js","sourceRoot":"","sources":["../../../../src/Modules/Inverters/Inverters.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,IAAI,KAAqB,CAAA;AAIzB;IAGE;QAAA,iBAEC;QAJD;;;;mBAAkC,EAAE;WAAA;QAMpC;;;;mBAAe,UAAC,SAA+B,IAAK,OAAA,KAAI,CAAC,SAAS,GAAG,SAAS,EAA1B,CAA0B;WAAA;QAH5E,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC1B,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"}
@@ -0,0 +1,3 @@
1
+ export * from "./Inverter.provider";
2
+ export * from "./Inverters.provider";
3
+ export * from "./Inverters.store";
@@ -0,0 +1,4 @@
1
+ export * from "./Inverter.provider";
2
+ export * from "./Inverters.provider";
3
+ export * from "./Inverters.store";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/Inverters/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,9 @@
1
+ interface LanguageOptions {
2
+ supportedLanguages: Array<string>;
3
+ localStorageKey: string;
4
+ defaultLanguage: string;
5
+ onLangChange: Function;
6
+ }
7
+ export declare const getUsedLanguage: ({ localStorageKey, supportedLanguages, defaultLanguage }: LanguageOptions) => Promise<string>;
8
+ export declare function useLanguage(options: LanguageOptions): string | undefined;
9
+ export {};
@@ -0,0 +1,86 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useEffect, useMemo } from "react";
38
+ import { useAppStore } from "../App";
39
+ import { useMqtt, useTopicState, useTopicSubscriptions } from "../Mqtt";
40
+ import { runInAction } from "mobx";
41
+ import { Storage } from "../../utils/storage";
42
+ export var getUsedLanguage = function (_a) {
43
+ var localStorageKey = _a.localStorageKey, supportedLanguages = _a.supportedLanguages, defaultLanguage = _a.defaultLanguage;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ var localLanguage;
46
+ return __generator(this, function (_b) {
47
+ switch (_b.label) {
48
+ case 0: return [4 /*yield*/, Storage.getItem(localStorageKey)];
49
+ case 1:
50
+ localLanguage = _b.sent();
51
+ if (localLanguage && supportedLanguages.includes(localLanguage)) {
52
+ return [2 /*return*/, localLanguage];
53
+ }
54
+ return [2 /*return*/, defaultLanguage];
55
+ }
56
+ });
57
+ });
58
+ };
59
+ export function useLanguage(options) {
60
+ var supportedLanguages = options.supportedLanguages, localStorageKey = options.localStorageKey, onLangChange = options.onLangChange;
61
+ var appStore = useAppStore();
62
+ var getTopics = function (portalId) { return ({
63
+ lang: "N/" + portalId + "/settings/0/Settings/Gui/Language",
64
+ }); };
65
+ var portalId = useMqtt().portalId;
66
+ var topics = useMemo(function () { return getTopics(portalId); }, [portalId]);
67
+ useTopicSubscriptions(topics);
68
+ var languageFromMqtt = useTopicState(topics.lang);
69
+ useEffect(function () {
70
+ getUsedLanguage(options).then(function (usedLanguage) {
71
+ if (appStore.language === undefined && languageFromMqtt === undefined) {
72
+ runInAction(function () { return appStore.setLanguage(usedLanguage); });
73
+ onLangChange(usedLanguage);
74
+ }
75
+ });
76
+ }, []);
77
+ useEffect(function () {
78
+ if (languageFromMqtt && supportedLanguages.includes(languageFromMqtt)) {
79
+ Storage.setItem(localStorageKey, languageFromMqtt);
80
+ onLangChange(languageFromMqtt);
81
+ appStore.setLanguage(languageFromMqtt);
82
+ }
83
+ }, [languageFromMqtt]);
84
+ return appStore.language;
85
+ }
86
+ //# sourceMappingURL=Language.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Language.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Language/Language.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAY,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAS7C,MAAM,CAAC,IAAM,eAAe,GAAG,UAAO,EAAyE;QAAvE,eAAe,qBAAA,EAAE,kBAAkB,wBAAA,EAAE,eAAe,qBAAA;;;;;wBACrD,qBAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAA;;oBAArE,aAAa,GAAkB,SAAsC;oBAC3E,IAAI,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;wBAC/D,sBAAO,aAAa,EAAA;qBACrB;oBACD,sBAAO,eAAe,EAAA;;;;CACvB,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,OAAwB;IAC1C,IAAA,kBAAkB,GAAoC,OAAO,mBAA3C,EAAE,eAAe,GAAmB,OAAO,gBAA1B,EAAE,YAAY,GAAK,OAAO,aAAZ,CAAY;IACrE,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,IAAI,EAAE,OAAK,QAAQ,sCAAmC;KACvD,CAAC,EAFwC,CAExC,CAAA;IAEM,IAAA,QAAQ,GAAK,OAAO,EAAE,SAAd,CAAc;IAC9B,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,QAAQ,CAAC,EAAnB,CAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7D,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE7B,IAAM,gBAAgB,GAAuB,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEvE,SAAS,CAAC;QACR,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAA,YAAY;YACxC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE;gBACrE,WAAW,CAAC,cAAM,OAAA,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,EAAlC,CAAkC,CAAC,CAAA;gBACrD,YAAY,CAAC,YAAY,CAAC,CAAA;aAC3B;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC;QACR,IAAI,gBAAgB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACrE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;YAElD,YAAY,CAAC,gBAAgB,CAAC,CAAA;YAC9B,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;SACvC;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtB,OAAO,QAAQ,CAAC,QAAQ,CAAA;AAC1B,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./Language.provider";
@@ -0,0 +1,2 @@
1
+ export * from "./Language.provider";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Modules/Language/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const STATUS: {
2
+ CONNECTING: string;
3
+ CONNECTED: string;
4
+ DISCONNECTED: string;
5
+ OFFLINE: string;
6
+ };
@@ -0,0 +1,7 @@
1
+ export var STATUS = {
2
+ CONNECTING: "connecting",
3
+ CONNECTED: "connected",
4
+ DISCONNECTED: "disconnected",
5
+ OFFLINE: "offline",
6
+ };
7
+ //# sourceMappingURL=Mqtt.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mqtt.constants.js","sourceRoot":"","sources":["../../../../src/Modules/Mqtt/Mqtt.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,MAAM,GAAG;IACpB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;CACnB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { MqttMessage, Topics } from "./Mqtt.types";
2
+ export declare const useTopicSubscriptions: (topics: Topics) => void;
3
+ export declare const useTopicState: <TMessage = MqttMessage>(topic?: string | undefined) => TMessage | undefined;
4
+ export declare const useTopicsState: <TMessages = any>(topics: Topics) => TMessages;
@@ -0,0 +1,18 @@
1
+ import { useMqtt } from "./Mqtt.store";
2
+ import { useEffect } from "react";
3
+ export var useTopicSubscriptions = function (topics) {
4
+ var mqtt = useMqtt();
5
+ useEffect(function () {
6
+ mqtt.subscribeToTopics(topics);
7
+ return function () { return mqtt.unsubscribeFromTopics(topics); };
8
+ }, [topics]);
9
+ };
10
+ export var useTopicState = function (topic) {
11
+ var mqtt = useMqtt();
12
+ return mqtt.messageFromTopic(topic);
13
+ };
14
+ export var useTopicsState = function (topics) {
15
+ var mqtt = useMqtt();
16
+ return mqtt.messagesByTopics(topics);
17
+ };
18
+ //# sourceMappingURL=Mqtt.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mqtt.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Mqtt/Mqtt.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,MAAc;IAClD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,SAAS,CAAC;QACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC9B,OAAO,cAAM,OAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAlC,CAAkC,CAAA;IACjD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,UAAyB,KAAc;IAClE,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAwB,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,cAAc,GAAG,UAAkB,MAAc;IAC5D,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAyB,CAAA;AAC9D,CAAC,CAAA"}
@@ -0,0 +1,43 @@
1
+ /// <reference types="lodash" />
2
+ import * as mqtt from "mqtt";
3
+ import { MqttClient } from "mqtt";
4
+ import { MqttMessage, MqttMessages, PortalId, Topics } from "../Mqtt";
5
+ export declare class MqttStore {
6
+ client?: MqttClient | null;
7
+ error?: object | null | boolean;
8
+ firstKeepalive?: boolean;
9
+ status: string;
10
+ messages: MqttMessages;
11
+ messageQueue: MqttMessages;
12
+ topicsSubscribed: Set<string>;
13
+ portalId: PortalId;
14
+ keepAliveHandlerRef: any;
15
+ queueWorker: any;
16
+ messageFromTopic: (topic?: string | undefined) => MqttMessage;
17
+ messagesByTopics: (topics?: Topics | undefined) => {
18
+ [key: string]: MqttMessage | MqttMessage[];
19
+ };
20
+ constructor();
21
+ get isConnected(): boolean;
22
+ subscribeToTopic: (topic?: string | undefined) => void;
23
+ unsubscribeFromTopic: (topic?: string | undefined) => void;
24
+ subscribeToTopics: (topics: Topics) => void;
25
+ unsubscribeFromTopics: (topics: Topics) => void;
26
+ addMessage: (topic: string, message: {
27
+ value: string | null;
28
+ }) => Promise<void>;
29
+ addMessagesFromQueue: () => Promise<void>;
30
+ setupQueueWorker: () => void;
31
+ removeQueueWorker: () => void;
32
+ setPortalId: (portalId: string) => void;
33
+ boot: (host: string | undefined, port: number | null, remote?: boolean, portalId?: string | undefined) => void;
34
+ get subscribedTopicsWithoutIdentifier(): string[];
35
+ sendKeepalive: import("lodash").DebouncedFunc<(isInitial?: boolean) => void>;
36
+ setupKeepalive: () => void;
37
+ publish: (topic: string, data: string | number, options?: mqtt.IClientPublishOptions | undefined) => void;
38
+ messagesByWildcard: (wildcard?: string | undefined) => any;
39
+ setStatus(status: string): void;
40
+ setError(error: object | null | boolean): void;
41
+ setFirstKeepalive(f: boolean): void;
42
+ }
43
+ export declare function useMqtt(): MqttStore;