homebridge-shelly-energy-meter 0.9.0-beta.2 → 0.9.0-beta.3

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.
@@ -24,7 +24,8 @@
24
24
  "type": "string"
25
25
  },
26
26
  "monophase": {
27
- "title": "Use Monophase Mode instead of Triphase",
27
+ "title": "Monophase Mode (default: Triphase)",
28
+ "description": "Enable this option if your Shelly EM is configured in monophase mode.",
28
29
  "type": "boolean",
29
30
  "default": false
30
31
  },
@@ -24,6 +24,8 @@ export declare class ShellyEnergyMeterPlatform implements DynamicPlatformPlugin
24
24
  * Discover and configure devices from config
25
25
  */
26
26
  discoverDevices(): Promise<void>;
27
+ private determineAccessories;
28
+ private createOrRestoreAccessory;
27
29
  private restoreAccessory;
28
30
  private addAccessory;
29
31
  private removeStaleAccessories;
package/dist/platform.js CHANGED
@@ -84,6 +84,10 @@ export class ShellyEnergyMeterPlatform {
84
84
  profile = sysConfig.device.profile;
85
85
  macAddress = sysConfig.device.mac;
86
86
  this.log.debug(`Device "${device.name}" (${device.ip}) profile: ${profile || 'not set'}`);
87
+ if (!macAddress) {
88
+ this.log.error(`Device "${device.name}" (${device.ip}) does not provide a MAC address. Skipping device.`);
89
+ continue;
90
+ }
87
91
  // Compare plugin config with Shelly config
88
92
  if (typeof device.monophase === 'boolean' && typeof sysConfig.device.profile === 'string') {
89
93
  const isMonophase = device.monophase === true && sysConfig.device.profile === 'monophase';
@@ -104,41 +108,61 @@ export class ShellyEnergyMeterPlatform {
104
108
  // Log other errors but don't skip the device - it might be temporarily unreachable
105
109
  this.log.warn(`Device "${device.name}" (${device.ip}) validation warning: ${errorMessage}. Will retry during polling.`);
106
110
  }
107
- const uuid = this.api.hap.uuid.generate(macAddress);
108
- const existingAccessory = this.accessories.get(uuid);
109
- if (existingAccessory) {
110
- this.restoreAccessory(existingAccessory, device, profile, macAddress);
111
- }
112
- else {
113
- this.addAccessory(uuid, device, profile, macAddress);
111
+ // Create accessories based on config
112
+ const accessoriesToCreate = this.determineAccessories(device);
113
+ for (const { suffix, name } of accessoriesToCreate) {
114
+ this.createOrRestoreAccessory(macAddress + suffix, device, name, macAddress, suffix);
114
115
  }
115
- this.discoveredCacheUUIDs.push(uuid);
116
116
  }
117
117
  this.removeStaleAccessories();
118
118
  }
119
- restoreAccessory(accessory, device, profile, macAddress) {
120
- this.log.info('Restoring existing accessory from cache:', accessory.displayName);
121
- accessory.context.device = device;
122
- if (profile) {
123
- accessory.context.profile = profile;
119
+ determineAccessories(device) {
120
+ const accessories = [];
121
+ if (device.monophase === false) {
122
+ // Triphase
123
+ accessories.push({ suffix: '', name: device.name });
124
+ // Triphase + return enabled
125
+ if (device.enable_triphase_return === true) {
126
+ accessories.push({ suffix: '-return', name: `${device.name} Return` });
127
+ }
124
128
  }
125
- if (macAddress) {
126
- accessory.context.macAddress = macAddress;
129
+ else if (device.monophase === true) {
130
+ // Monophase: three accessories for A, B, C
131
+ for (const phase of ['A', 'B', 'C']) {
132
+ accessories.push({ suffix: `-phase${phase}`, name: `${device.name} Phase ${phase}` });
133
+ }
127
134
  }
135
+ return accessories;
136
+ }
137
+ createOrRestoreAccessory(identifier, device, displayName, macAddress, suffix) {
138
+ const uuid = this.api.hap.uuid.generate(identifier);
139
+ const existingAccessory = this.accessories.get(uuid);
140
+ if (existingAccessory) {
141
+ this.restoreAccessory(existingAccessory, device);
142
+ }
143
+ else {
144
+ this.addAccessory(uuid, device, displayName, macAddress, suffix);
145
+ }
146
+ this.discoveredCacheUUIDs.push(uuid);
147
+ }
148
+ restoreAccessory(accessory, device) {
149
+ this.log.info('Restoring existing accessory from cache:', accessory.displayName);
150
+ // Update device config in case user changed settings
151
+ accessory.context.device = device;
128
152
  this.api.updatePlatformAccessories([accessory]);
129
153
  const handler = new ShellyEnergyMeterPlatformAccessory(this, accessory);
130
154
  this.accessoryHandlers.set(accessory.UUID, handler);
131
155
  }
132
- addAccessory(uuid, device, profile, macAddress) {
133
- this.log.info('Adding new accessory:', device.name);
134
- const accessory = new this.api.platformAccessory(device.name, uuid);
156
+ addAccessory(uuid, device, displayName, macAddress, suffix) {
157
+ this.log.info('Adding new accessory:', displayName);
158
+ const accessory = new this.api.platformAccessory(displayName, uuid);
135
159
  accessory.context.device = device;
136
- if (profile) {
137
- accessory.context.profile = profile;
138
- }
139
160
  if (macAddress) {
140
161
  accessory.context.macAddress = macAddress;
141
162
  }
163
+ if (suffix !== undefined) {
164
+ accessory.context.suffix = suffix;
165
+ }
142
166
  const handler = new ShellyEnergyMeterPlatformAccessory(this, accessory);
143
167
  this.accessories.set(uuid, accessory);
144
168
  this.accessoryHandlers.set(uuid, handler);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -3,36 +3,15 @@ import type { ShellyEnergyMeterPlatform } from './platform.js';
3
3
  export declare class ShellyEnergyMeterPlatformAccessory {
4
4
  private readonly platform;
5
5
  private readonly accessory;
6
- private consumptionService;
7
- private returnService;
8
- private consumptionHistoryService;
9
- private returnHistoryService;
6
+ private service;
7
+ private historyService;
10
8
  private macAddress;
11
9
  private deviceConfig;
12
- private total_act_power;
13
- private total_act_ret_power;
14
- private total_act;
15
- private total_act_ret;
16
- private total_current;
17
- private avg_voltage;
18
- private a_act_power;
19
- private a_act_ret_power;
20
- private a_total_act_energy;
21
- private a_total_act_ret_energy;
22
- private a_current;
23
- private a_voltage;
24
- private b_act_power;
25
- private b_act_ret_power;
26
- private b_total_act_energy;
27
- private b_total_act_ret_energy;
28
- private b_current;
29
- private b_voltage;
30
- private c_act_power;
31
- private c_act_ret_power;
32
- private c_total_act_energy;
33
- private c_total_act_ret_energy;
34
- private c_current;
35
- private c_voltage;
10
+ private suffix;
11
+ private act_power;
12
+ private energy;
13
+ private current;
14
+ private voltage;
36
15
  private EvePowerConsumption;
37
16
  private EveTotalConsumption;
38
17
  private EveAmpere;
@@ -5,36 +5,15 @@ const DEFAULT_POLL_INTERVAL = 10000;
5
5
  export class ShellyEnergyMeterPlatformAccessory {
6
6
  platform;
7
7
  accessory;
8
- consumptionService;
9
- returnService;
10
- consumptionHistoryService;
11
- returnHistoryService;
8
+ service;
9
+ historyService;
12
10
  macAddress;
13
11
  deviceConfig;
14
- total_act_power = 0;
15
- total_act_ret_power = 0;
16
- total_act = 0; // energy
17
- total_act_ret = 0; // energy
18
- total_current = 0;
19
- avg_voltage = 0;
20
- a_act_power = 0;
21
- a_act_ret_power = 0;
22
- a_total_act_energy = 0;
23
- a_total_act_ret_energy = 0;
24
- a_current = 0;
25
- a_voltage = 0;
26
- b_act_power = 0;
27
- b_act_ret_power = 0;
28
- b_total_act_energy = 0;
29
- b_total_act_ret_energy = 0;
30
- b_current = 0;
31
- b_voltage = 0;
32
- c_act_power = 0;
33
- c_act_ret_power = 0;
34
- c_total_act_energy = 0;
35
- c_total_act_ret_energy = 0;
36
- c_current = 0;
37
- c_voltage = 0;
12
+ suffix;
13
+ act_power = 0;
14
+ energy = 0;
15
+ current = 0;
16
+ voltage = 0;
38
17
  EvePowerConsumption;
39
18
  EveTotalConsumption;
40
19
  EveAmpere;
@@ -45,8 +24,9 @@ export class ShellyEnergyMeterPlatformAccessory {
45
24
  constructor(platform, accessory) {
46
25
  this.platform = platform;
47
26
  this.accessory = accessory;
48
- this.deviceConfig = this.accessory.context.device;
49
27
  this.macAddress = this.accessory.context.macAddress;
28
+ this.suffix = this.accessory.context.suffix;
29
+ this.deviceConfig = this.accessory.context.device;
50
30
  this.registerEveCharacteristics();
51
31
  this.setupAccessoryInfo();
52
32
  this.setupService();
@@ -126,7 +106,8 @@ export class ShellyEnergyMeterPlatformAccessory {
126
106
  return { EvePowerConsumption, EveTotalConsumption, EveAmpere, EveVoltage, PowerMeterService };
127
107
  }
128
108
  setupAccessoryInfo() {
129
- const info = this.accessory.getService(this.platform.api.hap.Service.AccessoryInformation);
109
+ const info = this.accessory.getService(this.platform.api.hap.Service.AccessoryInformation)
110
+ ?? this.accessory.addService(this.platform.api.hap.Service.AccessoryInformation);
130
111
  info
131
112
  .setCharacteristic(this.platform.api.hap.Characteristic.Manufacturer, 'Shelly')
132
113
  .setCharacteristic(this.platform.api.hap.Characteristic.Model, '3EM')
@@ -138,38 +119,19 @@ export class ShellyEnergyMeterPlatformAccessory {
138
119
  // Setup consumption power service
139
120
  let existingConsumptionService = this.accessory.services.find(service => service.UUID === POWER_METER_SERVICE_UUID && service.subtype === consumptionSubtype);
140
121
  if (!existingConsumptionService) {
141
- const service = new this.PowerMeterService(`${this.deviceConfig.name} Consumption`, POWER_METER_SERVICE_UUID);
122
+ const service = new this.PowerMeterService(this.accessory.displayName, POWER_METER_SERVICE_UUID);
142
123
  service.subtype = consumptionSubtype;
143
124
  existingConsumptionService = this.accessory.addService(service);
144
125
  }
145
- this.consumptionService = existingConsumptionService;
146
- this.consumptionService.getCharacteristic(this.EvePowerConsumption).onGet(() => this.total_act_power);
147
- this.consumptionService.getCharacteristic(this.EveTotalConsumption).onGet(() => this.total_act);
148
- this.consumptionService.getCharacteristic(this.EveAmpere).onGet(() => this.total_current);
149
- this.consumptionService.getCharacteristic(this.EveVoltage).onGet(() => this.avg_voltage);
150
- this.consumptionHistoryService = new this.platform.FakeGatoHistoryService('energy', this.accessory, {
126
+ this.service = existingConsumptionService;
127
+ this.service.getCharacteristic(this.EvePowerConsumption).onGet(() => this.act_power);
128
+ this.service.getCharacteristic(this.EveTotalConsumption).onGet(() => this.energy);
129
+ this.service.getCharacteristic(this.EveAmpere).onGet(() => this.current);
130
+ this.service.getCharacteristic(this.EveVoltage).onGet(() => this.voltage);
131
+ this.historyService = new this.platform.FakeGatoHistoryService('energy', this.accessory, {
151
132
  log: this.platform.log,
152
133
  storage: 'fs',
153
134
  });
154
- // Add additional service for return power/energy if enabled in config
155
- if (this.deviceConfig.enable_triphase_return === true) {
156
- const returnSubtype = `${this.macAddress}-return`;
157
- let existingReturnService = this.accessory.services.find(service => service.UUID === POWER_METER_SERVICE_UUID && service.subtype === returnSubtype);
158
- if (!existingReturnService) {
159
- const returnService = new this.PowerMeterService(`${this.deviceConfig.name} Return`, POWER_METER_SERVICE_UUID);
160
- returnService.subtype = returnSubtype;
161
- existingReturnService = this.accessory.addService(returnService);
162
- }
163
- this.returnService = existingReturnService;
164
- existingReturnService.getCharacteristic(this.EvePowerConsumption).onGet(() => 0);
165
- existingReturnService.getCharacteristic(this.EveTotalConsumption).onGet(() => 0);
166
- existingReturnService.getCharacteristic(this.EveAmpere).onGet(() => 0);
167
- existingReturnService.getCharacteristic(this.EveVoltage).onGet(() => 0);
168
- this.returnHistoryService = new this.platform.FakeGatoHistoryService('energy', this.accessory, {
169
- log: this.platform.log,
170
- storage: 'fs',
171
- });
172
- }
173
135
  }
174
136
  startPolling() {
175
137
  void this.updateFromDevice();
@@ -178,11 +140,11 @@ export class ShellyEnergyMeterPlatformAccessory {
178
140
  stopPolling() {
179
141
  clearInterval(this.pollingInterval);
180
142
  this.pollingInterval = undefined;
181
- this.platform.log.debug(`[${this.deviceConfig.name}] Data polling stopped.`);
143
+ this.platform.log.debug(`[${this.accessory.displayName}] Data polling stopped.`);
182
144
  }
183
145
  async updateFromDevice() {
184
146
  if (this.isUpdating) {
185
- this.platform.log.debug(`[${this.deviceConfig.name}] Skipping update - previous update still in progress`);
147
+ this.platform.log.debug(`[${this.accessory.displayName}] Skipping update - previous update still in progress`);
186
148
  return;
187
149
  }
188
150
  this.isUpdating = true;
@@ -201,7 +163,7 @@ export class ShellyEnergyMeterPlatformAccessory {
201
163
  catch (err) {
202
164
  // Catches unexpected errors in handlers (not API calls)
203
165
  const message = err instanceof Error ? err.message : String(err);
204
- this.platform.log.error(`[${this.deviceConfig.name}] Unexpected error:`, message);
166
+ this.platform.log.error(`[${this.accessory.displayName}] Unexpected error:`, message);
205
167
  }
206
168
  finally {
207
169
  this.isUpdating = false;
@@ -210,67 +172,71 @@ export class ShellyEnergyMeterPlatformAccessory {
210
172
  handleStatusResult(result) {
211
173
  if (result.status === 'fulfilled') {
212
174
  const data = result.value;
213
- this.a_current = data.a_current ?? 0;
214
- this.a_voltage = data.a_voltage ?? 0;
215
- this.a_act_power = data.a_act_power && data.a_act_power > 0 ? data.a_act_power : 0;
216
- this.a_act_ret_power = data.a_act_power && data.a_act_power < 0 ? Math.abs(data.a_act_power) : 0;
217
- this.b_current = data.b_current ?? 0;
218
- this.b_voltage = data.b_voltage ?? 0;
219
- this.b_act_power = data.b_act_power ?? 0;
220
- this.b_act_power = data.b_act_power && data.b_act_power > 0 ? data.b_act_power : 0;
221
- this.b_act_ret_power = data.b_act_power && data.b_act_power < 0 ? Math.abs(data.b_act_power) : 0;
222
- this.c_current = data.c_current ?? 0;
223
- this.c_voltage = data.c_voltage ?? 0;
224
- this.c_act_power = data.c_act_power ?? 0;
225
- this.c_act_power = data.c_act_power && data.c_act_power > 0 ? data.c_act_power : 0;
226
- this.c_act_ret_power = data.c_act_power && data.c_act_power < 0 ? Math.abs(data.c_act_power) : 0;
227
- this.total_current = data.total_current ?? 0;
228
- this.avg_voltage = this.calculateAverageVoltage(data);
229
- this.total_act_power = data.total_act_power && data.total_act_power > 0 ? data.total_act_power : 0;
230
- this.total_act_ret_power = data.total_act_power && data.total_act_power < 0 ? Math.abs(data.total_act_power) : 0;
175
+ const phaseMap = {
176
+ '-phaseA': { current: data.a_current, voltage: data.a_voltage, power: data.a_act_power },
177
+ '-phaseB': { current: data.b_current, voltage: data.b_voltage, power: data.b_act_power },
178
+ '-phaseC': { current: data.c_current, voltage: data.c_voltage, power: data.c_act_power },
179
+ };
180
+ if (phaseMap[this.suffix]) {
181
+ const phase = phaseMap[this.suffix];
182
+ this.current = phase.current ?? 0;
183
+ this.voltage = phase.voltage ?? 0;
184
+ this.act_power = phase.power && phase.power > 0 ? Math.abs(phase.power) : 0;
185
+ }
186
+ else if (this.suffix === '-return') {
187
+ this.current = 0;
188
+ this.voltage = 0;
189
+ this.act_power = data.total_act_power && data.total_act_power < 0 ? Math.abs(data.total_act_power) : 0;
190
+ }
191
+ else {
192
+ // Main triphase accessory (suffix === '')
193
+ this.current = data.total_current ?? 0;
194
+ this.voltage = this.calculateAverageVoltage(data);
195
+ this.act_power = data.total_act_power && data.total_act_power > 0 ? Math.abs(data.total_act_power) : 0;
196
+ }
231
197
  }
232
198
  else {
233
- this.platform.log.error(`[${this.deviceConfig.name}] Request failed (status):`, this.formatError(result.reason));
234
- this.a_current = 0;
235
- this.a_voltage = 0;
236
- this.a_act_power = 0;
237
- this.a_act_ret_power = 0;
238
- this.b_current = 0;
239
- this.b_voltage = 0;
240
- this.b_act_power = 0;
241
- this.b_act_ret_power = 0;
242
- this.c_current = 0;
243
- this.c_voltage = 0;
244
- this.c_act_power = 0;
245
- this.c_act_ret_power = 0;
246
- this.total_current = 0;
247
- this.avg_voltage = 0;
248
- this.total_act_power = 0;
249
- this.total_act_ret_power = 0;
199
+ this.platform.log.error(`[${this.accessory.displayName}] Request failed (status):`, this.formatError(result.reason));
200
+ this.current = 0;
201
+ this.voltage = 0;
202
+ this.act_power = 0;
250
203
  }
251
204
  }
252
205
  handleDataStatusResult(result) {
253
206
  if (result.status === 'fulfilled') {
254
207
  const data = result.value;
255
- this.a_total_act_energy = (data.a_total_act_energy ?? 0) / WH_TO_KWH;
256
- this.b_total_act_energy = (data.b_total_act_energy ?? 0) / WH_TO_KWH;
257
- this.c_total_act_energy = (data.c_total_act_energy ?? 0) / WH_TO_KWH;
258
- this.total_act = (data.total_act ?? 0) / WH_TO_KWH;
259
- this.a_total_act_ret_energy = (data.a_total_act_ret_energy ?? 0) / WH_TO_KWH;
260
- this.b_total_act_ret_energy = (data.b_total_act_ret_energy ?? 0) / WH_TO_KWH;
261
- this.c_total_act_ret_energy = (data.c_total_act_ret_energy ?? 0) / WH_TO_KWH;
262
- this.total_act_ret = (data.total_act_ret ?? 0) / WH_TO_KWH;
208
+ const phaseConfigs = {
209
+ '-phaseA': {
210
+ energy: data.a_total_act_energy ?? 0,
211
+ returnEnergy: data.a_total_act_ret_energy ?? 0,
212
+ returnEnabled: this.deviceConfig.enable_phaseA_return,
213
+ },
214
+ '-phaseB': {
215
+ energy: data.b_total_act_energy ?? 0,
216
+ returnEnergy: data.b_total_act_ret_energy ?? 0,
217
+ returnEnabled: this.deviceConfig.enable_phaseB_return,
218
+ },
219
+ '-phaseC': {
220
+ energy: data.c_total_act_energy ?? 0,
221
+ returnEnergy: data.c_total_act_ret_energy ?? 0,
222
+ returnEnabled: this.deviceConfig.enable_phaseC_return,
223
+ },
224
+ };
225
+ if (phaseConfigs[this.suffix]) {
226
+ const config = phaseConfigs[this.suffix];
227
+ this.energy = (config.returnEnabled ? config.returnEnergy : config.energy) / WH_TO_KWH;
228
+ }
229
+ else if (this.suffix === '-return') {
230
+ this.energy = (data.total_act_ret ?? 0) / WH_TO_KWH;
231
+ }
232
+ else {
233
+ // Main triphase accessory (suffix === '')
234
+ this.energy = (data.total_act ?? 0) / WH_TO_KWH;
235
+ }
263
236
  }
264
237
  else {
265
- this.platform.log.error(`[${this.deviceConfig.name}] Request failed (data):`, this.formatError(result.reason));
266
- this.a_total_act_energy = 0;
267
- this.b_total_act_energy = 0;
268
- this.c_total_act_energy = 0;
269
- this.total_act = 0;
270
- this.a_total_act_ret_energy = 0;
271
- this.b_total_act_ret_energy = 0;
272
- this.c_total_act_ret_energy = 0;
273
- this.total_act_ret = 0;
238
+ this.platform.log.error(`[${this.accessory.displayName}] Request failed (data):`, this.formatError(result.reason));
239
+ this.energy = 0;
274
240
  }
275
241
  }
276
242
  calculateAverageVoltage(data) {
@@ -286,28 +252,16 @@ export class ShellyEnergyMeterPlatformAccessory {
286
252
  }
287
253
  updateAllCharacteristics() {
288
254
  // Update all status characteristics
289
- this.consumptionService.getCharacteristic(this.EvePowerConsumption).updateValue(this.total_act_power);
290
- this.consumptionService.getCharacteristic(this.EveAmpere).updateValue(this.total_current);
291
- this.consumptionService.getCharacteristic(this.EveVoltage).updateValue(this.avg_voltage);
292
- this.consumptionService.getCharacteristic(this.EveTotalConsumption).updateValue(this.total_act);
255
+ this.service.getCharacteristic(this.EvePowerConsumption).updateValue(this.act_power);
256
+ this.service.getCharacteristic(this.EveAmpere).updateValue(this.current);
257
+ this.service.getCharacteristic(this.EveVoltage).updateValue(this.voltage);
258
+ this.service.getCharacteristic(this.EveTotalConsumption).updateValue(this.energy);
293
259
  // Add history entry
294
- this.consumptionHistoryService.addEntry({
260
+ this.historyService.addEntry({
295
261
  time: Math.floor(Date.now() / 1000),
296
- power: this.total_act_power,
297
- totalEnergy: this.total_act,
262
+ power: this.act_power,
263
+ totalEnergy: this.energy,
298
264
  });
299
- if (this.deviceConfig.enable_triphase_return === true) {
300
- this.returnService.getCharacteristic(this.EvePowerConsumption).updateValue(this.total_act_ret_power);
301
- this.returnService.getCharacteristic(this.EveTotalConsumption).updateValue(this.total_act_ret);
302
- this.returnService.getCharacteristic(this.EveAmpere).updateValue(0);
303
- this.returnService.getCharacteristic(this.EveVoltage).updateValue(0);
304
- // Add history entry
305
- this.returnHistoryService.addEntry({
306
- time: Math.floor(Date.now() / 1000),
307
- power: this.total_act_power,
308
- totalEnergy: this.total_act,
309
- });
310
- }
311
265
  }
312
266
  }
313
267
  //# sourceMappingURL=platformAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
package/dist/shellyAPI.js CHANGED
@@ -39,7 +39,7 @@ async function fetchAndParseJSON(url, deviceConfig, log) {
39
39
  log.debug(`[${deviceConfig.name}] Response headers:`, JSON.stringify(headersObj));
40
40
  }
41
41
  const text = await response.text();
42
- throw new Error(`HTTP ${response.status} for ${url}: ${text}`);
42
+ throw new Error(`[${deviceConfig.name}] HTTP ${response.status} for ${url}: ${text}`);
43
43
  }
44
44
  return response.json();
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shellyAPI.js","sourceRoot":"","sources":["../src/shellyAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shellyAPI.js","sourceRoot":"","sources":["../src/shellyAPI.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ export type AccessorySuffix = '' | '-return' | '-phaseA' | '-phaseB' | '-phaseC';
2
+ export type PhaseConfig = {
3
+ energy: number;
4
+ returnEnergy: number;
5
+ returnEnabled?: boolean;
6
+ };
1
7
  export interface DeviceConfig {
2
8
  name: string;
3
9
  ip: string;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "homebridge-shelly-energy-meter",
3
3
  "displayName": "Shelly (Pro) 3EM Energy Meter",
4
4
  "type": "module",
5
- "version": "0.9.0-beta.2",
5
+ "version": "0.9.0-beta.3",
6
6
  "description": "A short description about what your plugin does.",
7
7
  "author": "Patrick Probst",
8
8
  "license": "Apache-2.0",