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.
- package/README.md +12 -0
- package/build/constants/aceStates.js +84 -0
- package/build/constants/aceStates.js.map +7 -0
- package/build/constants/aioStates.js +83 -0
- package/build/constants/aioStates.js.map +7 -0
- package/build/constants/hubStates.js +83 -0
- package/build/constants/hubStates.js.map +7 -0
- package/build/constants/hyperStates.js +121 -0
- package/build/constants/hyperStates.js.map +7 -0
- package/build/constants/sharedStates.js +202 -0
- package/build/constants/sharedStates.js.map +7 -0
- package/build/helpers/createControlStates.js +26 -0
- package/build/helpers/createControlStates.js.map +2 -2
- package/build/helpers/createSolarFlowStates.js +41 -497
- package/build/helpers/createSolarFlowStates.js.map +2 -2
- package/build/main.js +7 -3
- package/build/main.js.map +2 -2
- package/build/models/ISolarFlowMqttProperties.js +2 -1
- package/build/models/ISolarFlowMqttProperties.js.map +2 -2
- package/build/models/ISolarflowState.js +17 -0
- package/build/models/ISolarflowState.js.map +7 -0
- package/build/services/mqttService.js +95 -32
- package/build/services/mqttService.js.map +3 -3
- package/io-package.json +27 -27
- package/package.json +1 -1
|
@@ -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
|
|
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: {
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
}
|