@victronenergy/mfd-modules 6.0.0 → 6.0.2

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.
@@ -1,3 +1,4 @@
1
+ import Logger from "../../utils/logger";
1
2
  import { useEffect, useMemo } from "react";
2
3
  import { useMqtt } from "../Mqtt";
3
4
  import { useAlternatorsStore } from "./Alternators.store";
@@ -8,16 +9,22 @@ export var useAlternators = function () {
8
9
  alternatorInstances: "N/".concat(portalId, "/alternator/+/DeviceInstance"),
9
10
  }); };
10
11
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
12
+ var messages = mqtt.messagesByWildcard(topics.alternatorInstances);
11
13
  useEffect(function () {
12
- var messages = mqtt.messagesByWildcard(topics.alternatorInstances);
13
- if (messages && Object.entries(messages).length !== 0) {
14
+ if (!messages || Object.entries(messages).length === 0) {
15
+ // Logger.log("Waiting for alternators...");
16
+ }
17
+ else {
14
18
  var alternators_1 = alternatorsStore.alternators;
15
19
  var deviceInstances = Object.values(messages).sort();
16
- if (!alternators_1 || !deviceInstances.every(function (id) { return alternators_1.includes(id); })) {
20
+ // TODO: check unordered structural identify of old and new state
21
+ // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
22
+ if (!alternators_1 || alternators_1.length != deviceInstances.length || !deviceInstances.every(function (id) { return alternators_1.includes(id); })) {
23
+ Logger.log("New alternators instances: ".concat(JSON.stringify(deviceInstances)));
17
24
  alternatorsStore.setAlternators(deviceInstances);
18
25
  }
19
26
  }
20
- }, [mqtt.messagesByWildcard(topics.alternatorInstances)]);
27
+ }, [messages]);
21
28
  return alternatorsStore;
22
29
  };
23
30
  //# sourceMappingURL=Alternators.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alternators.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Alternators/Alternators.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAgB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;IAC9C,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,mBAAmB,EAAE,YAAK,QAAQ,iCAA8B;KACjE,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,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAEpE,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAM,aAAW,GAAG,gBAAgB,CAAC,WAAW,CAAA;YAChD,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAoB,CAAA;YAExE,IAAI,CAAC,aAAW,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,aAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,EAAE,CAAC;gBAC7E,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAEzD,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA"}
1
+ {"version":3,"file":"Alternators.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Alternators/Alternators.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,EAAgB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;IAC9C,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,mBAAmB,EAAE,YAAK,QAAQ,iCAA8B;KACjE,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,mBAAmB,CAAC,CAAA;IAEpE,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,4CAA4C;QAC9C,CAAC;aAAM,CAAC;YACN,IAAM,aAAW,GAAG,gBAAgB,CAAC,WAAW,CAAA;YAChD,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAoB,CAAA;YACxE,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,aAAW,IAAI,aAAW,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,aAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,EAAE,CAAC;gBAC7H,MAAM,CAAC,GAAG,CAAC,qCAA8B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAE,CAAC,CAAC;gBAC5E,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
+ import Logger from "../../utils/logger";
1
2
  import { useEffect, useMemo } from "react";
2
3
  import { useMqtt } from "../Mqtt";
3
- import Logger from "../../utils/logger";
4
4
  import { useBatteriesStore } from "./Batteries.store";
5
5
  export var useBatteries = function () {
6
6
  var batteriesStore = useBatteriesStore();
@@ -9,19 +9,22 @@ export var useBatteries = function () {
9
9
  batteryInstances: "N/".concat(portalId, "/battery/+/DeviceInstance"),
10
10
  }); };
11
11
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
12
+ var messages = mqtt.messagesByWildcard(topics.batteryInstances);
12
13
  useEffect(function () {
13
- var messages = mqtt.messagesByWildcard(topics.batteryInstances);
14
14
  if (!messages || Object.entries(messages).length === 0) {
15
- Logger.log("Waiting for batteries...");
15
+ // Logger.log("Waiting for batteries...")
16
16
  }
17
17
  else {
18
18
  var batteries_1 = batteriesStore.batteries;
19
19
  var deviceInstances = Object.values(messages).sort();
20
- if (!batteries_1 || !deviceInstances.every(function (id) { return batteries_1.includes(id); })) {
20
+ // TODO: check unordered structural identify of old and new state
21
+ // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
22
+ if (!batteries_1 || batteries_1.length != deviceInstances.length || !deviceInstances.every(function (id) { return batteries_1.includes(id); })) {
23
+ Logger.log("New batteries instances: ".concat(JSON.stringify(deviceInstances)));
21
24
  batteriesStore.setBatteries(deviceInstances);
22
25
  }
23
26
  }
24
- }, [mqtt.messagesByWildcard(topics.batteryInstances)]);
27
+ }, [messages]);
25
28
  return batteriesStore;
26
29
  };
27
30
  //# sourceMappingURL=Batteries.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Batteries.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Battery/Batteries.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,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,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACjE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QACxC,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,IAAI,CAAC,WAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,WAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAtB,CAAsB,CAAC,EAAE,CAAC;gBACzE,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAEtD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA"}
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"}
@@ -1,4 +1 @@
1
- import { ChargerInstanceId } from "./Chargers.store";
2
- export declare const useChargers: () => {
3
- chargers: ChargerInstanceId[];
4
- };
1
+ export declare const useChargers: () => import("./Chargers.store").ChargersStore;
@@ -1,3 +1,4 @@
1
+ import Logger from "../../utils/logger";
1
2
  import { useEffect, useMemo } from "react";
2
3
  import { useMqtt } from "../Mqtt";
3
4
  import { useChargersStore } from "./Chargers.store";
@@ -9,15 +10,22 @@ export var useChargers = function () {
9
10
  }); };
10
11
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
11
12
  var chargers = chargersStore.chargers;
13
+ var messages = mqtt.messagesByWildcard(topics.chargerInstances);
12
14
  useEffect(function () {
13
- var messages = mqtt.messagesByWildcard(topics.chargerInstances);
14
- if (messages && Object.entries(messages).length !== 0) {
15
+ if (!messages || Object.entries(messages).length === 0) {
16
+ // Logger.log("Waiting for chargers...")
17
+ }
18
+ else {
19
+ var chargers_1 = chargersStore.chargers;
15
20
  var deviceInstances = Object.values(messages);
16
- if (!chargers || !deviceInstances.every(function (di) { return chargers.includes(di); })) {
21
+ // TODO: check unordered structural identify of old and new state
22
+ // 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)));
17
25
  chargersStore.setChargers(deviceInstances);
18
26
  }
19
27
  }
20
- }, [mqtt.messagesByWildcard(topics.chargerInstances)]);
21
- return { chargers: chargers };
28
+ }, [messages]);
29
+ return chargersStore;
22
30
  };
23
31
  //# 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,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,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACjE,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAwB,CAAA;YACtE,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAArB,CAAqB,CAAC,EAAE,CAAC;gBACvE,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAEtD,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAA;AACrB,CAAC,CAAA"}
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"}
@@ -1,3 +1,4 @@
1
+ import Logger from "../../utils/logger";
1
2
  import { useMqtt } from "../Mqtt";
2
3
  import { useInvertersStore } from "./Inverters.store";
3
4
  import { useEffect, useMemo } from "react";
@@ -5,21 +6,28 @@ export function useInverters() {
5
6
  var invertersStore = useInvertersStore();
6
7
  var getTopics = function (portalId) {
7
8
  return {
8
- inverters: "N/".concat(portalId, "/inverter/+/DeviceInstance"),
9
+ inverters: "N/".concat(portalId, "/inverter/+/DeviceInstance")
9
10
  };
10
11
  };
11
12
  var mqtt = useMqtt();
12
13
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
13
14
  var inverters = invertersStore.inverters;
15
+ var messages = mqtt.messagesByWildcard(topics.inverters);
14
16
  useEffect(function () {
15
- var messages = mqtt.messagesByWildcard(topics.inverters);
16
- if (messages && Object.entries(messages).length !== 0) {
17
+ if (!messages || Object.entries(messages).length === 0) {
18
+ // Logger.log("Waiting for alternators...");
19
+ }
20
+ else {
21
+ var inverters_1 = invertersStore.inverters;
17
22
  var deviceInstances = Object.values(messages);
18
- if (!inverters || !deviceInstances.every(function (di) { return inverters.includes(di); })) {
23
+ // TODO: check unordered structural identify of old and new state
24
+ // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
25
+ if (!inverters_1 || inverters_1.length != deviceInstances.length || !deviceInstances.every(function (id) { return inverters_1.includes(id); })) {
26
+ Logger.log("New inverters instances: ".concat(JSON.stringify(deviceInstances)));
19
27
  invertersStore.setInverters(deviceInstances);
20
28
  }
21
29
  }
22
- }, [mqtt.messagesByWildcard(topics.inverters)]);
30
+ }, [messages]);
23
31
  return invertersStore;
24
32
  }
25
33
  //# sourceMappingURL=Inverters.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Inverters.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Inverters/Inverters.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,MAAM,SAAS,CAAA;AACnD,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,YAAK,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,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,CAAC;YACtD,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,CAAC;gBACzE,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,cAAc,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"Inverters.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Inverters/Inverters.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAoB,OAAO,EAAE,MAAM,SAAS,CAAA;AACnD,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,YAAK,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,IAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;IAE1C,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,4CAA4C;QAC9C,CAAC;aAAM,CAAC;YACN,IAAM,WAAS,GAAG,cAAc,CAAC,SAAS,CAAA;YAC1C,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAyB,CAAA;YACvE,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"}
@@ -1,4 +1 @@
1
- import { TankState } from "./Tank.provider";
2
- export declare const useTanks: () => {
3
- tanks: TankState[];
4
- };
1
+ export declare const useTanks: () => import("./Tanks.store").TanksStore;
@@ -13,15 +13,21 @@ export var useTanks = function () {
13
13
  var messages = mqtt.messagesByWildcard(topics.tanks);
14
14
  useEffect(function () {
15
15
  if (!messages || Object.entries(messages).length === 0) {
16
- Logger.log("Waiting for tanks...");
16
+ // Logger.log("Waiting for tanks...")
17
17
  }
18
18
  else {
19
+ var oldTanks_1 = tanksStore.tanks;
19
20
  var deviceInstances = Object.values(messages);
20
- var tanks_1 = deviceInstances.map(function (tankInstanceId) { return mqtt.messagesByTopics(getTankStateTopics(mqtt.portalId, tankInstanceId)); });
21
- tanksStore.setTanks(tanks_1);
21
+ var newTanks = deviceInstances.map(function (tankInstanceId) { return mqtt.messagesByTopics(getTankStateTopics(mqtt.portalId, tankInstanceId)); });
22
+ // TODO: check unordered structural identify of old and new state
23
+ // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
24
+ if (!oldTanks_1 || oldTanks_1.length != newTanks.length || !newTanks.every(function (id) { return oldTanks_1.includes(id); })) {
25
+ Logger.log("New tanks instances: ".concat(JSON.stringify(deviceInstances)));
26
+ tanksStore.setTanks(newTanks);
27
+ }
22
28
  }
23
29
  }, [messages]);
24
30
  var tanks = tanksStore.tanks;
25
- return { tanks: tanks };
31
+ return tanksStore;
26
32
  };
27
33
  //# sourceMappingURL=Tanks.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tanks.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Tanks/Tanks.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAA6B,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAG1C,MAAM,CAAC,IAAM,QAAQ,GAAG;IACtB,IAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAElC,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,KAAK,EAAE,YAAK,QAAQ,2BAAwB;KAC7C,CAAC,EAFwC,CAExC,CAAA;IAEF,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,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEtD,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAqB,CAAA;YACnE,IAAM,OAAK,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,cAAc,IAAK,OAAA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAxE,CAAwE,CAA2B,CAAA;YACzJ,UAAU,CAAC,QAAQ,CAAC,OAAK,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,IAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;IAE9B,OAAO,EAAE,KAAK,OAAA,EAAE,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"Tanks.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Tanks/Tanks.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAA6B,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAG1C,MAAM,CAAC,IAAM,QAAQ,GAAG;IACtB,IAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAElC,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,KAAK,EAAE,YAAK,QAAQ,2BAAwB;KAC7C,CAAC,EAFwC,CAExC,CAAA;IAEF,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,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEtD,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,qCAAqC;QACvC,CAAC;aAAM,CAAC;YACN,IAAM,UAAQ,GAAG,UAAU,CAAC,KAAK,CAAA;YACjC,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAqB,CAAA;YACnE,IAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,cAAc,IAAK,OAAA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAxE,CAAwE,CAA2B,CAAA;YAC5J,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,UAAQ,IAAI,UAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,UAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAArB,CAAqB,CAAC,EAAE,CAAC;gBACtG,MAAM,CAAC,GAAG,CAAC,+BAAwB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAE,CAAC,CAAC;gBACtE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,IAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;IAE9B,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
@@ -1,3 +1 @@
1
- export declare function useTemperatures(): {
2
- temperatures: number[];
3
- };
1
+ export declare function useTemperatures(): import("./Temperatures.store").TemperaturesStore;
@@ -10,16 +10,22 @@ export function useTemperatures() {
10
10
  }); };
11
11
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
12
12
  var temperatures = temperaturesStore.temperatures;
13
+ var messages = mqtt.messagesByWildcard(topics.temperatureInstances);
13
14
  useEffect(function () {
14
- var messages = mqtt.messagesByWildcard(topics.temperatureInstances);
15
15
  if (!messages || Object.entries(messages).length === 0) {
16
- Logger.log("Waiting for temperatures...");
16
+ // Logger.log("Waiting for temperatures...");
17
17
  }
18
18
  else {
19
+ var temperatures_1 = temperaturesStore.temperatures;
19
20
  var deviceInstances = Object.values(messages);
20
- temperaturesStore.setTemperatures(deviceInstances);
21
+ // TODO: check unordered structural identify of old and new state
22
+ // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
23
+ if (!temperatures_1 || temperatures_1.length != deviceInstances.length || !deviceInstances.every(function (id) { return temperatures_1.includes(id); })) {
24
+ Logger.log("New temperatures instances: ".concat(JSON.stringify(deviceInstances)));
25
+ temperaturesStore.setTemperatures(deviceInstances);
26
+ }
21
27
  }
22
- }, [mqtt.messagesByWildcard(topics.temperatureInstances)]);
23
- return { temperatures: temperatures };
28
+ }, [messages]);
29
+ return temperaturesStore;
24
30
  }
25
31
  //# sourceMappingURL=Temperatures.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Temperatures.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Temperatures/Temperatures.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,UAAU,eAAe;IAC7B,IAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,oBAAoB,EAAE,YAAK,QAAQ,kCAA+B;KACnE,CAAC,EAFwC,CAExC,CAAC;IAEH,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExE,IAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;IAEpD,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CACnC,QAAQ,CACkB,CAAC;YAC7B,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAE3D,OAAO,EAAE,YAAY,cAAA,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"Temperatures.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Temperatures/Temperatures.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,UAAU,eAAe;IAC7B,IAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,oBAAoB,EAAE,YAAK,QAAQ,kCAA+B;KACnE,CAAC,EAFwC,CAExC,CAAC;IAEH,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExE,IAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;IAEpD,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEtE,SAAS,CAAC;QACR,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,6CAA6C;QAC/C,CAAC;aAAM,CAAC;YACN,IAAM,cAAY,GAAG,iBAAiB,CAAC,YAAY,CAAA;YACnD,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAA4B,CAAC;YAC3E,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,cAAY,IAAI,cAAY,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,cAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAzB,CAAyB,CAAC,EAAE,CAAC;gBAChI,MAAM,CAAC,GAAG,CAAC,sCAA+B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAE,CAAC,CAAC;gBAC7E,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}
@@ -22,7 +22,7 @@ export var useVebus = function () {
22
22
  }, {});
23
23
  var oldInvertersPaths = toJS(vebusStore.possibleInvertersPaths);
24
24
  if (!isEqual(possibleInvertersPaths, oldInvertersPaths)) {
25
- Logger.warn("Saving vebus inverters paths");
25
+ Logger.log("Saving vebus inverters paths");
26
26
  runInAction(function () {
27
27
  return vebusStore.setPossibleInvertersPaths(possibleInvertersPaths);
28
28
  });
@@ -31,7 +31,7 @@ export var useVebus = function () {
31
31
  var subsMessages = useTopicsState(vebusStore.possibleInvertersPaths);
32
32
  // set vebus instanceId (system with multiple inputs)
33
33
  useEffect(function () {
34
- Logger.warn("Setting vebus device instance");
34
+ // Logger.log("Setting vebus device instance");
35
35
  // Sometimes "ghost" instances of devices linger in MQTT, so we need to select the highest (i.e. latest) instance ID
36
36
  var multiInstances = Object.entries(subsMessages)
37
37
  // Take only "Multi" devices -> must have more than one AcInput
@@ -49,7 +49,7 @@ export var useVebus = function () {
49
49
  }, [subsMessages]);
50
50
  // set vebus inverters
51
51
  useEffect(function () {
52
- Logger.warn("Setting vebus device inverters");
52
+ // Logger.log("Setting vebus device inverters");
53
53
  var vebusInverters = Object.entries(subsMessages)
54
54
  .filter(function (_a) {
55
55
  var _ = _a[0], nAcInputs = _a[1];
@@ -1 +1 @@
1
- {"version":3,"file":"Vebus.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Vebus/Vebus.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAEL,OAAO,EACP,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,aAAa,GAEd,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,IAAM,QAAQ,GAAG;IACtB,IAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE/B,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,eAAe,EAAE,YAAK,QAAQ,4BAAyB;KACxD,CAAC,EAFwC,CAExC,CAAC;IAEH,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,QAAQ,CAAC,EAAnB,CAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAEjE,6DAA6D;IAC7D,IAAI,CACF,cAAM,OAAA,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAnC,CAAmC,EACzC;QACE,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,CACnD,UAAC,GAA8B,EAAE,EAAE;YACjC,GAAG,CAAC,EAAY,CAAC,GAAG,YAAK,QAAQ,oBAAU,EAAE,yBAAsB,CAAC;YACpE,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;QAEF,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAElE,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC5C,WAAW,CAAC;gBACV,OAAA,UAAU,CAAC,yBAAyB,CAAC,sBAAsB,CAAC;YAA5D,CAA4D,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,IAAM,YAAY,GAAG,cAAc,CACjC,UAAU,CAAC,sBAAsB,CAClC,CAAC;IAEF,qDAAqD;IACrD,SAAS,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,oHAAoH;QACpH,IAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YACjD,+DAA+D;aAC9D,MAAM,CAAC,UAAC,EAAc;gBAAb,CAAC,QAAA,EAAE,SAAS,QAAA;YAAM,OAAA,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAAtC,CAAsC,CAAC;aAClE,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC;aACxC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC,CAAC;QAEzB,IAAM,aAAa,GACjB,cAAc,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAI,aAAa,IAAI,aAAa,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,kCAA2B,aAAa,CAAE,CAAC,CAAC;YACvD,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,sBAAsB;IACtB,SAAS,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE9C,IAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aAChD,MAAM,CAAC,UAAC,EAAc;gBAAb,CAAC,QAAA,EAAE,SAAS,QAAA;YAAM,OAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAAzB,CAAyB,CAAC;aACrD,GAAG,CAAC,UAAC,EAAU;gBAAT,QAAQ,QAAA;YAAM,OAAA,QAAQ,CAAC,QAAQ,CAAC;QAAlB,CAAkB,CAAC,CAAC;QAE3C,IAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CACR,uCAAgC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAE,CACjE,CAAC;YACF,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"Vebus.provider.js","sourceRoot":"","sources":["../../../../src/Modules/Vebus/Vebus.provider.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import Logger from "../../utils/logger";
1
2
  import { useEffect, useMemo } from "react";
2
3
  import { useMqtt } from "../Mqtt";
3
4
  import { useWindGeneratorsStore } from "./WindGenerators.store";
@@ -9,8 +10,8 @@ export var useWindGenerators = function () {
9
10
  dcSourceMonitorModes: "N/".concat(portalId, "/dcsource/+/Settings/MonitorMode"),
10
11
  }); };
11
12
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
13
+ var messages = mqtt.messagesByWildcard(topics.dcSourceMonitorModes);
12
14
  useEffect(function () {
13
- var messages = mqtt.messagesByWildcard(topics.dcSourceMonitorModes);
14
15
  if (messages && Object.entries(messages).length !== 0) {
15
16
  var windGenerators_1 = windGeneratorsStore.windGenerators;
16
17
  var deviceInstances_1 = [];
@@ -23,11 +24,14 @@ export var useWindGenerators = function () {
23
24
  deviceInstances_1.push(+instance);
24
25
  }
25
26
  });
26
- if (!windGenerators_1 || !deviceInstances_1.every(function (id) { return windGenerators_1.includes(id); })) {
27
+ // TODO: check unordered structural identify of old and new state
28
+ // TODO: to avoid unnecessary re-rendering: O(n^2 baby)
29
+ if (!windGenerators_1 || windGenerators_1.length != deviceInstances_1.length || !deviceInstances_1.every(function (id) { return windGenerators_1.includes(id); })) {
30
+ Logger.log("New wind generators instances: ".concat(JSON.stringify(deviceInstances_1)));
27
31
  windGeneratorsStore.setWindGenerators(deviceInstances_1);
28
32
  }
29
33
  }
30
- }, [mqtt.messagesByWildcard(topics.dcSourceMonitorModes)]);
34
+ }, [messages]);
31
35
  return windGeneratorsStore;
32
36
  };
33
37
  //# sourceMappingURL=WindGenerators.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindGenerators.provider.js","sourceRoot":"","sources":["../../../../src/Modules/WindGenerators/WindGenerators.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAmB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IACpD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,oBAAoB,EAAE,YAAK,QAAQ,qCAAkC;KACtE,CAAC,EAFwC,CAExC,CAAA;IAEF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAErE,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAM,gBAAc,GAAG,mBAAmB,CAAC,cAAc,CAAA;YACzD,IAAM,iBAAe,GAAsB,EAAE,CAAA;YAE7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;;gBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,cAAc,EAAE,CAAC;oBAC7D,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACvE,IAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,CAAA;oBACnD,IAAI,QAAQ,KAAK,EAAE;wBAAE,iBAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACtD,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,gBAAc,IAAI,CAAC,iBAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,gBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA3B,CAA2B,CAAC,EAAE,CAAC;gBACnF,mBAAmB,CAAC,iBAAiB,CAAC,iBAAe,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAE1D,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"WindGenerators.provider.js","sourceRoot":"","sources":["../../../../src/Modules/WindGenerators/WindGenerators.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAmB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IACpD,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,oBAAoB,EAAE,YAAK,QAAQ,qCAAkC;KACtE,CAAC,EAFwC,CAExC,CAAA;IAEF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAErE,SAAS,CAAC;QACR,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAM,gBAAc,GAAG,mBAAmB,CAAC,cAAc,CAAA;YACzD,IAAM,iBAAe,GAAsB,EAAE,CAAA;YAE7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;;gBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,cAAc,EAAE,CAAC;oBAC7D,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACvE,IAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,CAAA;oBACnD,IAAI,QAAQ,KAAK,EAAE;wBAAE,iBAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACtD,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,gBAAc,IAAI,gBAAc,CAAC,MAAM,IAAI,iBAAe,CAAC,MAAM,IAAI,CAAC,iBAAe,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,gBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA3B,CAA2B,CAAC,EAAE,CAAC;gBACtI,MAAM,CAAC,GAAG,CAAC,yCAAkC,IAAI,CAAC,SAAS,CAAC,iBAAe,CAAC,CAAE,CAAC,CAAC;gBAChF,mBAAmB,CAAC,iBAAiB,CAAC,iBAAe,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@victronenergy/mfd-modules",
3
- "version": "6.0.0",
3
+ "version": "6.0.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",