iobroker.zendure-solarflow 1.7.5 → 1.7.7

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.
@@ -21,14 +21,32 @@ __export(createSolarFlowStates_exports, {
21
21
  createSolarFlowStates: () => createSolarFlowStates
22
22
  });
23
23
  module.exports = __toCommonJS(createSolarFlowStates_exports);
24
+ var import_aceStates = require("../constants/aceStates");
25
+ var import_aioStates = require("../constants/aioStates");
26
+ var import_hubStates = require("../constants/hubStates");
27
+ var import_hyperStates = require("../constants/hyperStates");
24
28
  var import_adapterService = require("../services/adapterService");
25
29
  var import_createCalculationStates = require("./createCalculationStates");
26
30
  var import_createControlStates = require("./createControlStates");
31
+ const getStateDefinition = (type) => {
32
+ switch (type) {
33
+ case "aio":
34
+ return import_aioStates.aioStates;
35
+ case "hyper":
36
+ return import_hyperStates.hyperStates;
37
+ case "solarflow":
38
+ return import_hubStates.hubStates;
39
+ case "ace":
40
+ return import_aceStates.aceStates;
41
+ default:
42
+ return [];
43
+ }
44
+ };
27
45
  const createSolarFlowStates = async (adapter, device, type) => {
28
46
  const productKey = device.productKey.replace(adapter.FORBIDDEN_CHARS, "");
29
47
  const deviceKey = device.deviceKey.replace(adapter.FORBIDDEN_CHARS, "");
30
48
  adapter.log.debug(
31
- `[createSolarFlowStates] Creating or updating SolarFlow states for productKey ${productKey} and deviceKey ${deviceKey}.`
49
+ `[createSolarFlowStates] Creating or updating SolarFlow states for ${device.productName} (${productKey}/${deviceKey}) and name '${device.name}'.`
32
50
  );
33
51
  await (adapter == null ? void 0 : adapter.extendObject(productKey, {
34
52
  type: "device",
@@ -43,7 +61,10 @@ const createSolarFlowStates = async (adapter, device, type) => {
43
61
  await (adapter == null ? void 0 : adapter.extendObject(productKey + "." + deviceKey, {
44
62
  type: "channel",
45
63
  common: {
46
- name: { de: "Device Key " + deviceKey, en: "Device Key " + deviceKey }
64
+ name: {
65
+ de: `${device.name} (${deviceKey})`,
66
+ en: `${device.name} (${deviceKey})`
67
+ }
47
68
  },
48
69
  native: {}
49
70
  }));
@@ -67,58 +88,25 @@ const createSolarFlowStates = async (adapter, device, type) => {
67
88
  },
68
89
  native: {}
69
90
  }));
70
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.lastUpdate`, {
71
- type: "state",
72
- common: {
73
- name: { de: "Letztes Update", en: "Last Update" },
74
- type: "number",
75
- desc: "lastUpdate",
76
- role: "value.time",
77
- read: true,
78
- write: false
79
- },
80
- native: {}
81
- }));
82
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.buzzerSwitch`, {
83
- type: "state",
84
- common: {
85
- name: {
86
- de: "Sounds am HUB aktivieren",
87
- en: "Enable buzzer on HUB"
91
+ const states = getStateDefinition(type);
92
+ states.forEach(async (state) => {
93
+ await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.${state.title}`, {
94
+ type: "state",
95
+ common: {
96
+ name: {
97
+ de: state.nameDe,
98
+ en: state.nameEn
99
+ },
100
+ type: state.type,
101
+ desc: state.title,
102
+ role: state.role,
103
+ read: true,
104
+ write: false,
105
+ unit: state.unit
88
106
  },
89
- type: "boolean",
90
- desc: "buzzerSwitch",
91
- role: "value",
92
- read: true,
93
- write: false
94
- },
95
- native: {}
96
- }));
97
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.packState`, {
98
- type: "state",
99
- common: {
100
- name: { de: "Systemstatus", en: "Status of system" },
101
- type: "string",
102
- desc: "packState",
103
- role: "value",
104
- read: true,
105
- write: false
106
- },
107
- native: {}
108
- }));
109
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.electricLevel`, {
110
- type: "state",
111
- common: {
112
- name: { de: "SOC Gesamtsystem", en: "SOC of the system" },
113
- type: "number",
114
- desc: "electricLevel",
115
- role: "value.battery",
116
- read: true,
117
- write: false,
118
- unit: "%"
119
- },
120
- native: {}
121
- }));
107
+ native: {}
108
+ }));
109
+ });
122
110
  if (device.electricity) {
123
111
  await (0, import_adapterService.updateSolarFlowState)(
124
112
  adapter,
@@ -128,30 +116,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
128
116
  device.electricity
129
117
  );
130
118
  }
131
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.name`, {
132
- type: "state",
133
- common: {
134
- name: { de: "Name", en: "Name" },
135
- type: "string",
136
- desc: "name",
137
- role: "value",
138
- read: true,
139
- write: false
140
- },
141
- native: {}
142
- }));
143
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.snNumber`, {
144
- type: "state",
145
- common: {
146
- name: { de: "Seriennnummer", en: "Serial ID" },
147
- type: "string",
148
- desc: "snNumber",
149
- role: "value",
150
- read: true,
151
- write: false
152
- },
153
- native: {}
154
- }));
155
119
  if (device.snNumber) {
156
120
  await (0, import_adapterService.updateSolarFlowState)(
157
121
  adapter,
@@ -161,18 +125,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
161
125
  device.snNumber.toString()
162
126
  );
163
127
  }
164
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.productName`, {
165
- type: "state",
166
- common: {
167
- name: { de: "Produkt Name", en: "Product name" },
168
- type: "string",
169
- desc: "productName",
170
- role: "value",
171
- read: true,
172
- write: false
173
- },
174
- native: {}
175
- }));
176
128
  await (0, import_adapterService.updateSolarFlowState)(
177
129
  adapter,
178
130
  device.productKey,
@@ -180,179 +132,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
180
132
  "productName",
181
133
  device.productName
182
134
  );
183
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.registeredServer`, {
184
- type: "state",
185
- common: {
186
- name: { de: "Registrierter Server", en: "Registered server" },
187
- type: "string",
188
- desc: "registeredServer",
189
- role: "value",
190
- read: true,
191
- write: false
192
- },
193
- native: {}
194
- }));
195
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.energyPower`, {
196
- type: "state",
197
- common: {
198
- name: { de: "Leistung am Smartmeter", en: "Smartmeter energy power" },
199
- type: "number",
200
- desc: "energyPower",
201
- role: "value.power",
202
- read: true,
203
- write: false,
204
- unit: "W"
205
- },
206
- native: {}
207
- }));
208
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.outputPackPower`, {
209
- type: "state",
210
- common: {
211
- name: { de: "Ladeleistung zur Batterie", en: "charge power" },
212
- type: "number",
213
- desc: "outputPackPower",
214
- role: "value.power",
215
- read: true,
216
- write: false,
217
- unit: "W"
218
- },
219
- native: {}
220
- }));
221
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.packInputPower`, {
222
- type: "state",
223
- common: {
224
- name: { de: "Entladeleistung aus Batterie", en: "discharge power" },
225
- type: "number",
226
- desc: "packInputPower",
227
- role: "value.power",
228
- read: true,
229
- write: false,
230
- unit: "W"
231
- },
232
- native: {}
233
- }));
234
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.solarInputPower`, {
235
- type: "state",
236
- common: {
237
- name: { de: "Leistung der Solarmodule", en: "solar power" },
238
- type: "number",
239
- desc: "solarInputPower",
240
- role: "value.power",
241
- read: true,
242
- write: false,
243
- unit: "W"
244
- },
245
- native: {}
246
- }));
247
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pvPower1`, {
248
- type: "state",
249
- common: {
250
- name: { de: "Leistung PV 1", en: "solar power channel 1" },
251
- type: "number",
252
- desc: "pvPower1",
253
- role: "value.power",
254
- read: true,
255
- write: false,
256
- unit: "W"
257
- },
258
- native: {}
259
- }));
260
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pvPower2`, {
261
- type: "state",
262
- common: {
263
- name: { de: "Leistung PV 2", en: "solar power channel 2" },
264
- type: "number",
265
- desc: "pvPower2",
266
- role: "value.power",
267
- read: true,
268
- write: false,
269
- unit: "W"
270
- },
271
- native: {}
272
- }));
273
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.remainInputTime`, {
274
- type: "state",
275
- common: {
276
- name: { de: "Erwartete Ladedauer", en: "remaining charge time" },
277
- type: "number",
278
- desc: "remainInputTime",
279
- role: "value.interval",
280
- read: true,
281
- write: false
282
- },
283
- native: {}
284
- }));
285
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.remainOutTime`, {
286
- type: "state",
287
- common: {
288
- name: {
289
- de: "Erwartete Entladedauer (Minuten)",
290
- en: "remaining discharge time (minutes)"
291
- },
292
- type: "number",
293
- desc: "remainOutTime",
294
- role: "value.interval",
295
- read: true,
296
- write: false
297
- },
298
- native: {}
299
- }));
300
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.socSet`, {
301
- type: "state",
302
- common: {
303
- name: { de: "Max. SOC", en: "max. SOC" },
304
- type: "number",
305
- desc: "socSet",
306
- role: "value.battery",
307
- read: true,
308
- write: false,
309
- unit: "%"
310
- },
311
- native: {}
312
- }));
313
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.minSoc`, {
314
- type: "state",
315
- common: {
316
- name: { de: "Min. SOC", en: "min. SOC" },
317
- type: "number",
318
- desc: "minSoc",
319
- role: "value.battery",
320
- read: true,
321
- write: false,
322
- unit: "%"
323
- },
324
- native: {}
325
- }));
326
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.inverseMaxPower`, {
327
- type: "state",
328
- common: {
329
- name: {
330
- de: "Maximal akzeptabler Eingang des PV-Mikrowechselrichters",
331
- en: "highest acceptable input power"
332
- },
333
- type: "number",
334
- desc: "inverseMaxPower",
335
- role: "value",
336
- read: true,
337
- write: false
338
- },
339
- native: {}
340
- }));
341
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.wifiState`, {
342
- type: "state",
343
- common: {
344
- name: {
345
- de: "WiFi Status",
346
- en: "WiFi Status"
347
- },
348
- type: "string",
349
- desc: "wifiState",
350
- role: "value",
351
- read: true,
352
- write: false
353
- },
354
- native: {}
355
- }));
356
135
  await (0, import_adapterService.updateSolarFlowState)(
357
136
  adapter,
358
137
  device.productKey,
@@ -360,278 +139,10 @@ const createSolarFlowStates = async (adapter, device, type) => {
360
139
  "wifiState",
361
140
  device.wifiStatus ? "Connected" : "Disconnected"
362
141
  );
363
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.hubState`, {
364
- type: "state",
365
- common: {
366
- name: {
367
- de: "Verhalten wenn minimale reservierte Ladung erreicht",
368
- en: "Behavior when minimum reserved charge is reached"
369
- },
370
- type: "string",
371
- desc: "hubState",
372
- role: "value",
373
- read: true,
374
- write: false
375
- },
376
- native: {}
377
- }));
378
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.packNum`, {
379
- type: "state",
380
- common: {
381
- name: {
382
- de: "Anzahl der angeschlossenen Batterien",
383
- en: "Number of batteries"
384
- },
385
- type: "number",
386
- desc: "packNum",
387
- role: "value",
388
- read: true,
389
- write: false
390
- },
391
- native: {}
392
- }));
393
- if (type == "ace") {
394
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.dcOutputPower`, {
395
- type: "state",
396
- common: {
397
- name: {
398
- de: "Aktuelle DC Ausgangsleistung",
399
- en: "Current DC output power"
400
- },
401
- type: "number",
402
- desc: "dcOutputPower",
403
- role: "value.power",
404
- read: true,
405
- write: false,
406
- unit: "W"
407
- },
408
- native: {}
409
- }));
410
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.dcSwitch`, {
411
- type: "state",
412
- common: {
413
- name: {
414
- de: "DC Schalter",
415
- en: "DC switch"
416
- },
417
- type: "boolean",
418
- desc: "dcSwitch",
419
- role: "value",
420
- read: true,
421
- write: false
422
- },
423
- native: {}
424
- }));
425
- }
426
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.inputLimit`, {
427
- type: "state",
428
- common: {
429
- name: { de: "Limit der Eingangsleistung", en: "limit of input power" },
430
- type: "number",
431
- desc: "inputLimit",
432
- role: "value.power",
433
- read: true,
434
- write: false,
435
- unit: "W"
436
- },
437
- native: {}
438
- }));
439
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.gridPower`, {
440
- type: "state",
441
- common: {
442
- name: { de: "Leistung vom Stromnetz", en: "Grid power" },
443
- type: "number",
444
- desc: "gridPower",
445
- role: "value.power",
446
- read: true,
447
- write: false,
448
- unit: "W"
449
- },
450
- native: {}
451
- }));
452
- if (type == "solarflow") {
453
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pass`, {
454
- type: "state",
455
- common: {
456
- name: { de: "Bypass an/aus", en: "Bypass on/off" },
457
- type: "boolean",
458
- desc: "pass",
459
- role: "value",
460
- read: true,
461
- write: false
462
- },
463
- native: {}
464
- }));
465
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.autoRecover`, {
466
- type: "state",
467
- common: {
468
- name: {
469
- de: "Am n\xE4chsten Tag Bypass auf Automatik",
470
- en: "Automatic recovery of bypass"
471
- },
472
- type: "boolean",
473
- desc: "autoRecover",
474
- role: "value",
475
- read: true,
476
- write: false
477
- },
478
- native: {}
479
- }));
480
- }
481
- if (type == "hyper") {
482
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.hyperTmp`, {
483
- type: "state",
484
- common: {
485
- name: {
486
- de: "Temperatur des Hyper 2000",
487
- en: "Temperature of Hyper 2000"
488
- },
489
- type: "number",
490
- desc: "hyperTmp",
491
- role: "value",
492
- read: true,
493
- write: false,
494
- unit: "\xB0C"
495
- },
496
- native: {}
497
- }));
498
- }
499
- if (type == "solarflow" || type == "hyper") {
500
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.passMode`, {
501
- type: "state",
502
- common: {
503
- name: {
504
- de: "Einstellung des Bypass Modus",
505
- en: "Setting of bypass mode"
506
- },
507
- type: "string",
508
- desc: "passMode",
509
- role: "value",
510
- read: true,
511
- write: false
512
- },
513
- native: {}
514
- }));
515
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pvBrand`, {
516
- type: "state",
517
- common: {
518
- name: { de: "Wechselrichter Hersteller", en: "brand of inverter" },
519
- type: "string",
520
- desc: "pvBrand",
521
- role: "value",
522
- read: true,
523
- write: false
524
- },
525
- native: {}
526
- }));
527
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.outputHomePower`, {
528
- type: "state",
529
- common: {
530
- name: { de: "Ausgangsleistung", en: "output power" },
531
- type: "number",
532
- desc: "outputHomePower",
533
- role: "value.power",
534
- read: true,
535
- write: false,
536
- unit: "W"
537
- },
538
- native: {}
539
- }));
540
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.outputLimit`, {
541
- type: "state",
542
- common: {
543
- name: { de: "Limit der Ausgangsleistung", en: "limit of output power" },
544
- type: "number",
545
- desc: "outputLimit",
546
- role: "value.power",
547
- read: true,
548
- write: false,
549
- unit: "W"
550
- },
551
- native: {}
552
- }));
553
- }
554
- if (type == "ace" || type == "hyper") {
555
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.acMode`, {
556
- type: "state",
557
- common: {
558
- name: {
559
- de: "AC Modus",
560
- en: "AC mode"
561
- },
562
- type: "number",
563
- desc: "acMode",
564
- role: "value",
565
- read: true,
566
- write: false
567
- },
568
- native: {}
569
- }));
570
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.batteryElectric`, {
571
- type: "state",
572
- common: {
573
- name: { de: "Batterie Leistung", en: "Battery electric" },
574
- type: "number",
575
- desc: "batteryElectric",
576
- role: "value.power",
577
- read: true,
578
- write: false,
579
- unit: "W"
580
- },
581
- native: {}
582
- }));
583
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.gridInputPower`, {
584
- type: "state",
585
- common: {
586
- name: {
587
- de: "Aktuelle AC Eingangsleistung",
588
- en: "current ac input power"
589
- },
590
- type: "number",
591
- desc: "gridInputPower",
592
- role: "value.power",
593
- read: true,
594
- write: false,
595
- unit: "W"
596
- },
597
- native: {}
598
- }));
599
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.acOutputPower`, {
600
- type: "state",
601
- common: {
602
- name: {
603
- de: "Aktuelle AC Ausgangsleistung",
604
- en: "Current AC output power"
605
- },
606
- type: "number",
607
- desc: "acOutputPower",
608
- role: "value.power",
609
- read: true,
610
- write: false,
611
- unit: "W"
612
- },
613
- native: {}
614
- }));
615
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.acSwitch`, {
616
- type: "state",
617
- common: {
618
- name: {
619
- de: "AC Schalter",
620
- en: "AC switch"
621
- },
622
- type: "boolean",
623
- desc: "acSwitch",
624
- role: "value",
625
- read: true,
626
- write: false
627
- },
628
- native: {}
629
- }));
630
- }
631
142
  if (!adapter.config.useFallbackService) {
632
143
  await (0, import_createControlStates.createControlStates)(adapter, productKey, deviceKey, type);
633
144
  }
634
- if (adapter.config.useCalculation && (type == "solarflow" || type == "hyper")) {
145
+ if (adapter.config.useCalculation && (type == "aio" || type == "solarflow" || type == "hyper")) {
635
146
  await (0, import_createCalculationStates.createCalculationStates)(adapter, productKey, deviceKey);
636
147
  } else {
637
148
  }