iobroker.zendure-solarflow 1.7.4 → 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.
@@ -183,6 +183,32 @@ const createControlStates = async (adapter, productKey, deviceKey, type) => {
183
183
  );
184
184
  }
185
185
  }
186
+ if (type == "hyper") {
187
+ await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.control.acMode`, {
188
+ type: "state",
189
+ common: {
190
+ name: {
191
+ de: "AC Modus",
192
+ en: "AC mode"
193
+ },
194
+ type: "number",
195
+ desc: "acMode",
196
+ role: "switch",
197
+ min: 0,
198
+ max: 2,
199
+ step: 1,
200
+ read: true,
201
+ write: true,
202
+ states: {
203
+ 0: "Nothing",
204
+ 1: "AC input mode",
205
+ 2: "AC output mode"
206
+ }
207
+ },
208
+ native: {}
209
+ }));
210
+ adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.acMode`);
211
+ }
186
212
  if (type == "hyper" || type == "ace") {
187
213
  await (adapter == null ? void 0 : adapter.extendObject(
188
214
  `${productKey}.${deviceKey}.control.setInputLimit`,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers/createControlStates.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\r\n\r\nimport { ZendureSolarflow } from \"../main\";\r\n\r\nexport const createControlStates = async (\r\n adapter: ZendureSolarflow,\r\n productKey: string,\r\n deviceKey: string,\r\n type: string\r\n): Promise<void> => {\r\n // Create control folder\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control`, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: \"Steuerung f\u00FCr Ger\u00E4t \" + deviceKey,\r\n en: \"Control for device \" + deviceKey,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n // State zum Setzen des Charge Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.chargeLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Setzen des Lade-Limits\",\r\n en: \"Control of the charge limit\",\r\n },\r\n type: \"number\",\r\n desc: \"chargeLimit\",\r\n role: \"value.battery\",\r\n read: true,\r\n write: true,\r\n min: 40,\r\n max: 100,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.chargeLimit`);\r\n\r\n // State zum Setzen des Discharge Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.dischargeLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Setzen des Entlade-Limits\",\r\n en: \"Control of the discharge limit\",\r\n },\r\n type: \"number\",\r\n desc: \"dischargeLimit\",\r\n role: \"value.battery\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n max: 90,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.dischargeLimit`);\r\n\r\n // State zum Setzen des Buzzers\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.buzzerSwitch`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Sounds am HUB aktivieren\",\r\n en: \"Enable buzzer on HUB\",\r\n },\r\n type: \"boolean\",\r\n desc: \"buzzerSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n if (type == \"solarflow\" || type == \"hyper\") {\r\n // State zum Setzen des Output Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.setOutputLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einzustellende Ausgangsleistung\",\r\n en: \"Control of the output limit\",\r\n },\r\n type: \"number\",\r\n desc: \"setOutputLimit\",\r\n role: \"value.power\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n unit: \"W\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Subcribe to control states\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.setOutputLimit`\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.buzzerSwitch`);\r\n\r\n // State zum Setzen des Bypass Modus\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.passMode`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einstellung des Bypass Modus\",\r\n en: \"Setting of bypass mode\",\r\n },\r\n type: \"number\",\r\n desc: \"passMode\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n states: {\r\n 0: \"Automatic\",\r\n 1: \"Always off\",\r\n 2: \"Always on\",\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.passMode`);\r\n\r\n // State zum Setzen des Auto-Modus vom Bypass\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.autoRecover`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Am n\u00E4chsten Tag Bypass auf Automatik\",\r\n en: \"Automatic recovery of bypass\",\r\n },\r\n type: \"boolean\",\r\n desc: \"autoRecover\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.autoRecover`);\r\n\r\n if (adapter.config.useLowVoltageBlock) {\r\n // State zum Setzen des Output Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.lowVoltageBlock`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Niedrige Batteriespannung erkannt\",\r\n en: \"Low Voltage on battery detected\",\r\n },\r\n type: \"boolean\",\r\n desc: \"lowVoltageBlock\",\r\n role: \"indicator.lowbat\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.lowVoltageBlock`\r\n );\r\n }\r\n }\r\n\r\n // States for Hyper 2000 and ACE 1500\r\n if (type == \"hyper\" || type == \"ace\") {\r\n // State zum Setzen des Input Limit (AC)\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.setInputLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einzustellende Eingangsleistung\",\r\n en: \"Control of the input limit\",\r\n },\r\n type: \"number\",\r\n desc: \"setInputLimit\",\r\n role: \"value.power\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n max: type == \"ace\" ? 900 : 1200,\r\n step: 100,\r\n unit: \"W\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.setInputLimit`\r\n );\r\n\r\n // State zum Setzen des AC Schalters\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.acSwitch`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"AC Schalter\",\r\n en: \"AC switch\",\r\n },\r\n type: \"boolean\",\r\n desc: \"acSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.acSwitch`);\r\n }\r\n\r\n // States only for ACE 1500\r\n if (type == \"ace\") {\r\n // State zum Setzen des DC Schalters\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.dcSwitch`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"DC Schalter\",\r\n en: \"DC switch\",\r\n },\r\n type: \"boolean\",\r\n desc: \"dcSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.dcSwitch`);\r\n }\r\n};\r\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\r\n\r\nimport { ZendureSolarflow } from \"../main\";\r\n\r\nexport const createControlStates = async (\r\n adapter: ZendureSolarflow,\r\n productKey: string,\r\n deviceKey: string,\r\n type: string\r\n): Promise<void> => {\r\n // Create control folder\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control`, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: \"Steuerung f\u00FCr Ger\u00E4t \" + deviceKey,\r\n en: \"Control for device \" + deviceKey,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n // State zum Setzen des Charge Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.chargeLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Setzen des Lade-Limits\",\r\n en: \"Control of the charge limit\",\r\n },\r\n type: \"number\",\r\n desc: \"chargeLimit\",\r\n role: \"value.battery\",\r\n read: true,\r\n write: true,\r\n min: 40,\r\n max: 100,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.chargeLimit`);\r\n\r\n // State zum Setzen des Discharge Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.dischargeLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Setzen des Entlade-Limits\",\r\n en: \"Control of the discharge limit\",\r\n },\r\n type: \"number\",\r\n desc: \"dischargeLimit\",\r\n role: \"value.battery\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n max: 90,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.dischargeLimit`);\r\n\r\n // State zum Setzen des Buzzers\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.buzzerSwitch`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Sounds am HUB aktivieren\",\r\n en: \"Enable buzzer on HUB\",\r\n },\r\n type: \"boolean\",\r\n desc: \"buzzerSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n if (type == \"solarflow\" || type == \"hyper\") {\r\n // State zum Setzen des Output Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.setOutputLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einzustellende Ausgangsleistung\",\r\n en: \"Control of the output limit\",\r\n },\r\n type: \"number\",\r\n desc: \"setOutputLimit\",\r\n role: \"value.power\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n unit: \"W\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Subcribe to control states\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.setOutputLimit`\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.buzzerSwitch`);\r\n\r\n // State zum Setzen des Bypass Modus\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.passMode`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einstellung des Bypass Modus\",\r\n en: \"Setting of bypass mode\",\r\n },\r\n type: \"number\",\r\n desc: \"passMode\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n states: {\r\n 0: \"Automatic\",\r\n 1: \"Always off\",\r\n 2: \"Always on\",\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.passMode`);\r\n\r\n // State zum Setzen des Auto-Modus vom Bypass\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.autoRecover`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Am n\u00E4chsten Tag Bypass auf Automatik\",\r\n en: \"Automatic recovery of bypass\",\r\n },\r\n type: \"boolean\",\r\n desc: \"autoRecover\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.autoRecover`);\r\n\r\n if (adapter.config.useLowVoltageBlock) {\r\n // State zum Setzen des Output Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.lowVoltageBlock`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Niedrige Batteriespannung erkannt\",\r\n en: \"Low Voltage on battery detected\",\r\n },\r\n type: \"boolean\",\r\n desc: \"lowVoltageBlock\",\r\n role: \"indicator.lowbat\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.lowVoltageBlock`\r\n );\r\n }\r\n }\r\n\r\n if (type == \"hyper\") {\r\n // State zum Setzen des AC Modus\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.acMode`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"AC Modus\",\r\n en: \"AC mode\",\r\n },\r\n type: \"number\",\r\n desc: \"acMode\",\r\n role: \"switch\",\r\n min: 0,\r\n max: 2,\r\n step: 1,\r\n read: true,\r\n write: true,\r\n states: {\r\n 0: \"Nothing\",\r\n 1: \"AC input mode\",\r\n 2: \"AC output mode\",\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.acMode`);\r\n }\r\n\r\n // States for Hyper 2000 and ACE 1500\r\n if (type == \"hyper\" || type == \"ace\") {\r\n // State zum Setzen des Input Limit (AC)\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.setInputLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einzustellende Eingangsleistung\",\r\n en: \"Control of the input limit\",\r\n },\r\n type: \"number\",\r\n desc: \"setInputLimit\",\r\n role: \"value.power\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n max: type == \"ace\" ? 900 : 1200,\r\n step: 100,\r\n unit: \"W\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.setInputLimit`\r\n );\r\n\r\n // State zum Setzen des AC Schalters\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.acSwitch`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"AC Schalter\",\r\n en: \"AC switch\",\r\n },\r\n type: \"boolean\",\r\n desc: \"acSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.acSwitch`);\r\n }\r\n\r\n // States only for ACE 1500\r\n if (type == \"ace\") {\r\n // State zum Setzen des DC Schalters\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.dcSwitch`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"DC Schalter\",\r\n en: \"DC switch\",\r\n },\r\n type: \"boolean\",\r\n desc: \"dcSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.dcSwitch`);\r\n }\r\n};\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -21,19 +21,40 @@ __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",
35
53
  common: {
36
- name: { de: "Produkt " + productKey, en: "Product " + productKey }
54
+ name: {
55
+ de: `${device.productName} (${productKey})`,
56
+ en: `${device.productName} (${productKey})`
57
+ }
37
58
  },
38
59
  native: {}
39
60
  }));
@@ -64,58 +85,25 @@ const createSolarFlowStates = async (adapter, device, type) => {
64
85
  },
65
86
  native: {}
66
87
  }));
67
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.lastUpdate`, {
68
- type: "state",
69
- common: {
70
- name: { de: "Letztes Update", en: "Last Update" },
71
- type: "number",
72
- desc: "lastUpdate",
73
- role: "value.time",
74
- read: true,
75
- write: false
76
- },
77
- native: {}
78
- }));
79
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.buzzerSwitch`, {
80
- type: "state",
81
- common: {
82
- name: {
83
- de: "Sounds am HUB aktivieren",
84
- 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
85
103
  },
86
- type: "boolean",
87
- desc: "buzzerSwitch",
88
- role: "value",
89
- read: true,
90
- write: false
91
- },
92
- native: {}
93
- }));
94
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.packState`, {
95
- type: "state",
96
- common: {
97
- name: { de: "Systemstatus", en: "Status of system" },
98
- type: "string",
99
- desc: "packState",
100
- role: "value",
101
- read: true,
102
- write: false
103
- },
104
- native: {}
105
- }));
106
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.electricLevel`, {
107
- type: "state",
108
- common: {
109
- name: { de: "SOC Gesamtsystem", en: "SOC of the system" },
110
- type: "number",
111
- desc: "electricLevel",
112
- role: "value.battery",
113
- read: true,
114
- write: false,
115
- unit: "%"
116
- },
117
- native: {}
118
- }));
104
+ native: {}
105
+ }));
106
+ });
119
107
  if (device.electricity) {
120
108
  await (0, import_adapterService.updateSolarFlowState)(
121
109
  adapter,
@@ -125,30 +113,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
125
113
  device.electricity
126
114
  );
127
115
  }
128
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.name`, {
129
- type: "state",
130
- common: {
131
- name: { de: "Name", en: "Name" },
132
- type: "string",
133
- desc: "name",
134
- role: "value",
135
- read: true,
136
- write: false
137
- },
138
- native: {}
139
- }));
140
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.snNumber`, {
141
- type: "state",
142
- common: {
143
- name: { de: "Seriennnummer", en: "Serial ID" },
144
- type: "string",
145
- desc: "snNumber",
146
- role: "value",
147
- read: true,
148
- write: false
149
- },
150
- native: {}
151
- }));
152
116
  if (device.snNumber) {
153
117
  await (0, import_adapterService.updateSolarFlowState)(
154
118
  adapter,
@@ -158,18 +122,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
158
122
  device.snNumber.toString()
159
123
  );
160
124
  }
161
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.productName`, {
162
- type: "state",
163
- common: {
164
- name: { de: "Produkt Name", en: "Product name" },
165
- type: "string",
166
- desc: "productName",
167
- role: "value",
168
- read: true,
169
- write: false
170
- },
171
- native: {}
172
- }));
173
125
  await (0, import_adapterService.updateSolarFlowState)(
174
126
  adapter,
175
127
  device.productKey,
@@ -177,179 +129,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
177
129
  "productName",
178
130
  device.productName
179
131
  );
180
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.registeredServer`, {
181
- type: "state",
182
- common: {
183
- name: { de: "Registrierter Server", en: "Registered server" },
184
- type: "string",
185
- desc: "registeredServer",
186
- role: "value",
187
- read: true,
188
- write: false
189
- },
190
- native: {}
191
- }));
192
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.energyPower`, {
193
- type: "state",
194
- common: {
195
- name: { de: "Leistung am Smartmeter", en: "Smartmeter energy power" },
196
- type: "number",
197
- desc: "energyPower",
198
- role: "value.power",
199
- read: true,
200
- write: false,
201
- unit: "W"
202
- },
203
- native: {}
204
- }));
205
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.outputPackPower`, {
206
- type: "state",
207
- common: {
208
- name: { de: "Ladeleistung zur Batterie", en: "charge power" },
209
- type: "number",
210
- desc: "outputPackPower",
211
- role: "value.power",
212
- read: true,
213
- write: false,
214
- unit: "W"
215
- },
216
- native: {}
217
- }));
218
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.packInputPower`, {
219
- type: "state",
220
- common: {
221
- name: { de: "Entladeleistung aus Batterie", en: "discharge power" },
222
- type: "number",
223
- desc: "packInputPower",
224
- role: "value.power",
225
- read: true,
226
- write: false,
227
- unit: "W"
228
- },
229
- native: {}
230
- }));
231
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.solarInputPower`, {
232
- type: "state",
233
- common: {
234
- name: { de: "Leistung der Solarmodule", en: "solar power" },
235
- type: "number",
236
- desc: "solarInputPower",
237
- role: "value.power",
238
- read: true,
239
- write: false,
240
- unit: "W"
241
- },
242
- native: {}
243
- }));
244
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pvPower1`, {
245
- type: "state",
246
- common: {
247
- name: { de: "Leistung PV 1", en: "solar power channel 1" },
248
- type: "number",
249
- desc: "pvPower1",
250
- role: "value.power",
251
- read: true,
252
- write: false,
253
- unit: "W"
254
- },
255
- native: {}
256
- }));
257
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pvPower2`, {
258
- type: "state",
259
- common: {
260
- name: { de: "Leistung PV 2", en: "solar power channel 2" },
261
- type: "number",
262
- desc: "pvPower2",
263
- role: "value.power",
264
- read: true,
265
- write: false,
266
- unit: "W"
267
- },
268
- native: {}
269
- }));
270
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.remainInputTime`, {
271
- type: "state",
272
- common: {
273
- name: { de: "Erwartete Ladedauer", en: "remaining charge time" },
274
- type: "number",
275
- desc: "remainInputTime",
276
- role: "value.interval",
277
- read: true,
278
- write: false
279
- },
280
- native: {}
281
- }));
282
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.remainOutTime`, {
283
- type: "state",
284
- common: {
285
- name: {
286
- de: "Erwartete Entladedauer (Minuten)",
287
- en: "remaining discharge time (minutes)"
288
- },
289
- type: "number",
290
- desc: "remainOutTime",
291
- role: "value.interval",
292
- read: true,
293
- write: false
294
- },
295
- native: {}
296
- }));
297
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.socSet`, {
298
- type: "state",
299
- common: {
300
- name: { de: "Max. SOC", en: "max. SOC" },
301
- type: "number",
302
- desc: "socSet",
303
- role: "value.battery",
304
- read: true,
305
- write: false,
306
- unit: "%"
307
- },
308
- native: {}
309
- }));
310
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.minSoc`, {
311
- type: "state",
312
- common: {
313
- name: { de: "Min. SOC", en: "min. SOC" },
314
- type: "number",
315
- desc: "minSoc",
316
- role: "value.battery",
317
- read: true,
318
- write: false,
319
- unit: "%"
320
- },
321
- native: {}
322
- }));
323
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.inverseMaxPower`, {
324
- type: "state",
325
- common: {
326
- name: {
327
- de: "Maximal akzeptabler Eingang des PV-Mikrowechselrichters",
328
- en: "highest acceptable input power"
329
- },
330
- type: "number",
331
- desc: "inverseMaxPower",
332
- role: "value",
333
- read: true,
334
- write: false
335
- },
336
- native: {}
337
- }));
338
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.wifiState`, {
339
- type: "state",
340
- common: {
341
- name: {
342
- de: "WiFi Status",
343
- en: "WiFi Status"
344
- },
345
- type: "string",
346
- desc: "wifiState",
347
- role: "value",
348
- read: true,
349
- write: false
350
- },
351
- native: {}
352
- }));
353
132
  await (0, import_adapterService.updateSolarFlowState)(
354
133
  adapter,
355
134
  device.productKey,
@@ -357,241 +136,6 @@ const createSolarFlowStates = async (adapter, device, type) => {
357
136
  "wifiState",
358
137
  device.wifiStatus ? "Connected" : "Disconnected"
359
138
  );
360
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.hubState`, {
361
- type: "state",
362
- common: {
363
- name: {
364
- de: "Verhalten wenn minimale reservierte Ladung erreicht",
365
- en: "Behavior when minimum reserved charge is reached"
366
- },
367
- type: "string",
368
- desc: "hubState",
369
- role: "value",
370
- read: true,
371
- write: false
372
- },
373
- native: {}
374
- }));
375
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.packNum`, {
376
- type: "state",
377
- common: {
378
- name: {
379
- de: "Anzahl der angeschlossenen Batterien",
380
- en: "Number of batteries"
381
- },
382
- type: "number",
383
- desc: "packNum",
384
- role: "value",
385
- read: true,
386
- write: false
387
- },
388
- native: {}
389
- }));
390
- if (type == "ace") {
391
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.dcOutputPower`, {
392
- type: "state",
393
- common: {
394
- name: {
395
- de: "Aktuelle DC Ausgangsleistung",
396
- en: "Current DC output power"
397
- },
398
- type: "number",
399
- desc: "dcOutputPower",
400
- role: "value.power",
401
- read: true,
402
- write: false,
403
- unit: "W"
404
- },
405
- native: {}
406
- }));
407
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.dcSwitch`, {
408
- type: "state",
409
- common: {
410
- name: {
411
- de: "DC Schalter",
412
- en: "DC switch"
413
- },
414
- type: "boolean",
415
- desc: "dcSwitch",
416
- role: "value",
417
- read: true,
418
- write: false
419
- },
420
- native: {}
421
- }));
422
- }
423
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.inputLimit`, {
424
- type: "state",
425
- common: {
426
- name: { de: "Limit der Eingangsleistung", en: "limit of input power" },
427
- type: "number",
428
- desc: "inputLimit",
429
- role: "value.power",
430
- read: true,
431
- write: false,
432
- unit: "W"
433
- },
434
- native: {}
435
- }));
436
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.gridPower`, {
437
- type: "state",
438
- common: {
439
- name: { de: "Leistung vom Stromnetz", en: "Grid power" },
440
- type: "number",
441
- desc: "gridPower",
442
- role: "value.power",
443
- read: true,
444
- write: false,
445
- unit: "W"
446
- },
447
- native: {}
448
- }));
449
- if (type == "solarflow") {
450
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pass`, {
451
- type: "state",
452
- common: {
453
- name: { de: "Bypass an/aus", en: "Bypass on/off" },
454
- type: "boolean",
455
- desc: "pass",
456
- role: "value",
457
- read: true,
458
- write: false
459
- },
460
- native: {}
461
- }));
462
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.autoRecover`, {
463
- type: "state",
464
- common: {
465
- name: {
466
- de: "Am n\xE4chsten Tag Bypass auf Automatik",
467
- en: "Automatic recovery of bypass"
468
- },
469
- type: "boolean",
470
- desc: "autoRecover",
471
- role: "value",
472
- read: true,
473
- write: false
474
- },
475
- native: {}
476
- }));
477
- }
478
- if (type == "solarflow" || type == "hyper") {
479
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.passMode`, {
480
- type: "state",
481
- common: {
482
- name: {
483
- de: "Einstellung des Bypass Modus",
484
- en: "Setting of bypass mode"
485
- },
486
- type: "string",
487
- desc: "passMode",
488
- role: "value",
489
- read: true,
490
- write: false
491
- },
492
- native: {}
493
- }));
494
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.pvBrand`, {
495
- type: "state",
496
- common: {
497
- name: { de: "Wechselrichter Hersteller", en: "brand of inverter" },
498
- type: "string",
499
- desc: "pvBrand",
500
- role: "value",
501
- read: true,
502
- write: false
503
- },
504
- native: {}
505
- }));
506
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.outputHomePower`, {
507
- type: "state",
508
- common: {
509
- name: { de: "Ausgangsleistung", en: "output power" },
510
- type: "number",
511
- desc: "outputHomePower",
512
- role: "value.power",
513
- read: true,
514
- write: false,
515
- unit: "W"
516
- },
517
- native: {}
518
- }));
519
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.outputLimit`, {
520
- type: "state",
521
- common: {
522
- name: { de: "Limit der Ausgangsleistung", en: "limit of output power" },
523
- type: "number",
524
- desc: "outputLimit",
525
- role: "value.power",
526
- read: true,
527
- write: false,
528
- unit: "W"
529
- },
530
- native: {}
531
- }));
532
- }
533
- if (type == "ace" || type == "hyper") {
534
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.batteryElectric`, {
535
- type: "state",
536
- common: {
537
- name: { de: "Batterie Leistung", en: "Battery electric" },
538
- type: "number",
539
- desc: "batteryElectric",
540
- role: "value.power",
541
- read: true,
542
- write: false,
543
- unit: "W"
544
- },
545
- native: {}
546
- }));
547
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.gridInputPower`, {
548
- type: "state",
549
- common: {
550
- name: {
551
- de: "Aktuelle AC Eingangsleistung",
552
- en: "current ac input power"
553
- },
554
- type: "number",
555
- desc: "gridInputPower",
556
- role: "value.power",
557
- read: true,
558
- write: false,
559
- unit: "W"
560
- },
561
- native: {}
562
- }));
563
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.acOutputPower`, {
564
- type: "state",
565
- common: {
566
- name: {
567
- de: "Aktuelle AC Ausgangsleistung",
568
- en: "Current AC output power"
569
- },
570
- type: "number",
571
- desc: "acOutputPower",
572
- role: "value.power",
573
- read: true,
574
- write: false,
575
- unit: "W"
576
- },
577
- native: {}
578
- }));
579
- await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.acSwitch`, {
580
- type: "state",
581
- common: {
582
- name: {
583
- de: "AC Schalter",
584
- en: "AC switch"
585
- },
586
- type: "boolean",
587
- desc: "acSwitch",
588
- role: "value",
589
- read: true,
590
- write: false
591
- },
592
- native: {}
593
- }));
594
- }
595
139
  if (!adapter.config.useFallbackService) {
596
140
  await (0, import_createControlStates.createControlStates)(adapter, productKey, deviceKey, type);
597
141
  }