iobroker.goodwe-pv 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectUtils = void 0;
4
+ class ProjectUtils {
5
+ adapter;
6
+ constructor(adapter) {
7
+ this.adapter = adapter;
8
+ }
9
+ async updateDcParameters(parent, name, voltage, current, power, mode) {
10
+ await this.checkAndSetChannel(`${parent}.${name}`, name);
11
+ await this.checkAndSetValueNumber(`${parent}.${name}.Voltage`, voltage);
12
+ await this.checkAndSetValueNumber(`${parent}.${name}.Current`, current);
13
+ await this.checkAndSetValueNumber(`${parent}.${name}.Power`, power);
14
+ await this.checkAndSetValueNumber(`${parent}.${name}.Mode`, mode);
15
+ }
16
+ async updateAcPhase(parent, name, voltage, current, frequency, power) {
17
+ await this.checkAndSetChannel(`${parent}.${name}`, name);
18
+ await this.checkAndSetValueNumber(`${parent}.${name}.Voltage`, voltage);
19
+ await this.checkAndSetValueNumber(`${parent}.${name}.Current`, current);
20
+ await this.checkAndSetValueNumber(`${parent}.${name}.Frequency`, frequency);
21
+ await this.checkAndSetValueNumber(`${parent}.${name}.Power`, power);
22
+ }
23
+ async updateAcPhaseBackup(parent, name, voltage, current, frequency, power, mode) {
24
+ await this.checkAndSetChannel(`${parent}.${name}`, name);
25
+ await this.checkAndSetValueNumber(`${parent}.${name}.Voltage`, voltage);
26
+ await this.checkAndSetValueNumber(`${parent}.${name}.Current`, current);
27
+ await this.checkAndSetValueNumber(`${parent}.${name}.Frequency`, frequency);
28
+ await this.checkAndSetValueNumber(`${parent}.${name}.Power`, power);
29
+ await this.checkAndSetValueNumber(`${parent}.${name}.Mode`, mode);
30
+ }
31
+ async updateMeterPhase(parent, name, activePower, powerFactor) {
32
+ await this.checkAndSetChannel(`${parent}.${name}`, name);
33
+ await this.checkAndSetValueNumber(`${parent}.${name}.ActivePower`, activePower);
34
+ await this.checkAndSetValueNumber(`${parent}.${name}.PowerFactor`, powerFactor);
35
+ }
36
+ async getStateValue(stateName) {
37
+ try {
38
+ const stateObject = await this.getState(stateName);
39
+ return stateObject?.val ?? null;
40
+ }
41
+ catch (error) {
42
+ this.adapter.log.error(`[getStateValue](${stateName}): ${error}`);
43
+ return null;
44
+ }
45
+ }
46
+ async getState(stateName) {
47
+ try {
48
+ if (await this.verifyStateAvailable(stateName)) {
49
+ const stateValueObject = await this.adapter.getStateAsync(stateName);
50
+ if (!this.isLikeEmpty(stateValueObject)) {
51
+ return stateValueObject;
52
+ }
53
+ throw new Error(`Unable to retrieve info from state '${stateName}'.`);
54
+ }
55
+ }
56
+ catch (error) {
57
+ this.adapter.log.error(`[asyncGetState](${stateName}): ${error}`);
58
+ return null;
59
+ }
60
+ }
61
+ async verifyStateAvailable(stateName) {
62
+ const stateObject = await this.adapter.getObjectAsync(stateName);
63
+ if (!stateObject) {
64
+ this.adapter.log.debug(`[verifyStateAvailable](${stateName}): State does not exist.`);
65
+ return false;
66
+ }
67
+ return true;
68
+ }
69
+ async asyncGetForeignStateVal(stateName) {
70
+ try {
71
+ const stateObject = await this.asyncGetForeignState(stateName);
72
+ if (stateObject == null) {
73
+ return null;
74
+ }
75
+ return stateObject.val;
76
+ }
77
+ catch (error) {
78
+ this.adapter.log.error(`[asyncGetForeignStateValue](${stateName}): ${error}`);
79
+ return null;
80
+ }
81
+ }
82
+ async asyncGetForeignState(stateName) {
83
+ try {
84
+ const stateObject = await this.adapter.getForeignObjectAsync(stateName);
85
+ if (!stateObject) {
86
+ throw new Error(`State '${stateName}' does not exist.`);
87
+ }
88
+ else {
89
+ const stateValueObject = await this.adapter.getForeignStateAsync(stateName);
90
+ if (!this.isLikeEmpty(stateValueObject)) {
91
+ return stateValueObject;
92
+ }
93
+ throw new Error(`Unable to retrieve info from state '${stateName}'.`);
94
+ }
95
+ }
96
+ catch (error) {
97
+ this.adapter.log.error(`[asyncGetForeignState](${stateName}): ${error}`);
98
+ return null;
99
+ }
100
+ }
101
+ isLikeEmpty(inputVar) {
102
+ if (typeof inputVar !== "undefined" && inputVar !== null) {
103
+ const sTemp = JSON.stringify(inputVar).replace(/[\s"'[\]{}]/g, "");
104
+ if (sTemp !== "") {
105
+ return false;
106
+ }
107
+ return true;
108
+ }
109
+ return true;
110
+ }
111
+ async checkAndSetValue(stateName, value, description = "-", role = "text", writeable = false, dontUpdate = false, forceMode = false) {
112
+ if (value?.trim()?.length) {
113
+ const commonObj = {
114
+ name: stateName.split(".").pop() ?? stateName,
115
+ type: "string",
116
+ role: role,
117
+ desc: description,
118
+ read: true,
119
+ write: writeable,
120
+ };
121
+ await (forceMode
122
+ ? this.adapter.setObject(stateName, { type: "state", common: commonObj, native: {} })
123
+ : this.adapter.setObjectNotExistsAsync(stateName, { type: "state", common: commonObj, native: {} }));
124
+ if (!dontUpdate || !(await this.adapter.getStateAsync(stateName))) {
125
+ await this.adapter.setState(stateName, { val: value, ack: true });
126
+ }
127
+ }
128
+ }
129
+ async checkAndSetValueNumber(stateName, value, description = "-", unit, role = "value", writeable = false, dontUpdate = false, forceMode = false, min, max, step) {
130
+ if (value !== undefined) {
131
+ const commonObj = {
132
+ name: stateName.split(".").pop() ?? stateName,
133
+ type: "number",
134
+ role: role,
135
+ desc: description,
136
+ read: true,
137
+ write: writeable,
138
+ ...(unit != null ? { unit } : {}),
139
+ ...(min != null ? { min } : {}),
140
+ ...(max != null ? { max } : {}),
141
+ ...(step != null ? { step } : {}),
142
+ };
143
+ await (forceMode
144
+ ? this.adapter.setObject(stateName, { type: "state", common: commonObj, native: {} })
145
+ : this.adapter.setObjectNotExistsAsync(stateName, { type: "state", common: commonObj, native: {} }));
146
+ if (!dontUpdate || !(await this.adapter.getStateAsync(stateName))) {
147
+ await this.adapter.setState(stateName, { val: value, ack: true });
148
+ }
149
+ }
150
+ }
151
+ async checkAndSetValueBoolean(stateName, value, description = "-", role = "indicator", writeable = false, dontUpdate = false, forceMode = false) {
152
+ if (value !== undefined && value !== null) {
153
+ const commonObj = {
154
+ name: stateName.split(".").pop() ?? stateName,
155
+ type: "boolean",
156
+ role: role,
157
+ desc: description,
158
+ read: true,
159
+ write: writeable,
160
+ };
161
+ await (forceMode
162
+ ? this.adapter.setObject(stateName, { type: "state", common: commonObj, native: {} })
163
+ : this.adapter.setObjectNotExistsAsync(stateName, { type: "state", common: commonObj, native: {} }));
164
+ if (!dontUpdate || !(await this.adapter.getStateAsync(stateName))) {
165
+ await this.adapter.setState(stateName, { val: value, ack: true });
166
+ }
167
+ }
168
+ }
169
+ async checkAndSetFolder(folderObjectName, name, icon = "", forceMode = false) {
170
+ const commonObj = {
171
+ type: "meta.folder",
172
+ name: name ?? folderObjectName.split(".").pop() ?? folderObjectName,
173
+ desc: "",
174
+ };
175
+ if (icon) {
176
+ commonObj.icon = icon;
177
+ }
178
+ await (forceMode
179
+ ? this.adapter.setObject(folderObjectName, {
180
+ type: "folder",
181
+ common: commonObj,
182
+ native: {},
183
+ })
184
+ : this.adapter.setObjectNotExistsAsync(folderObjectName, {
185
+ type: "folder",
186
+ common: commonObj,
187
+ native: {},
188
+ }));
189
+ }
190
+ async checkAndSetDevice(deviceObjectName, name, onlineId = "", icon = "", forceMode = false) {
191
+ const commonObj = {
192
+ name: name ?? deviceObjectName.split(".").pop() ?? deviceObjectName,
193
+ desc: "",
194
+ };
195
+ if (onlineId) {
196
+ commonObj.statusStates = {
197
+ onlineId,
198
+ };
199
+ }
200
+ if (icon) {
201
+ commonObj.icon = icon;
202
+ }
203
+ await (forceMode
204
+ ? this.adapter.setObject(deviceObjectName, {
205
+ type: "device",
206
+ common: commonObj,
207
+ native: {},
208
+ })
209
+ : this.adapter.setObjectNotExistsAsync(deviceObjectName, {
210
+ type: "device",
211
+ common: commonObj,
212
+ native: {},
213
+ }));
214
+ }
215
+ async checkAndSetChannel(channelObjectName, name, icon = "", forceMode = false) {
216
+ const commonObj = {
217
+ name: name ?? channelObjectName.split(".").pop() ?? channelObjectName,
218
+ desc: "",
219
+ };
220
+ if (icon) {
221
+ commonObj.icon = icon;
222
+ }
223
+ await (forceMode
224
+ ? this.adapter.setObject(channelObjectName, {
225
+ type: "channel",
226
+ common: commonObj,
227
+ native: {},
228
+ })
229
+ : this.adapter.setObjectNotExistsAsync(channelObjectName, {
230
+ type: "channel",
231
+ common: commonObj,
232
+ native: {},
233
+ }));
234
+ }
235
+ generateErrorMessage(error, context) {
236
+ let errorMessages = "";
237
+ if (error.errors && Array.isArray(error.errors)) {
238
+ for (const err of error.errors) {
239
+ if (errorMessages) {
240
+ errorMessages += ", ";
241
+ }
242
+ errorMessages += err.message;
243
+ }
244
+ }
245
+ else if (error.message) {
246
+ errorMessages = error.message;
247
+ }
248
+ else {
249
+ errorMessages = "Unknown error";
250
+ }
251
+ return `Error (${error.statusMessage || error.statusText || "Unknown Status"}) occurred during: -${context}- : ${errorMessages}`;
252
+ }
253
+ }
254
+ exports.ProjectUtils = ProjectUtils;
255
+ //# sourceMappingURL=projectUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../src/lib/projectUtils.ts"],"names":[],"mappings":"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"}
package/build/main.js ADDED
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ const utils = __importStar(require("@iobroker/adapter-core"));
36
+ const goodWeUdp_js_1 = require("./lib/goodWeUdp.js");
37
+ const projectUtils_js_1 = require("./lib/projectUtils.js");
38
+ class Goodwe extends utils.Adapter {
39
+ inverter = new goodWeUdp_js_1.GoodWeUdp(this);
40
+ projectUtils = new projectUtils_js_1.ProjectUtils(this);
41
+ tmrTimeout;
42
+ cycleCnt = 0;
43
+ constructor(options = {}) {
44
+ super({ ...options, name: "goodwe-pv" });
45
+ this.on("ready", this.onReady.bind(this));
46
+ this.on("stateChange", this.onStateChange.bind(this));
47
+ this.on("unload", this.onUnload.bind(this));
48
+ }
49
+ async onReady() {
50
+ void this.setState("info.connection", false, true);
51
+ this.inverter.Connect(this.config.ipAddr, 8899);
52
+ this.myTimer();
53
+ const pwResult = await this.checkPasswordAsync("admin", "iobroker");
54
+ this.log.info(`check user admin pw iobroker: ${String(pwResult)}`);
55
+ const groupResult = await this.checkGroupAsync("admin", "admin");
56
+ this.log.info(`check group user admin group admin: ${String(groupResult)}`);
57
+ }
58
+ onUnload(callback) {
59
+ try {
60
+ this.clearTimeout(this.tmrTimeout);
61
+ callback();
62
+ }
63
+ catch {
64
+ callback();
65
+ }
66
+ }
67
+ onStateChange(id, state) {
68
+ if (state) {
69
+ this.log.info(`state ${id} changed: ${state.val} (ack = ${state.ack})`);
70
+ }
71
+ else {
72
+ this.log.info(`state ${id} deleted`);
73
+ }
74
+ }
75
+ async updateDeviceInfo() {
76
+ this.inverter.ReadDeviceInfo();
77
+ const di = this.inverter.DeviceInfo;
78
+ await this.projectUtils.checkAndSetChannel("DeviceInfo", "DeviceInfo");
79
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.ModbusProtocolVersion", di.ModbusProtocolVersion);
80
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.RatedPower", di.RatedPower);
81
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.AcOutputType", di.AcOutputType);
82
+ await this.projectUtils.checkAndSetValue("DeviceInfo.SerialNumber", di.SerialNumber);
83
+ await this.projectUtils.checkAndSetValue("DeviceInfo.DeviceType", di.DeviceType);
84
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.DSP1_SW_Version", di.DSP1_SoftwareVersion);
85
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.DSP2_SW_Version", di.DSP2_SoftwareVersion);
86
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.DSP_SVN_Version", di.DSP_SVN_Version);
87
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.ARM_SW_Version", di.ARM_SoftwareVersion);
88
+ await this.projectUtils.checkAndSetValueNumber("DeviceInfo.ARM_SVN_Version", di.ARM_SVN_Version);
89
+ await this.projectUtils.checkAndSetValue("DeviceInfo.DSP_Int_FW_Version", di.DSP_IntFirmwareVersion);
90
+ await this.projectUtils.checkAndSetValue("DeviceInfo.ARM_Int_FW_Version", di.ARM_IntFirmwareVersion);
91
+ void this.setStateAsync("info.connection", this.inverter.Status, true);
92
+ }
93
+ async updateRunningData() {
94
+ this.inverter.ReadRunningData();
95
+ const rd = this.inverter.RunningData;
96
+ await this.projectUtils.checkAndSetChannel("RunningData", "RunningData");
97
+ await this.projectUtils.updateDcParameters("RunningData", "PV1", rd.Pv1.Voltage, rd.Pv1.Current, rd.Pv1.Power, rd.Pv1.Mode);
98
+ await this.projectUtils.updateDcParameters("RunningData", "PV2", rd.Pv2.Voltage, rd.Pv2.Current, rd.Pv2.Power, rd.Pv2.Mode);
99
+ await this.projectUtils.updateDcParameters("RunningData", "PV3", rd.Pv3.Voltage, rd.Pv3.Current, rd.Pv3.Power, rd.Pv3.Mode);
100
+ await this.projectUtils.updateDcParameters("RunningData", "PV4", rd.Pv4.Voltage, rd.Pv4.Current, rd.Pv4.Power, rd.Pv4.Mode);
101
+ await this.projectUtils.updateAcPhase("RunningData", "GridL1", rd.GridL1.Voltage, rd.GridL1.Current, rd.GridL1.Frequency, rd.GridL1.Power);
102
+ await this.projectUtils.updateAcPhase("RunningData", "GridL2", rd.GridL2.Voltage, rd.GridL2.Current, rd.GridL2.Frequency, rd.GridL2.Power);
103
+ await this.projectUtils.updateAcPhase("RunningData", "GridL3", rd.GridL3.Voltage, rd.GridL3.Current, rd.GridL3.Frequency, rd.GridL3.Power);
104
+ await this.projectUtils.checkAndSetValueNumber("RunningData.GridMode", rd.GridMode);
105
+ await this.projectUtils.checkAndSetValueNumber("RunningData.InverterTotalPower", rd.InverterTotalPower);
106
+ await this.projectUtils.checkAndSetValueNumber("RunningData.AcActivePower", rd.AcActivePower);
107
+ await this.projectUtils.checkAndSetValueNumber("RunningData.AcReactivePower", rd.AcReactivePower);
108
+ await this.projectUtils.checkAndSetValueNumber("RunningData.AcApparentPower", rd.AcApparentPower);
109
+ await this.projectUtils.updateAcPhaseBackup("RunningData", "BackUpL1", rd.BackUpL1.Voltage, rd.BackUpL1.Current, rd.BackUpL1.Frequency, rd.BackUpL1.Power, rd.BackUpL1.Mode);
110
+ await this.projectUtils.updateAcPhaseBackup("RunningData", "BackUpL2", rd.BackUpL2.Voltage, rd.BackUpL2.Current, rd.BackUpL2.Frequency, rd.BackUpL2.Power, rd.BackUpL2.Mode);
111
+ await this.projectUtils.updateAcPhaseBackup("RunningData", "BackUpL3", rd.BackUpL3.Voltage, rd.BackUpL3.Current, rd.BackUpL3.Frequency, rd.BackUpL3.Power, rd.BackUpL3.Mode);
112
+ await this.projectUtils.checkAndSetValueNumber("RunningData.PowerL1", rd.PowerL1);
113
+ await this.projectUtils.checkAndSetValueNumber("RunningData.PowerL2", rd.PowerL2);
114
+ await this.projectUtils.checkAndSetValueNumber("RunningData.PowerL3", rd.PowerL3);
115
+ await this.projectUtils.checkAndSetValueNumber("RunningData.TotalPowerBackUp", rd.TotalPowerBackUp);
116
+ await this.projectUtils.checkAndSetValueNumber("RunningData.TotalPower", rd.TotalPower);
117
+ await this.projectUtils.checkAndSetValueNumber("RunningData.UpsLoadPercent", rd.UpsLoadPercent);
118
+ await this.projectUtils.checkAndSetValueNumber("RunningData.AirTemperature", rd.AirTemperature);
119
+ await this.projectUtils.checkAndSetValueNumber("RunningData.ModulTemperature", rd.ModulTemperature);
120
+ await this.projectUtils.checkAndSetValueNumber("RunningData.RadiatorTemperature", rd.RadiatorTemperature);
121
+ await this.projectUtils.checkAndSetValueNumber("RunningData.FunctionBitValue", rd.FunctionBitValue);
122
+ await this.projectUtils.checkAndSetValueNumber("RunningData.BusVoltage", rd.BusVoltage);
123
+ await this.projectUtils.checkAndSetValueNumber("RunningData.NbusVoltage", rd.NbusVoltage);
124
+ await this.projectUtils.updateDcParameters("RunningData", "Battery1", rd.Battery1.Voltage, rd.Battery1.Current, rd.Battery1.Power, rd.Battery1.Mode);
125
+ await this.projectUtils.checkAndSetValueNumber("RunningData.WarningCode", rd.WarningCode);
126
+ await this.projectUtils.checkAndSetValueNumber("RunningData.SaftyCountry", rd.SaftyCountry);
127
+ await this.projectUtils.checkAndSetValueNumber("RunningData.WorkMode", rd.WorkMode);
128
+ await this.projectUtils.checkAndSetValueNumber("RunningData.OperationMode", rd.OperationMode);
129
+ await this.projectUtils.checkAndSetValueNumber("RunningData.ErrorMessage", rd.ErrorMessage);
130
+ await this.projectUtils.checkAndSetValueNumber("RunningData.PvEnergyTotal", rd.PvEnergyTotal);
131
+ await this.projectUtils.checkAndSetValueNumber("RunningData.PvEnergyDay", rd.PvEnergyDay);
132
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyTotal", rd.EnergyTotal);
133
+ await this.projectUtils.checkAndSetValueNumber("RunningData.HoursTotal", rd.HoursTotal);
134
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyDaySell", rd.EnergyDaySell);
135
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyTotalBuy", rd.EnergyTotalBuy);
136
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyDayBuy", rd.EnergyDayBuy);
137
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyTotalLoad", rd.EnergyTotalLoad);
138
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyDayLoad", rd.EnergyDayLoad);
139
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyBatteryCharge", rd.EnergyBatteryCharge);
140
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyDayCharge", rd.EnergyDayCharge);
141
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyBatteryDischarge", rd.EnergyBatteryDischarge);
142
+ await this.projectUtils.checkAndSetValueNumber("RunningData.EnergyDayDischarge", rd.EnergyDayDischarge);
143
+ await this.projectUtils.checkAndSetValueNumber("RunningData.BatteryStrings", rd.BatteryStrings);
144
+ await this.projectUtils.checkAndSetValueNumber("RunningData.CpldWarningCode", rd.CpldWarningCode);
145
+ await this.projectUtils.checkAndSetValueNumber("RunningData.WChargeCtrFlag", rd.WChargeCtrFlag);
146
+ await this.projectUtils.checkAndSetValueNumber("RunningData.DerateFrozenPower", rd.DerateFrozenPower);
147
+ await this.projectUtils.checkAndSetValueNumber("RunningData.DiagStatusH", rd.DiagStatusH);
148
+ await this.projectUtils.checkAndSetValueNumber("RunningData.DiagStatusL", rd.DiagStatusL);
149
+ await this.projectUtils.checkAndSetValueNumber("RunningData.TotalPowerPv", rd.TotalPowerPv);
150
+ }
151
+ async updateExtComData() {
152
+ this.inverter.ReadExtComData();
153
+ const ec = this.inverter.ExtComData;
154
+ await this.projectUtils.checkAndSetChannel("ExtComData", "ExtComData");
155
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.Commode", ec.Commode);
156
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.Rssi", ec.Rssi);
157
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.ManufacturerCode", ec.ManufacturerCode);
158
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.MeterConnectStatus", ec.MeterConnectStatus);
159
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.MeterCommunicateStatus", ec.MeterCommunicateStatus);
160
+ await this.projectUtils.updateMeterPhase("ExtComData", "L1", ec.L1.ActivePower, ec.L1.PowerFactor);
161
+ await this.projectUtils.updateMeterPhase("ExtComData", "L2", ec.L2.ActivePower, ec.L2.PowerFactor);
162
+ await this.projectUtils.updateMeterPhase("ExtComData", "L3", ec.L3.ActivePower, ec.L3.PowerFactor);
163
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.TotalActivePower", ec.TotalActivePower);
164
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.TotalReactivePower", ec.TotalReactivePower);
165
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.PowerFactor", ec.PowerFactor);
166
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.Frequency", ec.Frequency);
167
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.EnergyTotalSell", ec.EnergyTotalSell);
168
+ await this.projectUtils.checkAndSetValueNumber("ExtComData.EnergyTotalBuy", ec.EnergyTotalBuy);
169
+ }
170
+ async updateBmsInfo() {
171
+ this.inverter.ReadBmsInfo();
172
+ const bms = this.inverter.BmsInfo;
173
+ await this.projectUtils.checkAndSetChannel("BMSInfo", "BMSInfo");
174
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.Status", bms.Status);
175
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.PackTemperature", bms.PackTemperature);
176
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.CurrentMaxCharge", bms.CurrentMaxCharge);
177
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.CurrentMaxDischarge", bms.CurrentMaxDischarge);
178
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.ErrorCode", bms.ErrorCode);
179
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.SOC", bms.SOC);
180
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.SOH", bms.SOH);
181
+ await this.projectUtils.checkAndSetValueNumber("BMSInfo.BatteryStrings", bms.BatteryStrings);
182
+ }
183
+ myTimer() {
184
+ if (!this.inverter.Status) {
185
+ this.cycleCnt = 0;
186
+ this.inverter.ReadIdInfo();
187
+ }
188
+ else {
189
+ switch (this.cycleCnt) {
190
+ case 1:
191
+ void this.updateDeviceInfo();
192
+ break;
193
+ case 3:
194
+ void this.updateRunningData();
195
+ break;
196
+ case 5:
197
+ void this.updateExtComData();
198
+ break;
199
+ case 7:
200
+ void this.updateBmsInfo();
201
+ break;
202
+ }
203
+ if (this.cycleCnt >= this.config.pollCycle) {
204
+ this.cycleCnt = 0;
205
+ }
206
+ this.cycleCnt++;
207
+ }
208
+ this.tmrTimeout = this.setTimeout(() => this.myTimer(), 1000);
209
+ }
210
+ }
211
+ if (require.main !== module) {
212
+ module.exports = (options) => new Goodwe(options);
213
+ }
214
+ else {
215
+ new Goodwe();
216
+ }
217
+ module.exports = Goodwe;
218
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ {
2
+ "common": {
3
+ "name": "goodwe-pv",
4
+ "version": "0.0.1",
5
+ "news": {
6
+ "0.0.1": {
7
+ "en": "initial release",
8
+ "de": "Erstveröffentlichung",
9
+ "ru": "Начальная версия",
10
+ "pt": "lançamento inicial",
11
+ "nl": "Eerste uitgave",
12
+ "fr": "Première version",
13
+ "it": "Versione iniziale",
14
+ "es": "Versión inicial",
15
+ "pl": "Pierwsze wydanie",
16
+ "zh-cn": "首次出版",
17
+ "uk": "початковий випуск"
18
+ }
19
+ },
20
+ "titleLang": {
21
+ "en": "GoodWe PV",
22
+ "de": "GoodWe PV",
23
+ "ru": "GoodWe PV",
24
+ "pt": "GoodWe PV",
25
+ "nl": "GoodWe PV",
26
+ "fr": "GoodWe PV",
27
+ "it": "GoodWe PV",
28
+ "es": "GoodWe PV",
29
+ "pl": "GoodWe PV",
30
+ "zh-cn": "GoodWe PV",
31
+ "uk": "GoodWe PV"
32
+ },
33
+ "desc": {
34
+ "en": "Communication with GoodWe Inverter ET/EH/BH/BT Series",
35
+ "de": "Kommunikation mit GoodWe Inverter ET/EH/BH/BT-Serie",
36
+ "ru": "Связь с инвертором GoodWe серии ET/EH/BH/BT",
37
+ "pt": "Comunicação com GoodWe Inverter Série ET/EH/BH/BT",
38
+ "nl": "Communicatie met GoodWe Inverter ET/EH/BH/BT-serie",
39
+ "fr": "Communication avec les séries GoodWe Inverter ET/EH/BH/BT",
40
+ "it": "Comunicazione con inverter GoodWe serie ET/EH/BH/BT",
41
+ "es": "Comunicación con inversor GoodWe serie ET/EH/BH/BT",
42
+ "pl": "Komunikacja z falownikami GoodWe serii ET/EH/BH/BT",
43
+ "zh-cn": "与固德威变频器ET/EH/BH/BT系列通讯",
44
+ "uk": "Зв'язок із інверторами GoodWe серії ET/EH/BH/BT"
45
+ },
46
+ "authors": [
47
+ "hombach <goodwePV@homba.ch>"
48
+ ],
49
+ "keywords": [
50
+ "GoodWe",
51
+ "Inverter",
52
+ "power",
53
+ "energy",
54
+ "ET",
55
+ "EH",
56
+ "BH",
57
+ "BT"
58
+ ],
59
+ "licenseInformation": {
60
+ "type": "free",
61
+ "license": "MIT"
62
+ },
63
+ "platform": "Javascript/Node.js",
64
+ "icon": "goodwe-pv.png",
65
+ "enabled": true,
66
+ "extIcon": "https://raw.githubusercontent.com/hombach/ioBroker.goodwe-pv/master/admin/goodwe-pv.png",
67
+ "readme": "https://github.com/hombach/ioBroker.goodwe-pv/blob/master/README.md",
68
+ "loglevel": "info",
69
+ "tier": 2,
70
+ "mode": "daemon",
71
+ "type": "energy",
72
+ "compact": true,
73
+ "connectionType": "local",
74
+ "dataSource": "poll",
75
+ "adminUI": {
76
+ "config": "json"
77
+ },
78
+ "dependencies": [
79
+ {
80
+ "js-controller": ">=6.0.11"
81
+ }
82
+ ],
83
+ "globalDependencies": [
84
+ {
85
+ "admin": ">=7.8.23"
86
+ }
87
+ ]
88
+ },
89
+ "native": {
90
+ "ipAddr": "127.0.0.1",
91
+ "pollCycle": 10
92
+ },
93
+ "objects": [],
94
+ "instanceObjects": [
95
+ {
96
+ "_id": "info",
97
+ "type": "channel",
98
+ "common": {
99
+ "name": "Information"
100
+ },
101
+ "native": {}
102
+ },
103
+ {
104
+ "_id": "info.connection",
105
+ "type": "state",
106
+ "common": {
107
+ "role": "indicator.connected",
108
+ "name": "Device or service connected",
109
+ "type": "boolean",
110
+ "read": true,
111
+ "write": false,
112
+ "def": false
113
+ },
114
+ "native": {}
115
+ }
116
+ ]
117
+ }