@victronenergy/mfd-modules 3.3.12 → 3.4.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.
package/README.md CHANGED
@@ -29,4 +29,12 @@ Required Node Version 18 LTS
29
29
  2. Link React: `npm link react` (Prevents difference in React versions between the two projects)
30
30
  3. Build the modules after every change
31
31
  4. Run `npm unlink ../victron-mfd-modules` when you're done
32
- 5. Add back the version to npm: `npm add @victronenergy/mfd-modules`
32
+ 5. Add back the version to npm: `npm add @victronenergy/mfd-modules`
33
+
34
+
35
+ ### Alternative local development with `Yalc`
36
+ 1. __Install globally on your machine__: `npm i yalc -g`
37
+ 2. __In project__, Before developing: `yalc add @victronenergy/mfd-modules`
38
+ 3. __In module__, Before developing: `yalc publish`
39
+ 4. __In module__, after every change: `npm run build` than `yalc push`
40
+ 5. __In project__, Finished with developing: `yalc remove @victronenergy/mfd-modules`
@@ -7,10 +7,14 @@ export var useApp = function () {
7
7
  var getTopics = function (portalId) { return ({
8
8
  locked: "N/" + portalId + "/settings/0/Settings/VenusApp/LockState",
9
9
  firmwareVersion: "N/" + portalId + "/system/0/FirmwareVersion",
10
+ units: {
11
+ temperature: "N/" + portalId + "/settings/0/Settings/System/Units/Temperature",
12
+ }
10
13
  }); };
11
14
  var topics = useMemo(function () { return getTopics(mqtt.portalId); }, [mqtt.portalId]);
12
15
  var locked = useTopicState(topics.locked);
13
16
  var firmwareVersion = useTopicState(topics.firmwareVersion);
17
+ var temperature = useTopicState(topics.units.temperature);
14
18
  useEffect(function () {
15
19
  if (locked !== undefined) {
16
20
  appStore.setLockedWithoutPersistence(!!locked);
@@ -20,6 +24,9 @@ export var useApp = function () {
20
24
  useEffect(function () {
21
25
  firmwareVersion && appStore.setFirmwareVersion(firmwareVersion);
22
26
  }, [firmwareVersion]);
27
+ useEffect(function () {
28
+ temperature && appStore.setUnit("temperature", temperature);
29
+ }, [temperature]);
23
30
  return appStore;
24
31
  };
25
32
  //# sourceMappingURL=App.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.provider.js","sourceRoot":"","sources":["../../../../src/Modules/App/App.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,OAAO,CAAA;AACxC,OAAO,EAAW,OAAO,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,IAAM,MAAM,GAAG;IAClB,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACvC,MAAM,EAAE,OAAK,QAAQ,4CAAyC;QAC9D,eAAe,EAAE,OAAK,QAAQ,8BAA2B;KAC5D,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,MAAM,GAAG,aAAa,CAAS,MAAM,CAAC,MAAM,CAAC,CAAA;IACnD,IAAM,eAAe,GAAG,aAAa,CAAS,MAAM,CAAC,eAAe,CAAC,CAAA;IAErE,SAAS,CAAC;QACN,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;SACjD;QACD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,SAAS,CAAC;QACN,eAAe,IAAI,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;IACnE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"App.provider.js","sourceRoot":"","sources":["../../../../src/Modules/App/App.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,OAAO,CAAA;AACxC,OAAO,EAAW,OAAO,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AACxD,OAAO,EAAkB,WAAW,EAAC,MAAM,aAAa,CAAA;AAExD,MAAM,CAAC,IAAM,MAAM,GAAG;IAClB,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACvC,MAAM,EAAE,OAAK,QAAQ,4CAAyC;QAC9D,eAAe,EAAE,OAAK,QAAQ,8BAA2B;QACzD,KAAK,EAAE;YACH,WAAW,EAAE,OAAK,QAAQ,kDAA+C;SAC5E;KACJ,CAAC,EANwC,CAMxC,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,MAAM,GAAG,aAAa,CAAS,MAAM,CAAC,MAAM,CAAC,CAAA;IACnD,IAAM,eAAe,GAAG,aAAa,CAAS,MAAM,CAAC,eAAe,CAAC,CAAA;IACrE,IAAM,WAAW,GAAE,aAAa,CAAS,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAElE,SAAS,CAAC;QACN,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;SACjD;QACD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,SAAS,CAAC;QACN,eAAe,IAAI,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;IACnE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC;QACN,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,WAA8B,CAAC,CAAA;IAClF,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -4,6 +4,10 @@ export interface AppState {
4
4
  locked: boolean;
5
5
  remote: boolean;
6
6
  }
7
+ interface IUnit {
8
+ temperature: TemperatureUnit;
9
+ }
10
+ export declare type TemperatureUnit = "fahrenheit" | "celsius";
7
11
  export declare class AppStore {
8
12
  page: string;
9
13
  locked: boolean;
@@ -11,8 +15,11 @@ export declare class AppStore {
11
15
  language?: string;
12
16
  mqtt: MqttStore;
13
17
  firmwareVersion: string;
18
+ units: IUnit;
14
19
  constructor(mqttStore: MqttStore);
15
20
  get humanReadableFirmwareVersion(): any;
21
+ get temperatureUnitToHumanReadable(): "°C" | "°F";
22
+ get temperatureUnit(): TemperatureUnit;
16
23
  setPage: (page: string) => string;
17
24
  setLockedWithoutPersistence: (locked: boolean) => boolean;
18
25
  setRemote: (remote: boolean) => void;
@@ -20,5 +27,9 @@ export declare class AppStore {
20
27
  toggleLocked: () => void;
21
28
  setLanguage: (language: string) => string;
22
29
  setFirmwareVersion: (firmwareVersion: string) => string;
30
+ setUnit: (unit: keyof IUnit, value: TemperatureUnit) => {
31
+ temperature: TemperatureUnit;
32
+ };
23
33
  }
24
34
  export declare function useAppStore(): AppStore;
35
+ export {};
@@ -1,3 +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
+ };
1
12
  import { makeAutoObservable } from "mobx";
2
13
  import { useMemo } from "react";
3
14
  import { versionToHumanReadable } from "../../utils/util";
@@ -43,6 +54,12 @@ var AppStore = /** @class */ (function () {
43
54
  writable: true,
44
55
  value: void 0
45
56
  });
57
+ Object.defineProperty(this, "units", {
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true,
61
+ value: void 0
62
+ });
46
63
  Object.defineProperty(this, "setPage", {
47
64
  enumerable: true,
48
65
  configurable: true,
@@ -101,9 +118,21 @@ var AppStore = /** @class */ (function () {
101
118
  writable: true,
102
119
  value: function (firmwareVersion) { return _this.firmwareVersion = firmwareVersion; }
103
120
  });
121
+ Object.defineProperty(this, "setUnit", {
122
+ enumerable: true,
123
+ configurable: true,
124
+ writable: true,
125
+ value: function (unit, value) {
126
+ var _a;
127
+ return _this.units = __assign(__assign({}, _this.units), (_a = {}, _a[unit] = value, _a));
128
+ }
129
+ });
104
130
  makeAutoObservable(this, { mqtt: false });
105
131
  this.mqtt = mqttStore;
106
132
  this.firmwareVersion = "-";
133
+ this.units = {
134
+ temperature: "celsius"
135
+ };
107
136
  }
108
137
  Object.defineProperty(AppStore.prototype, "humanReadableFirmwareVersion", {
109
138
  get: function () {
@@ -112,6 +141,23 @@ var AppStore = /** @class */ (function () {
112
141
  enumerable: false,
113
142
  configurable: true
114
143
  });
144
+ Object.defineProperty(AppStore.prototype, "temperatureUnitToHumanReadable", {
145
+ get: function () {
146
+ if (this.units.temperature === "celsius") {
147
+ return "°C";
148
+ }
149
+ return "°F";
150
+ },
151
+ enumerable: false,
152
+ configurable: true
153
+ });
154
+ Object.defineProperty(AppStore.prototype, "temperatureUnit", {
155
+ get: function () {
156
+ return this.units.temperature;
157
+ },
158
+ enumerable: false,
159
+ configurable: true
160
+ });
115
161
  return AppStore;
116
162
  }());
117
163
  export { AppStore };
@@ -1 +1 @@
1
- {"version":3,"file":"App.store.js","sourceRoot":"","sources":["../../../../src/Modules/App/App.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.store.js","sourceRoot":"","sources":["../../../../src/Modules/App/App.store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@victronenergy/mfd-modules",
3
- "version": "3.3.12",
3
+ "version": "3.4.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",