iobroker.zendure-solarflow 1.7.5 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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",
@@ -67,58 +85,25 @@ const createSolarFlowStates = async (adapter, device, type) => {
67
85
  },
68
86
  native: {}
69
87
  }));
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"
88
+ const states = getStateDefinition(type);
89
+ states.forEach(async (state) => {
90
+ await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.${state.title}`, {
91
+ type: "state",
92
+ common: {
93
+ name: {
94
+ de: state.nameDe,
95
+ en: state.nameEn
96
+ },
97
+ type: state.type,
98
+ desc: state.title,
99
+ role: state.role,
100
+ read: true,
101
+ write: false,
102
+ unit: state.unit
88
103
  },
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
- }));
104
+ native: {}
105
+ }));
106
+ });
122
107
  if (device.electricity) {
123
108
  await (0, import_adapterService.updateSolarFlowState)(
124
109
  adapter,
@@ -128,30 +113,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
128
113
  device.electricity
129
114
  );
130
115
  }
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
116
  if (device.snNumber) {
156
117
  await (0, import_adapterService.updateSolarFlowState)(
157
118
  adapter,
@@ -161,18 +122,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
161
122
  device.snNumber.toString()
162
123
  );
163
124
  }
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
125
  await (0, import_adapterService.updateSolarFlowState)(
177
126
  adapter,
178
127
  device.productKey,
@@ -180,179 +129,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
180
129
  "productName",
181
130
  device.productName
182
131
  );
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
132
  await (0, import_adapterService.updateSolarFlowState)(
357
133
  adapter,
358
134
  device.productKey,
@@ -360,274 +136,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
360
136
  "wifiState",
361
137
  device.wifiStatus ? "Connected" : "Disconnected"
362
138
  );
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
139
  if (!adapter.config.useFallbackService) {
632
140
  await (0, import_createControlStates.createControlStates)(adapter, productKey, deviceKey, type);
633
141
  }