iobroker.zendure-solarflow 1.13.0 → 1.14.1

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 (47) hide show
  1. package/README.md +15 -2
  2. package/admin/build/index.js +76 -55
  3. package/admin/build/index.js.map +4 -4
  4. package/build/constants/ac2400ControlStates.js +187 -0
  5. package/build/constants/ac2400ControlStates.js.map +7 -0
  6. package/build/constants/ac2400States.js +120 -0
  7. package/build/constants/ac2400States.js.map +7 -0
  8. package/build/constants/aceControlStates.js +196 -0
  9. package/build/constants/aceControlStates.js.map +7 -0
  10. package/build/constants/aceStates.js +7 -1
  11. package/build/constants/aceStates.js.map +2 -2
  12. package/build/constants/aioControlStates.js +173 -0
  13. package/build/constants/aioControlStates.js.map +7 -0
  14. package/build/constants/hubControlStates.js +188 -0
  15. package/build/constants/hubControlStates.js.map +7 -0
  16. package/build/constants/hyperControlStates.js +186 -0
  17. package/build/constants/hyperControlStates.js.map +7 -0
  18. package/build/constants/solarflow800ControlStates.js +187 -0
  19. package/build/constants/solarflow800ControlStates.js.map +7 -0
  20. package/build/constants/solarflow800ProControlStates.js +187 -0
  21. package/build/constants/solarflow800ProControlStates.js.map +7 -0
  22. package/build/constants/solarflow800ProStates.js +95 -0
  23. package/build/constants/solarflow800ProStates.js.map +7 -0
  24. package/build/constants/solarflow800States.js +95 -0
  25. package/build/constants/solarflow800States.js.map +7 -0
  26. package/build/helpers/createCalculationStates.js +37 -39
  27. package/build/helpers/createCalculationStates.js.map +2 -2
  28. package/build/helpers/createControlStates.js +47 -316
  29. package/build/helpers/createControlStates.js.map +2 -2
  30. package/build/helpers/createSolarFlowLocalStates.js +23 -30
  31. package/build/helpers/createSolarFlowLocalStates.js.map +2 -2
  32. package/build/helpers/createSolarFlowStates.js +42 -23
  33. package/build/helpers/createSolarFlowStates.js.map +2 -2
  34. package/build/main.js +64 -56
  35. package/build/main.js.map +2 -2
  36. package/build/models/IPackData.js.map +1 -1
  37. package/build/models/ISolarflowState.js.map +1 -1
  38. package/build/services/adapterService.js +1 -1
  39. package/build/services/adapterService.js.map +2 -2
  40. package/build/services/calculationService.js +1 -5
  41. package/build/services/calculationService.js.map +2 -2
  42. package/build/services/fallbackMqttService.js +2 -2
  43. package/build/services/fallbackMqttService.js.map +2 -2
  44. package/build/services/mqttService.js +145 -74
  45. package/build/services/mqttService.js.map +3 -3
  46. package/io-package.json +54 -54
  47. package/package.json +10 -10
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var aioControlStates_exports = {};
20
+ __export(aioControlStates_exports, {
21
+ aioControlStates: () => aioControlStates
22
+ });
23
+ module.exports = __toCommonJS(aioControlStates_exports);
24
+ const aioControlStates = [
25
+ {
26
+ nameDe: "Energieplan-Einstellung",
27
+ nameEn: "Energyplan",
28
+ type: "number",
29
+ title: "autoModel",
30
+ role: "value",
31
+ read: true,
32
+ write: true,
33
+ states: {
34
+ 0: "Nothing",
35
+ 6: "Battery priority mode",
36
+ 7: "Appointment mode",
37
+ 8: "Smart Matching Mode",
38
+ 9: "Smart CT Mode",
39
+ 10: "Electricity Price"
40
+ }
41
+ },
42
+ {
43
+ nameDe: "Setzen des Lade-Limits",
44
+ nameEn: "Control of the charge limit",
45
+ title: "chargeLimit",
46
+ type: "number",
47
+ role: "value.battery",
48
+ read: true,
49
+ write: true,
50
+ min: 40,
51
+ max: 100,
52
+ unit: "%"
53
+ },
54
+ {
55
+ nameDe: "Setzen des Entlade-Limits",
56
+ nameEn: "Control of the discharge limit",
57
+ type: "number",
58
+ title: "dischargeLimit",
59
+ role: "value.battery",
60
+ read: true,
61
+ write: true,
62
+ min: 0,
63
+ max: 50,
64
+ unit: "%"
65
+ },
66
+ {
67
+ nameDe: "Sounds am HUB aktivieren",
68
+ nameEn: "Enable buzzer on HUB",
69
+ type: "boolean",
70
+ title: "buzzerSwitch",
71
+ role: "switch",
72
+ read: true,
73
+ write: true
74
+ },
75
+ {
76
+ nameDe: "Einzustellende Ausgangsleistung",
77
+ nameEn: "Control of the output limit",
78
+ type: "number",
79
+ title: "setOutputLimit",
80
+ role: "value.power",
81
+ read: true,
82
+ write: true,
83
+ min: 0,
84
+ unit: "W"
85
+ },
86
+ {
87
+ nameDe: "Einstellung des Bypass Modus",
88
+ nameEn: "Setting of bypass mode",
89
+ type: "number",
90
+ title: "passMode",
91
+ role: "switch",
92
+ read: true,
93
+ write: true,
94
+ states: {
95
+ 0: "Automatic",
96
+ 1: "Always off",
97
+ 2: "Always on"
98
+ }
99
+ },
100
+ {
101
+ nameDe: "Am n\xE4chsten Tag Bypass auf Automatik",
102
+ nameEn: "Automatic recovery of bypass",
103
+ type: "boolean",
104
+ title: "autoRecover",
105
+ role: "switch",
106
+ read: true,
107
+ write: true
108
+ },
109
+ {
110
+ nameDe: "Verhalten wenn minimale reservierte Ladung erreicht",
111
+ nameEn: "Behavior when minimum reserved charge is reached",
112
+ type: "number",
113
+ title: "hubState",
114
+ role: "value",
115
+ read: true,
116
+ write: true,
117
+ min: 0,
118
+ max: 1,
119
+ states: {
120
+ 0: "Stop output and standby",
121
+ 1: "Stop output and shut down"
122
+ }
123
+ },
124
+ {
125
+ nameDe: "AC Schalter",
126
+ nameEn: "AC switch",
127
+ type: "boolean",
128
+ title: "acSwitch",
129
+ role: "switch",
130
+ read: true,
131
+ write: true
132
+ },
133
+ {
134
+ nameDe: "AC Modus",
135
+ nameEn: "AC mode",
136
+ type: "number",
137
+ title: "acMode",
138
+ role: "switch",
139
+ min: 0,
140
+ max: 2,
141
+ step: 1,
142
+ read: true,
143
+ write: true,
144
+ states: {
145
+ 0: "Nothing",
146
+ 1: "AC input mode",
147
+ 2: "AC output mode"
148
+ }
149
+ },
150
+ {
151
+ nameDe: "Niedrige Batteriespannung erkannt",
152
+ nameEn: "Low Voltage on battery detected",
153
+ type: "boolean",
154
+ title: "lowVoltageBlock",
155
+ role: "indicator.lowbat",
156
+ read: true,
157
+ write: false
158
+ },
159
+ {
160
+ nameDe: "Auf 100% laden, Akku muss kalibriert werden!",
161
+ nameEn: "Charge to 100%, battery needs to be calibrated",
162
+ type: "boolean",
163
+ title: "fullChargeNeeded",
164
+ role: "indicator.lowbat",
165
+ read: true,
166
+ write: false
167
+ }
168
+ ];
169
+ // Annotate the CommonJS export names for ESM import in node:
170
+ 0 && (module.exports = {
171
+ aioControlStates
172
+ });
173
+ //# sourceMappingURL=aioControlStates.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/aioControlStates.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\nimport { ISolarflowState } from \"../models/ISolarflowState\";\n\nexport const aioControlStates: ISolarflowState[] = [\n {\n nameDe: \"Energieplan-Einstellung\",\n nameEn: \"Energyplan\",\n type: \"number\",\n title: \"autoModel\",\n role: \"value\",\n read: true,\n write: true,\n states: {\n 0: \"Nothing\",\n 6: \"Battery priority mode\",\n 7: \"Appointment mode\",\n 8: \"Smart Matching Mode\",\n 9: \"Smart CT Mode\",\n 10: \"Electricity Price\",\n },\n },\n {\n nameDe: \"Setzen des Lade-Limits\",\n nameEn: \"Control of the charge limit\",\n title: \"chargeLimit\",\n type: \"number\",\n role: \"value.battery\",\n read: true,\n write: true,\n min: 40,\n max: 100,\n unit: \"%\",\n },\n {\n nameDe: \"Setzen des Entlade-Limits\",\n nameEn: \"Control of the discharge limit\",\n type: \"number\",\n title: \"dischargeLimit\",\n role: \"value.battery\",\n read: true,\n write: true,\n min: 0,\n max: 50,\n unit: \"%\",\n },\n {\n nameDe: \"Sounds am HUB aktivieren\",\n nameEn: \"Enable buzzer on HUB\",\n type: \"boolean\",\n title: \"buzzerSwitch\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"Einzustellende Ausgangsleistung\",\n nameEn: \"Control of the output limit\",\n type: \"number\",\n title: \"setOutputLimit\",\n role: \"value.power\",\n read: true,\n write: true,\n min: 0,\n unit: \"W\",\n },\n {\n nameDe: \"Einstellung des Bypass Modus\",\n nameEn: \"Setting of bypass mode\",\n type: \"number\",\n title: \"passMode\",\n role: \"switch\",\n read: true,\n write: true,\n states: {\n 0: \"Automatic\",\n 1: \"Always off\",\n 2: \"Always on\",\n },\n },\n {\n nameDe: \"Am n\u00E4chsten Tag Bypass auf Automatik\",\n nameEn: \"Automatic recovery of bypass\",\n type: \"boolean\",\n title: \"autoRecover\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"Verhalten wenn minimale reservierte Ladung erreicht\",\n nameEn: \"Behavior when minimum reserved charge is reached\",\n type: \"number\",\n title: \"hubState\",\n role: \"value\",\n read: true,\n write: true,\n min: 0,\n max: 1,\n states: {\n 0: \"Stop output and standby\",\n 1: \"Stop output and shut down\",\n },\n },\n {\n nameDe: \"AC Schalter\",\n nameEn: \"AC switch\",\n type: \"boolean\",\n title: \"acSwitch\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"AC Modus\",\n nameEn: \"AC mode\",\n type: \"number\",\n title: \"acMode\",\n role: \"switch\",\n min: 0,\n max: 2,\n step: 1,\n read: true,\n write: true,\n states: {\n 0: \"Nothing\",\n 1: \"AC input mode\",\n 2: \"AC output mode\",\n },\n },\n {\n nameDe: \"Niedrige Batteriespannung erkannt\",\n nameEn: \"Low Voltage on battery detected\",\n type: \"boolean\",\n title: \"lowVoltageBlock\",\n role: \"indicator.lowbat\",\n read: true,\n write: false,\n },\n {\n nameDe: \"Auf 100% laden, Akku muss kalibriert werden!\",\n nameEn: \"Charge to 100%, battery needs to be calibrated\",\n type: \"boolean\",\n title: \"fullChargeNeeded\",\n role: \"indicator.lowbat\",\n read: true,\n write: false,\n },\n];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,mBAAsC;AAAA,EACjD;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var hubControlStates_exports = {};
20
+ __export(hubControlStates_exports, {
21
+ hubControlStates: () => hubControlStates
22
+ });
23
+ module.exports = __toCommonJS(hubControlStates_exports);
24
+ const hubControlStates = [
25
+ {
26
+ nameDe: "Energieplan-Einstellung",
27
+ nameEn: "Energyplan",
28
+ type: "number",
29
+ title: "autoModel",
30
+ role: "value",
31
+ read: true,
32
+ write: true,
33
+ states: {
34
+ 0: "Nothing",
35
+ 6: "Battery priority mode",
36
+ 7: "Appointment mode",
37
+ 8: "Smart Matching Mode",
38
+ 9: "Smart CT Mode",
39
+ 10: "Electricity Price"
40
+ }
41
+ },
42
+ {
43
+ nameDe: "Setzen des Lade-Limits",
44
+ nameEn: "Control of the charge limit",
45
+ title: "chargeLimit",
46
+ type: "number",
47
+ role: "value.battery",
48
+ read: true,
49
+ write: true,
50
+ min: 40,
51
+ max: 100,
52
+ unit: "%"
53
+ },
54
+ {
55
+ nameDe: "Setzen des Entlade-Limits",
56
+ nameEn: "Control of the discharge limit",
57
+ type: "number",
58
+ title: "dischargeLimit",
59
+ role: "value.battery",
60
+ read: true,
61
+ write: true,
62
+ min: 0,
63
+ max: 50,
64
+ unit: "%"
65
+ },
66
+ {
67
+ nameDe: "Sounds am HUB aktivieren",
68
+ nameEn: "Enable buzzer on HUB",
69
+ type: "boolean",
70
+ title: "buzzerSwitch",
71
+ role: "switch",
72
+ read: true,
73
+ write: true
74
+ },
75
+ {
76
+ nameDe: "Einzustellende Ausgangsleistung",
77
+ nameEn: "Control of the output limit",
78
+ type: "number",
79
+ title: "setOutputLimit",
80
+ role: "value.power",
81
+ read: true,
82
+ write: true,
83
+ min: 0,
84
+ unit: "W"
85
+ },
86
+ {
87
+ nameDe: "Einstellung des Bypass Modus",
88
+ nameEn: "Setting of bypass mode",
89
+ type: "number",
90
+ title: "passMode",
91
+ role: "switch",
92
+ read: true,
93
+ write: true,
94
+ states: {
95
+ 0: "Automatic",
96
+ 1: "Always off",
97
+ 2: "Always on"
98
+ }
99
+ },
100
+ {
101
+ nameDe: "Am n\xE4chsten Tag Bypass auf Automatik",
102
+ nameEn: "Automatic recovery of bypass",
103
+ type: "boolean",
104
+ title: "autoRecover",
105
+ role: "switch",
106
+ read: true,
107
+ write: true
108
+ },
109
+ {
110
+ nameDe: "Verhalten wenn minimale reservierte Ladung erreicht",
111
+ nameEn: "Behavior when minimum reserved charge is reached",
112
+ type: "number",
113
+ title: "hubState",
114
+ role: "value",
115
+ read: true,
116
+ write: true,
117
+ min: 0,
118
+ max: 1,
119
+ states: {
120
+ 0: "Stop output and standby",
121
+ 1: "Stop output and shut down"
122
+ }
123
+ },
124
+ {
125
+ nameDe: "Einzustellende Eingangsleistung",
126
+ nameEn: "Control of the input limit",
127
+ type: "number",
128
+ title: "setInputLimit",
129
+ role: "value.power",
130
+ read: true,
131
+ write: true,
132
+ min: 0,
133
+ max: 900,
134
+ // Hyper, AC2400, Solarflow800 = MEHR, sonst 900
135
+ step: 100,
136
+ // Hyper, AC2400, Solarflow800 = 1, sonst 100
137
+ unit: "W"
138
+ },
139
+ {
140
+ nameDe: "AC Schalter",
141
+ nameEn: "AC switch",
142
+ type: "boolean",
143
+ title: "acSwitch",
144
+ role: "switch",
145
+ read: true,
146
+ write: true
147
+ },
148
+ {
149
+ nameDe: "AC Modus",
150
+ nameEn: "AC mode",
151
+ type: "number",
152
+ title: "acMode",
153
+ role: "switch",
154
+ min: 0,
155
+ max: 2,
156
+ step: 1,
157
+ read: true,
158
+ write: true,
159
+ states: {
160
+ 0: "Nothing",
161
+ 1: "AC input mode",
162
+ 2: "AC output mode"
163
+ }
164
+ },
165
+ {
166
+ nameDe: "Niedrige Batteriespannung erkannt",
167
+ nameEn: "Low Voltage on battery detected",
168
+ type: "boolean",
169
+ title: "lowVoltageBlock",
170
+ role: "indicator.lowbat",
171
+ read: true,
172
+ write: false
173
+ },
174
+ {
175
+ nameDe: "Auf 100% laden, Akku muss kalibriert werden!",
176
+ nameEn: "Charge to 100%, battery needs to be calibrated",
177
+ type: "boolean",
178
+ title: "fullChargeNeeded",
179
+ role: "indicator.lowbat",
180
+ read: true,
181
+ write: false
182
+ }
183
+ ];
184
+ // Annotate the CommonJS export names for ESM import in node:
185
+ 0 && (module.exports = {
186
+ hubControlStates
187
+ });
188
+ //# sourceMappingURL=hubControlStates.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/hubControlStates.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\nimport { ISolarflowState } from \"../models/ISolarflowState\";\n\nexport const hubControlStates: ISolarflowState[] = [\n {\n nameDe: \"Energieplan-Einstellung\",\n nameEn: \"Energyplan\",\n type: \"number\",\n title: \"autoModel\",\n role: \"value\",\n read: true,\n write: true,\n states: {\n 0: \"Nothing\",\n 6: \"Battery priority mode\",\n 7: \"Appointment mode\",\n 8: \"Smart Matching Mode\",\n 9: \"Smart CT Mode\",\n 10: \"Electricity Price\",\n },\n },\n {\n nameDe: \"Setzen des Lade-Limits\",\n nameEn: \"Control of the charge limit\",\n title: \"chargeLimit\",\n type: \"number\",\n role: \"value.battery\",\n read: true,\n write: true,\n min: 40,\n max: 100,\n unit: \"%\",\n },\n {\n nameDe: \"Setzen des Entlade-Limits\",\n nameEn: \"Control of the discharge limit\",\n type: \"number\",\n title: \"dischargeLimit\",\n role: \"value.battery\",\n read: true,\n write: true,\n min: 0,\n max: 50,\n unit: \"%\",\n },\n {\n nameDe: \"Sounds am HUB aktivieren\",\n nameEn: \"Enable buzzer on HUB\",\n type: \"boolean\",\n title: \"buzzerSwitch\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"Einzustellende Ausgangsleistung\",\n nameEn: \"Control of the output limit\",\n type: \"number\",\n title: \"setOutputLimit\",\n role: \"value.power\",\n read: true,\n write: true,\n min: 0,\n unit: \"W\",\n },\n {\n nameDe: \"Einstellung des Bypass Modus\",\n nameEn: \"Setting of bypass mode\",\n type: \"number\",\n title: \"passMode\",\n role: \"switch\",\n read: true,\n write: true,\n states: {\n 0: \"Automatic\",\n 1: \"Always off\",\n 2: \"Always on\",\n },\n },\n {\n nameDe: \"Am n\u00E4chsten Tag Bypass auf Automatik\",\n nameEn: \"Automatic recovery of bypass\",\n type: \"boolean\",\n title: \"autoRecover\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"Verhalten wenn minimale reservierte Ladung erreicht\",\n nameEn: \"Behavior when minimum reserved charge is reached\",\n type: \"number\",\n title: \"hubState\",\n role: \"value\",\n read: true,\n write: true,\n min: 0,\n max: 1,\n states: {\n 0: \"Stop output and standby\",\n 1: \"Stop output and shut down\",\n },\n },\n {\n nameDe: \"Einzustellende Eingangsleistung\",\n nameEn: \"Control of the input limit\",\n type: \"number\",\n title: \"setInputLimit\",\n role: \"value.power\",\n read: true,\n write: true,\n min: 0,\n max: 900, // Hyper, AC2400, Solarflow800 = MEHR, sonst 900\n step: 100, // Hyper, AC2400, Solarflow800 = 1, sonst 100\n unit: \"W\",\n },\n {\n nameDe: \"AC Schalter\",\n nameEn: \"AC switch\",\n type: \"boolean\",\n title: \"acSwitch\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"AC Modus\",\n nameEn: \"AC mode\",\n type: \"number\",\n title: \"acMode\",\n role: \"switch\",\n min: 0,\n max: 2,\n step: 1,\n read: true,\n write: true,\n states: {\n 0: \"Nothing\",\n 1: \"AC input mode\",\n 2: \"AC output mode\",\n },\n },\n {\n nameDe: \"Niedrige Batteriespannung erkannt\",\n nameEn: \"Low Voltage on battery detected\",\n type: \"boolean\",\n title: \"lowVoltageBlock\",\n role: \"indicator.lowbat\",\n read: true,\n write: false,\n },\n {\n nameDe: \"Auf 100% laden, Akku muss kalibriert werden!\",\n nameEn: \"Charge to 100%, battery needs to be calibrated\",\n type: \"boolean\",\n title: \"fullChargeNeeded\",\n role: \"indicator.lowbat\",\n read: true,\n write: false,\n },\n];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,mBAAsC;AAAA,EACjD;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IACL,MAAM;AAAA;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var hyperControlStates_exports = {};
20
+ __export(hyperControlStates_exports, {
21
+ hyperControlStates: () => hyperControlStates
22
+ });
23
+ module.exports = __toCommonJS(hyperControlStates_exports);
24
+ const hyperControlStates = [
25
+ {
26
+ nameDe: "Energieplan-Einstellung",
27
+ nameEn: "Energyplan",
28
+ type: "number",
29
+ title: "autoModel",
30
+ role: "value",
31
+ read: true,
32
+ write: true,
33
+ states: {
34
+ 0: "Nothing",
35
+ 6: "Battery priority mode",
36
+ 7: "Appointment mode",
37
+ 8: "Smart Matching Mode",
38
+ 9: "Smart CT Mode",
39
+ 10: "Electricity Price"
40
+ }
41
+ },
42
+ {
43
+ nameDe: "Setzen des Lade-Limits",
44
+ nameEn: "Control of the charge limit",
45
+ title: "chargeLimit",
46
+ type: "number",
47
+ role: "value.battery",
48
+ read: true,
49
+ write: true,
50
+ min: 40,
51
+ max: 100,
52
+ unit: "%"
53
+ },
54
+ {
55
+ nameDe: "Setzen des Entlade-Limits",
56
+ nameEn: "Control of the discharge limit",
57
+ type: "number",
58
+ title: "dischargeLimit",
59
+ role: "value.battery",
60
+ read: true,
61
+ write: true,
62
+ min: 0,
63
+ max: 50,
64
+ unit: "%"
65
+ },
66
+ {
67
+ nameDe: "Sounds am HUB aktivieren",
68
+ nameEn: "Enable buzzer on HUB",
69
+ type: "boolean",
70
+ title: "buzzerSwitch",
71
+ role: "switch",
72
+ read: true,
73
+ write: true
74
+ },
75
+ {
76
+ nameDe: "Einzustellende Ausgangsleistung",
77
+ nameEn: "Control of the output limit",
78
+ type: "number",
79
+ title: "setOutputLimit",
80
+ role: "value.power",
81
+ read: true,
82
+ write: true,
83
+ min: 0,
84
+ unit: "W"
85
+ },
86
+ {
87
+ nameDe: "Einstellung des Bypass Modus",
88
+ nameEn: "Setting of bypass mode",
89
+ type: "number",
90
+ title: "passMode",
91
+ role: "switch",
92
+ read: true,
93
+ write: true,
94
+ states: {
95
+ 0: "Automatic",
96
+ 1: "Always off",
97
+ 2: "Always on"
98
+ }
99
+ },
100
+ {
101
+ nameDe: "Am n\xE4chsten Tag Bypass auf Automatik",
102
+ nameEn: "Automatic recovery of bypass",
103
+ type: "boolean",
104
+ title: "autoRecover",
105
+ role: "switch",
106
+ read: true,
107
+ write: true
108
+ },
109
+ {
110
+ nameDe: "Verhalten wenn minimale reservierte Ladung erreicht",
111
+ nameEn: "Behavior when minimum reserved charge is reached",
112
+ type: "number",
113
+ title: "hubState",
114
+ role: "value",
115
+ read: true,
116
+ write: true,
117
+ min: 0,
118
+ max: 1,
119
+ states: {
120
+ 0: "Stop output and standby",
121
+ 1: "Stop output and shut down"
122
+ }
123
+ },
124
+ {
125
+ nameDe: "Einzustellende Eingangsleistung",
126
+ nameEn: "Control of the input limit",
127
+ type: "number",
128
+ title: "setInputLimit",
129
+ role: "value.power",
130
+ read: true,
131
+ write: true,
132
+ min: 0,
133
+ max: 1200,
134
+ step: 1,
135
+ unit: "W"
136
+ },
137
+ {
138
+ nameDe: "AC Schalter",
139
+ nameEn: "AC switch",
140
+ type: "boolean",
141
+ title: "acSwitch",
142
+ role: "switch",
143
+ read: true,
144
+ write: true
145
+ },
146
+ {
147
+ nameDe: "AC Modus",
148
+ nameEn: "AC mode",
149
+ type: "number",
150
+ title: "acMode",
151
+ role: "switch",
152
+ min: 0,
153
+ max: 2,
154
+ step: 1,
155
+ read: true,
156
+ write: true,
157
+ states: {
158
+ 0: "Nothing",
159
+ 1: "AC input mode",
160
+ 2: "AC output mode"
161
+ }
162
+ },
163
+ {
164
+ nameDe: "Niedrige Batteriespannung erkannt",
165
+ nameEn: "Low Voltage on battery detected",
166
+ type: "boolean",
167
+ title: "lowVoltageBlock",
168
+ role: "indicator.lowbat",
169
+ read: true,
170
+ write: false
171
+ },
172
+ {
173
+ nameDe: "Auf 100% laden, Akku muss kalibriert werden!",
174
+ nameEn: "Charge to 100%, battery needs to be calibrated",
175
+ type: "boolean",
176
+ title: "fullChargeNeeded",
177
+ role: "indicator.lowbat",
178
+ read: true,
179
+ write: false
180
+ }
181
+ ];
182
+ // Annotate the CommonJS export names for ESM import in node:
183
+ 0 && (module.exports = {
184
+ hyperControlStates
185
+ });
186
+ //# sourceMappingURL=hyperControlStates.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/hyperControlStates.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\nimport { ISolarflowState } from \"../models/ISolarflowState\";\n\nexport const hyperControlStates: ISolarflowState[] = [\n {\n nameDe: \"Energieplan-Einstellung\",\n nameEn: \"Energyplan\",\n type: \"number\",\n title: \"autoModel\",\n role: \"value\",\n read: true,\n write: true,\n states: {\n 0: \"Nothing\",\n 6: \"Battery priority mode\",\n 7: \"Appointment mode\",\n 8: \"Smart Matching Mode\",\n 9: \"Smart CT Mode\",\n 10: \"Electricity Price\",\n },\n },\n {\n nameDe: \"Setzen des Lade-Limits\",\n nameEn: \"Control of the charge limit\",\n title: \"chargeLimit\",\n type: \"number\",\n role: \"value.battery\",\n read: true,\n write: true,\n min: 40,\n max: 100,\n unit: \"%\",\n },\n {\n nameDe: \"Setzen des Entlade-Limits\",\n nameEn: \"Control of the discharge limit\",\n type: \"number\",\n title: \"dischargeLimit\",\n role: \"value.battery\",\n read: true,\n write: true,\n min: 0,\n max: 50,\n unit: \"%\",\n },\n {\n nameDe: \"Sounds am HUB aktivieren\",\n nameEn: \"Enable buzzer on HUB\",\n type: \"boolean\",\n title: \"buzzerSwitch\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"Einzustellende Ausgangsleistung\",\n nameEn: \"Control of the output limit\",\n type: \"number\",\n title: \"setOutputLimit\",\n role: \"value.power\",\n read: true,\n write: true,\n min: 0,\n unit: \"W\",\n },\n {\n nameDe: \"Einstellung des Bypass Modus\",\n nameEn: \"Setting of bypass mode\",\n type: \"number\",\n title: \"passMode\",\n role: \"switch\",\n read: true,\n write: true,\n states: {\n 0: \"Automatic\",\n 1: \"Always off\",\n 2: \"Always on\",\n },\n },\n {\n nameDe: \"Am n\u00E4chsten Tag Bypass auf Automatik\",\n nameEn: \"Automatic recovery of bypass\",\n type: \"boolean\",\n title: \"autoRecover\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"Verhalten wenn minimale reservierte Ladung erreicht\",\n nameEn: \"Behavior when minimum reserved charge is reached\",\n type: \"number\",\n title: \"hubState\",\n role: \"value\",\n read: true,\n write: true,\n min: 0,\n max: 1,\n states: {\n 0: \"Stop output and standby\",\n 1: \"Stop output and shut down\",\n },\n },\n {\n nameDe: \"Einzustellende Eingangsleistung\",\n nameEn: \"Control of the input limit\",\n type: \"number\",\n title: \"setInputLimit\",\n role: \"value.power\",\n read: true,\n write: true,\n min: 0,\n max: 1200,\n step: 1,\n unit: \"W\",\n },\n {\n nameDe: \"AC Schalter\",\n nameEn: \"AC switch\",\n type: \"boolean\",\n title: \"acSwitch\",\n role: \"switch\",\n read: true,\n write: true,\n },\n {\n nameDe: \"AC Modus\",\n nameEn: \"AC mode\",\n type: \"number\",\n title: \"acMode\",\n role: \"switch\",\n min: 0,\n max: 2,\n step: 1,\n read: true,\n write: true,\n states: {\n 0: \"Nothing\",\n 1: \"AC input mode\",\n 2: \"AC output mode\",\n },\n },\n {\n nameDe: \"Niedrige Batteriespannung erkannt\",\n nameEn: \"Low Voltage on battery detected\",\n type: \"boolean\",\n title: \"lowVoltageBlock\",\n role: \"indicator.lowbat\",\n read: true,\n write: false,\n },\n {\n nameDe: \"Auf 100% laden, Akku muss kalibriert werden!\",\n nameEn: \"Charge to 100%, battery needs to be calibrated\",\n type: \"boolean\",\n title: \"fullChargeNeeded\",\n role: \"indicator.lowbat\",\n read: true,\n write: false,\n },\n];\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }