@pietrolubini/homebridge-ecoflow 1.6.0-alpha.0 → 1.6.0

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.
Files changed (77) hide show
  1. package/.gitattributes +1 -0
  2. package/README.md +132 -63
  3. package/config.schema.json +46 -1
  4. package/dist/accessories/ecoFlowAccessoryBase.d.ts +4 -1
  5. package/dist/accessories/ecoFlowAccessoryBase.js +27 -2
  6. package/dist/accessories/ecoFlowAccessoryBase.js.map +1 -1
  7. package/dist/accessories/powerocean/interfaces/powerOceanHttpApiContracts.d.ts +7 -0
  8. package/dist/accessories/powerocean/interfaces/powerOceanHttpApiContracts.js +3 -0
  9. package/dist/accessories/powerocean/interfaces/powerOceanHttpApiContracts.js.map +1 -0
  10. package/dist/accessories/powerocean/interfaces/powerOceanMqttApiContracts.d.ts +5 -0
  11. package/dist/accessories/powerocean/interfaces/powerOceanMqttApiContracts.js +3 -0
  12. package/dist/accessories/powerocean/interfaces/powerOceanMqttApiContracts.js.map +1 -0
  13. package/dist/accessories/powerocean/powerOceanAccessory.d.ts +24 -0
  14. package/dist/accessories/powerocean/powerOceanAccessory.js +87 -0
  15. package/dist/accessories/powerocean/powerOceanAccessory.js.map +1 -0
  16. package/dist/accessories/powerocean/simulations/powerOceanSimulator.d.ts +5 -0
  17. package/dist/accessories/powerocean/simulations/powerOceanSimulator.js +23 -0
  18. package/dist/accessories/powerocean/simulations/powerOceanSimulator.js.map +1 -0
  19. package/dist/accessories/powerstream/powerStreamAccessory.js +4 -5
  20. package/dist/accessories/powerstream/powerStreamAccessory.js.map +1 -1
  21. package/dist/apis/containers/mqttDevice.d.ts +2 -0
  22. package/dist/apis/containers/mqttDevice.js +7 -0
  23. package/dist/apis/containers/mqttDevice.js.map +1 -1
  24. package/dist/apis/ecoFlowMqttApiManager.d.ts +2 -0
  25. package/dist/apis/ecoFlowMqttApiManager.js +6 -0
  26. package/dist/apis/ecoFlowMqttApiManager.js.map +1 -1
  27. package/dist/apis/interfaces/mqttApiContracts.d.ts +11 -1
  28. package/dist/apis/interfaces/mqttApiContracts.js +1 -0
  29. package/dist/apis/interfaces/mqttApiContracts.js.map +1 -1
  30. package/dist/apis/simulations/mockMqttClient.d.ts +3 -1
  31. package/dist/apis/simulations/mockMqttClient.js +24 -5
  32. package/dist/apis/simulations/mockMqttClient.js.map +1 -1
  33. package/dist/apis/simulations/simulator.d.ts +2 -1
  34. package/dist/apis/simulations/simulator.js +12 -0
  35. package/dist/apis/simulations/simulator.js.map +1 -1
  36. package/dist/config.d.ts +7 -3
  37. package/dist/config.js +2 -1
  38. package/dist/config.js.map +1 -1
  39. package/dist/homebridge-ui/public/index.html +1 -1
  40. package/dist/homebridge-ui/public/index.js +1 -1
  41. package/dist/platform.js +8 -6
  42. package/dist/platform.js.map +1 -1
  43. package/dist/services/contactSensorService.d.ts +1 -0
  44. package/dist/services/contactSensorService.js +6 -3
  45. package/dist/services/contactSensorService.js.map +1 -1
  46. package/dist/services/fanServiceBase.d.ts +3 -1
  47. package/dist/services/fanServiceBase.js +21 -15
  48. package/dist/services/fanServiceBase.js.map +1 -1
  49. package/dist/services/lightBulbServiceBase.d.ts +3 -1
  50. package/dist/services/lightBulbServiceBase.js +21 -15
  51. package/dist/services/lightBulbServiceBase.js.map +1 -1
  52. package/dist/{accessories/powerstream/services/outletInvService.d.ts → services/outletReadOnlyService.d.ts} +2 -2
  53. package/dist/{accessories/powerstream/services/outletService.js → services/outletReadOnlyService.js} +4 -4
  54. package/dist/services/outletReadOnlyService.js.map +1 -0
  55. package/dist/services/outletServiceBase.d.ts +1 -0
  56. package/dist/services/outletServiceBase.js +8 -5
  57. package/dist/services/outletServiceBase.js.map +1 -1
  58. package/dist/services/serviceBase.d.ts +6 -1
  59. package/dist/services/serviceBase.js +23 -10
  60. package/dist/services/serviceBase.js.map +1 -1
  61. package/dist/services/switchServiceBase.d.ts +1 -0
  62. package/dist/services/switchServiceBase.js +8 -5
  63. package/dist/services/switchServiceBase.js.map +1 -1
  64. package/dist/services/temperatureSensorService.d.ts +1 -1
  65. package/dist/services/temperatureSensorService.js +4 -3
  66. package/dist/services/temperatureSensorService.js.map +1 -1
  67. package/dist/services/thermostatFridgeServiceBase.d.ts +6 -3
  68. package/dist/services/thermostatFridgeServiceBase.js +50 -30
  69. package/dist/services/thermostatFridgeServiceBase.js.map +1 -1
  70. package/junit.xml +1042 -834
  71. package/package.json +1 -1
  72. package/dist/accessories/powerstream/services/outletInvService.js +0 -14
  73. package/dist/accessories/powerstream/services/outletInvService.js.map +0 -1
  74. package/dist/accessories/powerstream/services/outletService.d.ts +0 -9
  75. package/dist/accessories/powerstream/services/outletService.js.map +0 -1
  76. /package/dist/accessories/{powerstream/services/outletInvService.spec.d.ts → powerocean/powerOceanAccessory.spec.d.ts} +0 -0
  77. /package/dist/{accessories/powerstream/services/outletService.spec.d.ts → services/outletReadOnlyService.spec.d.ts} +0 -0
@@ -4,11 +4,10 @@ exports.PowerStreamAccessory = void 0;
4
4
  const ecoFlowAccessoryWithQuotaBase_1 = require("@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase");
5
5
  const powerStreamMqttApiContracts_1 = require("@ecoflow/accessories/powerstream/interfaces/powerStreamMqttApiContracts");
6
6
  const brightnessService_1 = require("@ecoflow/accessories/powerstream/services/brightnessService");
7
- const outletInvService_1 = require("@ecoflow/accessories/powerstream/services/outletInvService");
8
- const outletService_1 = require("@ecoflow/accessories/powerstream/services/outletService");
9
7
  const powerDemandService_1 = require("@ecoflow/accessories/powerstream/services/powerDemandService");
10
8
  const characteristicContracts_1 = require("@ecoflow/characteristics/characteristicContracts");
11
9
  const config_1 = require("@ecoflow/config");
10
+ const outletReadOnlyService_1 = require("@ecoflow/services/outletReadOnlyService");
12
11
  class PowerStreamAccessory extends ecoFlowAccessoryWithQuotaBase_1.EcoFlowAccessoryWithQuotaBase {
13
12
  inverterOutletService;
14
13
  solarOutletService;
@@ -17,9 +16,9 @@ class PowerStreamAccessory extends ecoFlowAccessoryWithQuotaBase_1.EcoFlowAccess
17
16
  inverterPowerDemandService;
18
17
  constructor(platform, accessory, config, log, httpApiManager, mqttApiManager, batteryStatusProvider) {
19
18
  super(platform, accessory, config, log, httpApiManager, mqttApiManager);
20
- this.inverterOutletService = new outletInvService_1.OutletInvService(this, batteryStatusProvider, config.powerStream?.inverterAdditionalCharacteristics);
21
- this.solarOutletService = new outletService_1.OutletService(this, batteryStatusProvider, 'PV', config.powerStream?.pvAdditionalCharacteristics);
22
- this.batteryOutletService = new outletService_1.OutletService(this, batteryStatusProvider, 'BAT', config.powerStream?.batteryAdditionalCharacteristics);
19
+ this.inverterOutletService = new outletReadOnlyService_1.OutletReadOnlyService(this, batteryStatusProvider, 'INV', config.powerStream?.inverterAdditionalCharacteristics);
20
+ this.solarOutletService = new outletReadOnlyService_1.OutletReadOnlyService(this, batteryStatusProvider, 'PV', config.powerStream?.pvAdditionalCharacteristics);
21
+ this.batteryOutletService = new outletReadOnlyService_1.OutletReadOnlyService(this, batteryStatusProvider, 'BAT', config.powerStream?.batteryAdditionalCharacteristics);
23
22
  this.inverterBrightnessService = new brightnessService_1.BrightnessService(this, 1023);
24
23
  this.inverterPowerDemandService = new powerDemandService_1.PowerDemandService(this, (config.powerStream?.type ?? config_1.PowerStreamConsumptionType.W600) * 10);
25
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"powerStreamAccessory.js","sourceRoot":"","sources":["../../../src/accessories/powerstream/powerStreamAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powerStreamAccessory.js","sourceRoot":"","sources":["../../../src/accessories/powerstream/powerStreamAccessory.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,10 @@ export declare class MqttDevice {
7
7
  readonly log: Logging;
8
8
  private readonly quotaSubject;
9
9
  private readonly setReplySubject;
10
+ private readonly statusSubject;
10
11
  private readonly quota$;
11
12
  private readonly setReply$;
13
+ private readonly status$;
12
14
  constructor(config: DeviceInfoConfig, log: Logging);
13
15
  processReceivedMessage(topicType: MqttTopicType, message: MqttMessage): void;
14
16
  subscribeOnMessage<TMessage>(topicType: MqttTopicType, callback: (message: TMessage) => void): Subscription | undefined;
@@ -8,8 +8,10 @@ class MqttDevice {
8
8
  log;
9
9
  quotaSubject = new rxjs_1.Subject();
10
10
  setReplySubject = new rxjs_1.Subject();
11
+ statusSubject = new rxjs_1.Subject();
11
12
  quota$ = this.quotaSubject.asObservable();
12
13
  setReply$ = this.setReplySubject.asObservable();
14
+ status$ = this.statusSubject.asObservable();
13
15
  constructor(config, log) {
14
16
  this.config = config;
15
17
  this.log = log;
@@ -23,6 +25,9 @@ class MqttDevice {
23
25
  case mqttApiContracts_1.MqttTopicType.SetReply:
24
26
  this.setReplySubject.next(message);
25
27
  break;
28
+ case mqttApiContracts_1.MqttTopicType.Status:
29
+ this.statusSubject.next(message);
30
+ break;
26
31
  default:
27
32
  this.log.warn('Received message for unsupported topic:', topicType);
28
33
  }
@@ -33,6 +38,8 @@ class MqttDevice {
33
38
  return this.quota$.subscribe(message => callback(message));
34
39
  case mqttApiContracts_1.MqttTopicType.SetReply:
35
40
  return this.setReply$.subscribe(message => callback(message));
41
+ case mqttApiContracts_1.MqttTopicType.Status:
42
+ return this.status$.subscribe(message => callback(message));
36
43
  default:
37
44
  this.log.warn('Topic is not supported for subscription:', topicType);
38
45
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"mqttDevice.js","sourceRoot":"","sources":["../../../src/apis/containers/mqttDevice.ts"],"names":[],"mappings":";;;AAAA,gFAKmD;AAGnD,+BAAyD;AAEzD,MAAa,UAAU;IAOZ;IACS;IAPD,YAAY,GAA8B,IAAI,cAAO,EAAoB,CAAC;IAC1E,eAAe,GAAiC,IAAI,cAAO,EAAuB,CAAC;IACnF,MAAM,GAAiC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IACxE,SAAS,GAAoC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAElG,YACS,MAAwB,EACf,GAAY;QADrB,WAAM,GAAN,MAAM,CAAkB;QACf,QAAG,GAAH,GAAG,CAAS;IAC3B,CAAC;IAEG,sBAAsB,CAAC,SAAwB,EAAE,OAAoB;QAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,gCAAa,CAAC,KAAK;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAA2B,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,gCAAa,CAAC,QAAQ;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAA8B,CAAC,CAAC;gBAC1D,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEM,kBAAkB,CACvB,SAAwB,EACxB,QAAqC;QAErC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,gCAAa,CAAC,KAAK;gBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YACzE,KAAK,gCAAa,CAAC,QAAQ;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YAC5E;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,SAAS,CAAC,CAAC;gBACrE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAvCD,gCAuCC"}
1
+ {"version":3,"file":"mqttDevice.js","sourceRoot":"","sources":["../../../src/apis/containers/mqttDevice.ts"],"names":[],"mappings":";;;AAAA,gFAMmD;AAGnD,+BAAyD;AAEzD,MAAa,UAAU;IASZ;IACS;IATD,YAAY,GAA8B,IAAI,cAAO,EAAoB,CAAC;IAC1E,eAAe,GAAiC,IAAI,cAAO,EAAuB,CAAC;IACnF,aAAa,GAA+B,IAAI,cAAO,EAAqB,CAAC;IAC7E,MAAM,GAAiC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IACxE,SAAS,GAAoC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACjF,OAAO,GAAkC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAE5F,YACS,MAAwB,EACf,GAAY;QADrB,WAAM,GAAN,MAAM,CAAkB;QACf,QAAG,GAAH,GAAG,CAAS;IAC3B,CAAC;IAEG,sBAAsB,CAAC,SAAwB,EAAE,OAAoB;QAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,gCAAa,CAAC,KAAK;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAA2B,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,gCAAa,CAAC,QAAQ;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAA8B,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,gCAAa,CAAC,MAAM;gBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAA4B,CAAC,CAAC;gBACtD,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEM,kBAAkB,CACvB,SAAwB,EACxB,QAAqC;QAErC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,gCAAa,CAAC,KAAK;gBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YACzE,KAAK,gCAAa,CAAC,QAAQ;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YAC5E,KAAK,gCAAa,CAAC,MAAM;gBACvB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YAC1E;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,SAAS,CAAC,CAAC;gBACrE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AA9CD,gCA8CC"}
@@ -11,8 +11,10 @@ export declare class EcoFlowMqttApiManager {
11
11
  destroy(): Promise<void>;
12
12
  subscribeOnQuotaTopic(deviceInfo: DeviceInfo): Promise<boolean>;
13
13
  subscribeOnSetReplyTopic(deviceInfo: DeviceInfo): Promise<boolean>;
14
+ subscribeOnStatusTopic(deviceInfo: DeviceInfo): Promise<boolean>;
14
15
  subscribeOnQuotaMessage<TMessage>(deviceInfo: DeviceInfo, callback: (message: TMessage) => void): Subscription | undefined;
15
16
  subscribeOnSetReplyMessage<TMessage>(deviceInfo: DeviceInfo, callback: (message: TMessage) => void): Subscription | undefined;
17
+ subscribeOnStatusMessage<TMessage>(deviceInfo: DeviceInfo, callback: (message: TMessage) => void): Subscription | undefined;
16
18
  sendSetCommand(deviceInfo: DeviceInfo, message: MqttSetMessage): Promise<void>;
17
19
  private connect;
18
20
  private connectMqttClient;
@@ -32,12 +32,18 @@ class EcoFlowMqttApiManager {
32
32
  subscribeOnSetReplyTopic(deviceInfo) {
33
33
  return this.subscribeOnTopic(deviceInfo, mqttApiContracts_1.MqttTopicType.SetReply);
34
34
  }
35
+ subscribeOnStatusTopic(deviceInfo) {
36
+ return this.subscribeOnTopic(deviceInfo, mqttApiContracts_1.MqttTopicType.Status);
37
+ }
35
38
  subscribeOnQuotaMessage(deviceInfo, callback) {
36
39
  return this.subscribeOnMessage(deviceInfo, mqttApiContracts_1.MqttTopicType.Quota, callback);
37
40
  }
38
41
  subscribeOnSetReplyMessage(deviceInfo, callback) {
39
42
  return this.subscribeOnMessage(deviceInfo, mqttApiContracts_1.MqttTopicType.SetReply, callback);
40
43
  }
44
+ subscribeOnStatusMessage(deviceInfo, callback) {
45
+ return this.subscribeOnMessage(deviceInfo, mqttApiContracts_1.MqttTopicType.Status, callback);
46
+ }
41
47
  async sendSetCommand(deviceInfo, message) {
42
48
  const client = await this.connect(deviceInfo);
43
49
  if (client?.isConnected() && client.client) {
@@ -1 +1 @@
1
- {"version":3,"file":"ecoFlowMqttApiManager.js","sourceRoot":"","sources":["../../src/apis/ecoFlowMqttApiManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecoFlowMqttApiManager.js","sourceRoot":"","sources":["../../src/apis/ecoFlowMqttApiManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
+ import { EnableType } from '@ecoflow/characteristics/characteristicContracts';
1
2
  export interface MqttMessage {
2
3
  }
3
4
  export interface MqttQuotaMessage extends MqttMessage {
4
5
  }
6
+ export interface MqttStatusMessage extends MqttMessage {
7
+ id: string;
8
+ version: string;
9
+ timestamp: number;
10
+ params: {
11
+ status: EnableType;
12
+ };
13
+ }
5
14
  export interface MqttQuotaMessageWithParams<TParams> extends MqttQuotaMessage {
6
15
  params: TParams;
7
16
  }
@@ -36,5 +45,6 @@ export interface MqttSetReplyMessageWithData<TData extends MqttSetReplyMessageDa
36
45
  }
37
46
  export declare enum MqttTopicType {
38
47
  Quota = "quota",
39
- SetReply = "set_reply"
48
+ SetReply = "set_reply",
49
+ Status = "status"
40
50
  }
@@ -5,5 +5,6 @@ var MqttTopicType;
5
5
  (function (MqttTopicType) {
6
6
  MqttTopicType["Quota"] = "quota";
7
7
  MqttTopicType["SetReply"] = "set_reply";
8
+ MqttTopicType["Status"] = "status";
8
9
  })(MqttTopicType || (exports.MqttTopicType = MqttTopicType = {}));
9
10
  //# sourceMappingURL=mqttApiContracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqttApiContracts.js","sourceRoot":"","sources":["../../../src/apis/interfaces/mqttApiContracts.ts"],"names":[],"mappings":";;;AAgDA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,uCAAsB,CAAA;AACxB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
1
+ {"version":3,"file":"mqttApiContracts.js","sourceRoot":"","sources":["../../../src/apis/interfaces/mqttApiContracts.ts"],"names":[],"mappings":";;;AA2DA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,uCAAsB,CAAA;IACtB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -2,7 +2,8 @@ import { DeviceInfo } from '@ecoflow/apis/containers/deviceInfo';
2
2
  import { IClientOptions, ISubscriptionGrant, MqttClient, Packet } from 'mqtt';
3
3
  export declare class MockMqttClient extends MqttClient {
4
4
  private readonly deviceInfo;
5
- private emitQuotaTimeoutId;
5
+ private emitQuotaIntervalId;
6
+ private emitStatusIntervalId;
6
7
  private readonly subscriptionTopics;
7
8
  private readonly simulator;
8
9
  constructor(deviceInfo: DeviceInfo, options: IClientOptions);
@@ -11,5 +12,6 @@ export declare class MockMqttClient extends MqttClient {
11
12
  subscribeAsync(topic: string): Promise<ISubscriptionGrant[]>;
12
13
  publishAsync(topic: string, message: string): Promise<Packet | undefined>;
13
14
  private emitQuota;
15
+ private emitStatus;
14
16
  private emitMessage;
15
17
  }
@@ -4,7 +4,8 @@ exports.MockMqttClient = void 0;
4
4
  const mqtt_1 = require("mqtt");
5
5
  class MockMqttClient extends mqtt_1.MqttClient {
6
6
  deviceInfo;
7
- emitQuotaTimeoutId = null;
7
+ emitQuotaIntervalId = null;
8
+ emitStatusIntervalId = null;
8
9
  subscriptionTopics = [];
9
10
  simulator;
10
11
  constructor(deviceInfo, options) {
@@ -18,18 +19,27 @@ class MockMqttClient extends mqtt_1.MqttClient {
18
19
  return this;
19
20
  }
20
21
  async endAsync() {
21
- if (this.emitQuotaTimeoutId !== null) {
22
- clearTimeout(this.emitQuotaTimeoutId);
23
- this.emitQuotaTimeoutId = null;
22
+ if (this.emitQuotaIntervalId !== null) {
23
+ clearTimeout(this.emitQuotaIntervalId);
24
+ this.emitQuotaIntervalId = null;
25
+ }
26
+ if (this.emitStatusIntervalId !== null) {
27
+ clearTimeout(this.emitStatusIntervalId);
28
+ this.emitStatusIntervalId = null;
24
29
  }
25
30
  }
26
31
  async subscribeAsync(topic) {
27
32
  this.subscriptionTopics.push(topic);
28
33
  if (topic.endsWith('quota')) {
29
- this.emitQuotaTimeoutId = setInterval(() => {
34
+ this.emitQuotaIntervalId = setInterval(() => {
30
35
  this.emitQuota();
31
36
  }, this.deviceInfo.config.simulateQuotaTimeoutMs ?? 10000);
32
37
  }
38
+ if (topic.endsWith('status')) {
39
+ this.emitStatusIntervalId = setInterval(() => {
40
+ this.emitStatus();
41
+ }, this.deviceInfo.config.simulateStatusTimeoutMs ?? 10000);
42
+ }
33
43
  return [];
34
44
  }
35
45
  async publishAsync(topic, message) {
@@ -51,6 +61,15 @@ class MockMqttClient extends mqtt_1.MqttClient {
51
61
  });
52
62
  }
53
63
  }
64
+ emitStatus() {
65
+ if (this.simulator) {
66
+ this.subscriptionTopics
67
+ .filter(topic => topic.endsWith('status'))
68
+ .forEach(topic => {
69
+ this.emitMessage(topic, this.simulator.generateStatus());
70
+ });
71
+ }
72
+ }
54
73
  emitMessage(topic, message) {
55
74
  this.emit('message', topic, Buffer.from(JSON.stringify(message)), undefined);
56
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mockMqttClient.js","sourceRoot":"","sources":["../../../src/apis/simulations/mockMqttClient.ts"],"names":[],"mappings":";;;AAEA,+BAA6G;AAE7G,MAAa,cAAe,SAAQ,iBAAU;IAMzB;IALX,kBAAkB,GAA0B,IAAI,CAAC;IACxC,kBAAkB,GAAa,EAAE,CAAC;IAClC,SAAS,CAAmB;IAE7C,YACmB,UAAsB,EACvC,OAAuB;QAEvB,KAAK,CAAC,SAAqC,EAAE,OAAO,CAAC,CAAC;QAHrC,eAAU,GAAV,UAAU,CAAY;QAIvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC;IAEe,OAAO;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,QAAQ;QAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,cAAc,CAAC,KAAa;QAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,IAAI,KAAK,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEe,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAAe;QAC/D,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,GAAG,KAAK,QAAQ,CAAC;YACpC,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACjE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB;iBACpB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACxC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,OAAe;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,SAAsC,CAAC,CAAC;IAC5G,CAAC;CACF;AA9DD,wCA8DC"}
1
+ {"version":3,"file":"mockMqttClient.js","sourceRoot":"","sources":["../../../src/apis/simulations/mockMqttClient.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { MqttSetMessage } from '@ecoflow/apis/interfaces/mqttApiContracts';
1
+ import { MqttSetMessage, MqttStatusMessage } from '@ecoflow/apis/interfaces/mqttApiContracts';
2
2
  export declare abstract class Simulator {
3
3
  abstract generateQuota(): object;
4
4
  abstract generateSetReply(message: string): object;
5
+ generateStatus(): MqttStatusMessage;
5
6
  protected getRandomNumber(min: number, max: number): number;
6
7
  protected getRandomBoolean(): boolean;
7
8
  }
@@ -1,7 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SimulatorTyped = exports.Simulator = void 0;
4
+ const characteristicContracts_1 = require("@ecoflow/characteristics/characteristicContracts");
4
5
  class Simulator {
6
+ generateStatus() {
7
+ const status = {
8
+ id: `${Math.floor(Math.random() * 1000000)}`,
9
+ version: '1.0',
10
+ timestamp: Date.now(),
11
+ params: {
12
+ status: this.getRandomBoolean() ? characteristicContracts_1.EnableType.On : characteristicContracts_1.EnableType.Off,
13
+ },
14
+ };
15
+ return status;
16
+ }
5
17
  getRandomNumber(min, max) {
6
18
  return Math.random() * (max - min) + min;
7
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/apis/simulations/simulator.ts"],"names":[],"mappings":";;;AAEA,MAAsB,SAAS;IAInB,eAAe,CAAC,GAAW,EAAE,GAAW;QAChD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,CAAC;CACF;AAXD,8BAWC;AAED,MAAsB,cAAmD,SAAQ,SAAS;IACxE,gBAAgB,CAAC,OAAe;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAClD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAIS,eAAe,CAAC,GAAW,EAAE,GAAW;QAChD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAES,YAAY,CAAC,GAAW,EAAE,GAAW;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,CAAC;CACF;AAnBD,wCAmBC"}
1
+ {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/apis/simulations/simulator.ts"],"names":[],"mappings":";;;AACA,8FAA8E;AAE9E,MAAsB,SAAS;IAItB,cAAc;QACnB,MAAM,MAAM,GAAsB;YAChC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE;YAC5C,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,GAAG;aACjE;SACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,eAAe,CAAC,GAAW,EAAE,GAAW;QAChD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,CAAC;CACF;AAvBD,8BAuBC;AAED,MAAsB,cAAmD,SAAQ,SAAS;IACxE,gBAAgB,CAAC,OAAe;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAClD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAIS,eAAe,CAAC,GAAW,EAAE,GAAW;QAChD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAES,YAAY,CAAC,GAAW,EAAE,GAAW;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,CAAC;CACF;AAnBD,wCAmBC"}
package/dist/config.d.ts CHANGED
@@ -8,8 +8,7 @@ export declare enum DeviceModel {
8
8
  Delta2 = "Delta 2",
9
9
  DeltaPro3 = "Delta Pro 3",
10
10
  PowerStream = "PowerStream",
11
- SmartPlug = "Smart Plug",
12
- Glacier = "Glacier"
11
+ SmartPlug = "Smart Plug"
13
12
  }
14
13
  export declare enum LocationType {
15
14
  EU = "EU",
@@ -29,12 +28,15 @@ export interface DeviceAccessConfig extends DeviceInfoConfig {
29
28
  simulate?: boolean;
30
29
  simulator?: new () => Simulator;
31
30
  simulateQuotaTimeoutMs?: number;
31
+ simulateStatusTimeoutMs?: number;
32
32
  }
33
33
  export interface DeviceConfig extends AccessoryConfig, DeviceAccessConfig {
34
34
  disabled: boolean;
35
35
  battery?: BatteryDeviceConfig;
36
36
  powerStream?: PowerStreamDeviceConfig;
37
+ powerOcean?: PowerOceanDeviceConfig;
37
38
  outlet?: OutletDeviceConfig;
39
+ setReplyWaitResponseTimeoutMs?: number;
38
40
  }
39
41
  export interface BatteryDeviceConfig {
40
42
  additionalCharacteristics: AdditionalBatteryCharacteristicType[];
@@ -55,8 +57,10 @@ export declare enum PowerStreamConsumptionType {
55
57
  W600 = 600,
56
58
  W800 = 800
57
59
  }
58
- export interface PowerStreamDeviceConfig {
60
+ export interface PowerStreamDeviceConfig extends PowerOceanDeviceConfig {
59
61
  type: PowerStreamConsumptionType;
62
+ }
63
+ export interface PowerOceanDeviceConfig {
60
64
  batteryAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
61
65
  pvAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
62
66
  inverterAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
package/dist/config.js CHANGED
@@ -9,8 +9,9 @@ var DeviceModel;
9
9
  DeviceModel["DeltaPro3"] = "Delta Pro 3";
10
10
  // DeltaProUltra = 'Delta Pro Ultra',
11
11
  DeviceModel["PowerStream"] = "PowerStream";
12
+ // PowerOcean = 'PowerOcean',
12
13
  DeviceModel["SmartPlug"] = "Smart Plug";
13
- DeviceModel["Glacier"] = "Glacier";
14
+ // Glacier = 'Glacier',
14
15
  })(DeviceModel || (exports.DeviceModel = DeviceModel = {}));
15
16
  var LocationType;
16
17
  (function (LocationType) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAOA,IAAY,WASX;AATD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,iCAAkB,CAAA;IAClB,0BAA0B;IAC1B,wCAAyB,CAAA;IACzB,qCAAqC;IACrC,0CAA2B,CAAA;IAC3B,uCAAwB,CAAA;IACxB,kCAAmB,CAAA;AACrB,CAAC,EATW,WAAW,2BAAX,WAAW,QAStB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAmCD,IAAY,yCAKX;AALD,WAAY,yCAAyC;IACnD,8EAAiC,CAAA;IACjC,6FAAgD,CAAA;IAChD,6EAAgC,CAAA;IAChC,oFAAuC,CAAA;AACzC,CAAC,EALW,yCAAyC,yDAAzC,yCAAyC,QAKpD;AAED,IAAY,kCAIX;AAJD,WAAY,kCAAkC;IAC5C,yEAAmC,CAAA;IACnC,yEAAmC,CAAA;IACnC,wFAAkD,CAAA;AACpD,CAAC,EAJW,kCAAkC,kDAAlC,kCAAkC,QAI7C;AAED,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,6EAAU,CAAA;IACV,6EAAU,CAAA;AACZ,CAAC,EAHW,0BAA0B,0CAA1B,0BAA0B,QAGrC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAOA,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,iCAAkB,CAAA;IAClB,0BAA0B;IAC1B,wCAAyB,CAAA;IACzB,qCAAqC;IACrC,0CAA2B,CAAA;IAC3B,6BAA6B;IAC7B,uCAAwB,CAAA;IACxB,uBAAuB;AACzB,CAAC,EAVW,WAAW,2BAAX,WAAW,QAUtB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAsCD,IAAY,yCAKX;AALD,WAAY,yCAAyC;IACnD,8EAAiC,CAAA;IACjC,6FAAgD,CAAA;IAChD,6EAAgC,CAAA;IAChC,oFAAuC,CAAA;AACzC,CAAC,EALW,yCAAyC,yDAAzC,yCAAyC,QAKpD;AAED,IAAY,kCAIX;AAJD,WAAY,kCAAkC;IAC5C,yEAAmC,CAAA;IACnC,yEAAmC,CAAA;IACnC,wFAAkD,CAAA;AACpD,CAAC,EAJW,kCAAkC,kDAAlC,kCAAkC,QAI7C;AAED,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,6EAAU,CAAA;IACV,6EAAU,CAAA;AACZ,CAAC,EAHW,0BAA0B,0CAA1B,0BAA0B,QAGrC"}
@@ -3,4 +3,4 @@
3
3
  if (typeof renderEcoFlowPluginConfig === 'function') {
4
4
  renderEcoFlowPluginConfig(homebridge);
5
5
  }
6
- });</script><script defer="defer" src="./index.js?q=2ab600c5c401c6719920"></script>
6
+ });</script><script defer="defer" src="./index.js?q=285a95c7e8598c63c577"></script>
@@ -1 +1 @@
1
- (()=>{"use strict";var e={999:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ComponentRenderer=void 0,i.ComponentRenderer=class{renderTextBox(e,i,n,r,t){const o='\n <div class="form-group">\n <label for="device{id}" class="{requiredClass}">{title}</label>\n <input type="text" class="form-control" id="device{id}" placeholder="{description}" required="{required}" />\n </div>'.replace(/{id}/g,i).replace(/{title}/g,n.title).replace(/{description}/g,n.description??"").replace(/{requiredClass}/g,n.required?"required-label":"").replace(/{required}/g,(n.required??!1).toString());e.append(o);const a=e.find(`#device${i}`);a.val(r),a.on("change",(()=>t(a.val()?.toString()||"")))}renderDropDown(e,i,n,r,t){const o='\n <div class="form-group">\n <label for="device{id}" class="{requiredClass}">{title}</label>\n <select class="form-control" id="device{id}" required="{required}"></select>\n </div>'.replace(/{id}/g,i).replace(/{title}/g,n.title).replace(/{requiredClass}/g,n.required?"required-label":"").replace(/{required}/g,(n.required??!1).toString());e.append(o);const a=e.find(`#device${i}`);n.enum.forEach((e=>{const i=$("<option>").val(e).text(e);a.append(i)})),a.val(r),a.on("change",(()=>t(a.val()?.toString()||"")))}}},84:(e,i,n)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigDevicesRenderer=void 0;const r=n(536);class t extends r.PluginConfigRendererBase{form;$tabs;$tabPanels;_hideDeviceSettingsPerModel;constructor(e){super(e),this.$tabs=$("#devicesTabs"),this.$tabPanels=$("#devicesPanels"),this._hideDeviceSettingsPerModel={"Delta 2":["powerStream","outlet"],"Delta 2 Max":["powerStream","outlet"],"Delta Pro":["powerStream","outlet"],"Delta Pro 3":["powerStream","outlet"],"Delta Pro Ultra":["powerStream","outlet"],PowerStream:["battery","outlet"],"Smart Plug":["battery","powerStream"],Glacier:["powerStream","outlet"]}}get hideDeviceSettingsPerModel(){return this._hideDeviceSettingsPerModel}render(e){this.renderDevicesSettings({homebridgeProvider:e.homebridgeProvider,configSchema:e.configSchema,configuration:e.configuration,hideDeviceSettingsPerModel:this.hideDeviceSettingsPerModel})}renderDevicesSettings(e,i){$("#devicesLabel").text(e.configSchema.schema.properties.devices.title);const n=!i||i<0?0:i;this.renderDeviceTabs(e,n)}renderDeviceTabs(e,i){this.clearDeviceTabs();const n='\n <li class="nav-item">\n <a class="nav-link {activeClass}" data-toggle="tab" href="#deviceTabPanel{index}" id="deviceTab{index}">{name}</a>\n </li>\n ';e.configuration.devices.forEach(((r,t)=>{const o=n.replace(/{activeClass}/g,t===i?"active":"").replace(/{index}/g,t.toString()).replace(/{name}/g,r.name??`Device${t+1}`);this.$tabs.append(o),this.renderDeviceTabPanel(e,r,t,i,this.$tabs.find(`#deviceTab${t}`))})),this.renderAddNewDeviceTab(n,e)}clearDeviceTabs(){this.$tabs.empty(),this.$tabPanels.empty(),this.form?.end()}renderAddNewDeviceTab(e,i){const n=e.replace(/{activeClass}/g,"").replace(/{index}/g,"Add").replace(/{name}/g,"Add Device");this.$tabs.append(n),this.$tabs.find("#deviceTabAdd").on("click",(()=>{i.configuration.devices.push(this.getDefaultDeviceConfiguration(i.configSchema)),this.renderDevicesSettings(i,i.configuration.devices.length-1)}))}renderDeviceTabPanel(e,i,n,r,t){const o='\n <div class="tab-pane container fade {activeClass} card card-body list-group-item" id="deviceTabPanel{index}">\n <button type="button" class="close pull-right" id="deviceTabPanelClose{index}">\n <span>×</span>\n <span class="sr-only">Close</span>\n </button>\n </div>\n '.replace(/{activeClass}/g,n===r?"in show active":"").replace(/{index}/g,n.toString());this.$tabPanels.append(o);const a=this.$tabPanels.find(`#deviceTabPanel${n}`),s=this.clone(e.configSchema.schema.properties.devices.items),d=s.properties.model;this.renderModelDropDown(t,a,n,e,s,d,i),this.renderRemoveButton(a,n,e),this.renderForm(t,n,r,e,s,i)}renderModelDropDown(e,i,n,r,t,o,a){this.componentRenderer.renderDropDown(i,"model"+n,o,a.model,(i=>{a.model=i,this.renderForm(e,n,n,r,t,a)}))}renderRemoveButton(e,i,n){e.find(`#deviceTabPanelClose${i}`).on("click",(()=>{n.configuration.devices.splice(i,1),this.renderDevicesSettings(n,i-1)}))}renderForm(e,i,n,r,t,o){delete(t=this.clone(t)).properties.model,r.hideDeviceSettingsPerModel[o.model].forEach((e=>{delete t.properties[e]})),e.off("click").on("click",(()=>{this.form?.end(),this.form=r.homebridgeProvider.createForm({schema:t},o),this.form.onChange((async n=>{const t=r.configuration.devices[i].name;this.applyChanges(r.configuration.devices[i],n,["model"]),await this.updatePluginConfig(r),n.name!==t&&e.text(n.name)}))})),i===n&&e.trigger("click")}getDefaultDeviceConfiguration(e){const i={},n=e.schema.properties.devices.items.properties;return Object.keys(n).filter((e=>!!n[e]?.default)).forEach((e=>{i[e]=n[e]?.default})),i}applyChanges(e,i,n){Object.assign(e,i);for(const r in e)void 0!==i[r]||n.includes(r)||delete e[r]}}i.PluginConfigDevicesRenderer=t},102:(e,i,n)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigNameRenderer=void 0;const r=n(536);class t extends r.PluginConfigRendererBase{render(e){this.componentRenderer.renderTextBox($("#generalSettings"),"name",e.configSchema.schema.properties.name,e.configuration.name,(async i=>{e.configuration.name=i,await this.updatePluginConfig(e)}))}}i.PluginConfigNameRenderer=t},653:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigRenderer=void 0,i.PluginConfigRenderer=class{renderers;constructor(e){this.renderers=e}render(e){void 0===e.configuration&&(e.configuration={name:void 0,devices:[]}),this.renderers.forEach((i=>i.render(e)))}}},536:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigRendererBase=void 0,i.PluginConfigRendererBase=class{componentRenderer;constructor(e){this.componentRenderer=e}async updatePluginConfig(e){const i=this.clone(e.configuration);delete i.platform,await e.homebridgeProvider.updatePluginConfig([i])}clone(e){return JSON.parse(JSON.stringify(e))}}}},i={};function n(r){var t=i[r];if(void 0!==t)return t.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,n),o.exports}(()=>{const e=n(999),i=n(84),r=n(102),t=n(653);window.renderEcoFlowPluginConfig=async function(n){const o=await n.getPluginConfig(),a=await n.getPluginConfigSchema(),s=o[0],d=new e.ComponentRenderer;new t.PluginConfigRenderer([new r.PluginConfigNameRenderer(d),new i.PluginConfigDevicesRenderer(d)]).render({homebridgeProvider:n,configuration:s,configSchema:a})}})()})();
1
+ (()=>{"use strict";var e={999:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ComponentRenderer=void 0,r.ComponentRenderer=class{renderTextBox(e,r,i,n,t){const o='\n <div class="form-group">\n <label for="device{id}" class="{requiredClass}">{title}</label>\n <input type="text" class="form-control" id="device{id}" placeholder="{description}" required="{required}" />\n </div>'.replace(/{id}/g,r).replace(/{title}/g,i.title).replace(/{description}/g,i.description??"").replace(/{requiredClass}/g,i.required?"required-label":"").replace(/{required}/g,(i.required??!1).toString());e.append(o);const a=e.find(`#device${r}`);a.val(n),a.on("change",(()=>t(a.val()?.toString()||"")))}renderDropDown(e,r,i,n,t){const o='\n <div class="form-group">\n <label for="device{id}" class="{requiredClass}">{title}</label>\n <select class="form-control" id="device{id}" required="{required}"></select>\n </div>'.replace(/{id}/g,r).replace(/{title}/g,i.title).replace(/{requiredClass}/g,i.required?"required-label":"").replace(/{required}/g,(i.required??!1).toString());e.append(o);const a=e.find(`#device${r}`);i.enum.forEach((e=>{const r=$("<option>").val(e).text(e);a.append(r)})),a.val(n),a.on("change",(()=>t(a.val()?.toString()||"")))}}},84:(e,r,i)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PluginConfigDevicesRenderer=void 0;const n=i(536);class t extends n.PluginConfigRendererBase{form;$tabs;$tabPanels;_hideDeviceSettingsPerModel;constructor(e){super(e),this.$tabs=$("#devicesTabs"),this.$tabPanels=$("#devicesPanels"),this._hideDeviceSettingsPerModel={"Delta 2":["powerStream","powerOcean","outlet"],"Delta 2 Max":["powerStream","powerOcean","outlet"],"Delta Pro":["powerStream","powerOcean","outlet"],"Delta Pro 3":["powerStream","powerOcean","outlet"],"Delta Pro Ultra":["powerStream","powerOcean","outlet"],PowerStream:["battery","powerOcean","outlet"],PowerOcean:["battery","powerStream","outlet"],"Smart Plug":["battery","powerStream","powerOcean"],Glacier:["powerStream","powerOcean","outlet"]}}get hideDeviceSettingsPerModel(){return this._hideDeviceSettingsPerModel}render(e){this.renderDevicesSettings({homebridgeProvider:e.homebridgeProvider,configSchema:e.configSchema,configuration:e.configuration,hideDeviceSettingsPerModel:this.hideDeviceSettingsPerModel})}renderDevicesSettings(e,r){$("#devicesLabel").text(e.configSchema.schema.properties.devices.title);const i=!r||r<0?0:r;this.renderDeviceTabs(e,i)}renderDeviceTabs(e,r){this.clearDeviceTabs();const i='\n <li class="nav-item">\n <a class="nav-link {activeClass}" data-toggle="tab" href="#deviceTabPanel{index}" id="deviceTab{index}">{name}</a>\n </li>\n ';e.configuration.devices.forEach(((n,t)=>{const o=i.replace(/{activeClass}/g,t===r?"active":"").replace(/{index}/g,t.toString()).replace(/{name}/g,n.name??`Device${t+1}`);this.$tabs.append(o),this.renderDeviceTabPanel(e,n,t,r,this.$tabs.find(`#deviceTab${t}`))})),this.renderAddNewDeviceTab(i,e)}clearDeviceTabs(){this.$tabs.empty(),this.$tabPanels.empty(),this.form?.end()}renderAddNewDeviceTab(e,r){const i=e.replace(/{activeClass}/g,"").replace(/{index}/g,"Add").replace(/{name}/g,"Add Device");this.$tabs.append(i),this.$tabs.find("#deviceTabAdd").on("click",(()=>{r.configuration.devices.push(this.getDefaultDeviceConfiguration(r.configSchema)),this.renderDevicesSettings(r,r.configuration.devices.length-1)}))}renderDeviceTabPanel(e,r,i,n,t){const o='\n <div class="tab-pane container fade {activeClass} card card-body list-group-item" id="deviceTabPanel{index}">\n <button type="button" class="close pull-right" id="deviceTabPanelClose{index}">\n <span>×</span>\n <span class="sr-only">Close</span>\n </button>\n </div>\n '.replace(/{activeClass}/g,i===n?"in show active":"").replace(/{index}/g,i.toString());this.$tabPanels.append(o);const a=this.$tabPanels.find(`#deviceTabPanel${i}`),s=this.clone(e.configSchema.schema.properties.devices.items),c=s.properties.model;this.renderModelDropDown(t,a,i,e,s,c,r),this.renderRemoveButton(a,i,e),this.renderForm(t,i,n,e,s,r)}renderModelDropDown(e,r,i,n,t,o,a){this.componentRenderer.renderDropDown(r,"model"+i,o,a.model,(r=>{a.model=r,this.renderForm(e,i,i,n,t,a)}))}renderRemoveButton(e,r,i){e.find(`#deviceTabPanelClose${r}`).on("click",(()=>{i.configuration.devices.splice(r,1),this.renderDevicesSettings(i,r-1)}))}renderForm(e,r,i,n,t,o){delete(t=this.clone(t)).properties.model,n.hideDeviceSettingsPerModel[o.model].forEach((e=>{delete t.properties[e]})),e.off("click").on("click",(()=>{this.form?.end(),this.form=n.homebridgeProvider.createForm({schema:t},o),this.form.onChange((async i=>{const t=n.configuration.devices[r].name;this.applyChanges(n.configuration.devices[r],i,["model"]),await this.updatePluginConfig(n),i.name!==t&&e.text(i.name)}))})),r===i&&e.trigger("click")}getDefaultDeviceConfiguration(e){const r={},i=e.schema.properties.devices.items.properties;return Object.keys(i).filter((e=>!!i[e]?.default)).forEach((e=>{r[e]=i[e]?.default})),r}applyChanges(e,r,i){Object.assign(e,r);for(const n in e)void 0!==r[n]||i.includes(n)||delete e[n]}}r.PluginConfigDevicesRenderer=t},102:(e,r,i)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PluginConfigNameRenderer=void 0;const n=i(536);class t extends n.PluginConfigRendererBase{render(e){this.componentRenderer.renderTextBox($("#generalSettings"),"name",e.configSchema.schema.properties.name,e.configuration.name,(async r=>{e.configuration.name=r,await this.updatePluginConfig(e)}))}}r.PluginConfigNameRenderer=t},653:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PluginConfigRenderer=void 0,r.PluginConfigRenderer=class{renderers;constructor(e){this.renderers=e}render(e){void 0===e.configuration&&(e.configuration={name:void 0,devices:[]}),this.renderers.forEach((r=>r.render(e)))}}},536:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PluginConfigRendererBase=void 0,r.PluginConfigRendererBase=class{componentRenderer;constructor(e){this.componentRenderer=e}async updatePluginConfig(e){const r=this.clone(e.configuration);delete r.platform,await e.homebridgeProvider.updatePluginConfig([r])}clone(e){return JSON.parse(JSON.stringify(e))}}}},r={};function i(n){var t=r[n];if(void 0!==t)return t.exports;var o=r[n]={exports:{}};return e[n](o,o.exports,i),o.exports}(()=>{const e=i(999),r=i(84),n=i(102),t=i(653);window.renderEcoFlowPluginConfig=async function(i){const o=await i.getPluginConfig(),a=await i.getPluginConfigSchema(),s=o[0],c=new e.ComponentRenderer;new t.PluginConfigRenderer([new n.PluginConfigNameRenderer(c),new r.PluginConfigDevicesRenderer(c)]).render({homebridgeProvider:i,configuration:s,configSchema:a})}})()})();
package/dist/platform.js CHANGED
@@ -6,8 +6,6 @@ const delta2MaxAccessory_1 = require("@ecoflow/accessories/batteries/delta2/delt
6
6
  const delta2Simulator_1 = require("@ecoflow/accessories/batteries/delta2/simulations/delta2Simulator");
7
7
  const deltaPro3Accessory_1 = require("@ecoflow/accessories/batteries/deltapro3/deltaPro3Accessory");
8
8
  const deltaPro3Simulator_1 = require("@ecoflow/accessories/batteries/deltapro3/simulations/deltaPro3Simulator");
9
- const glacierAccessory_1 = require("@ecoflow/accessories/glacier/glacierAccessory");
10
- const glacierSimulator_1 = require("@ecoflow/accessories/glacier/simulations/glacierSimulator");
11
9
  const powerStreamAccessory_1 = require("@ecoflow/accessories/powerstream/powerStreamAccessory");
12
10
  const powerStreamSimulator_1 = require("@ecoflow/accessories/powerstream/simulations/powerStreamSimulator");
13
11
  const smartPlugSimulator_1 = require("@ecoflow/accessories/smartplug/simulations/smartPlugSimulator");
@@ -189,6 +187,14 @@ class EcoFlowHomebridgePlatform {
189
187
  // EcoFlowAccessoryType = DeltaProUltraAccessory;
190
188
  // EcoFlowAccessorySimulatorType = DeltaProUltraSimulator;
191
189
  // break;
190
+ // case DeviceModel.Glacier:
191
+ // EcoFlowAccessoryType = GlacierAccessory;
192
+ // EcoFlowAccessorySimulatorType = GlacierSimulator;
193
+ // break;
194
+ // case DeviceModel.PowerOcean:
195
+ // EcoFlowAccessoryType = PowerOceanAccessory;
196
+ // EcoFlowAccessorySimulatorType = PowerOceanSimulator;
197
+ // break;
192
198
  case config_1.DeviceModel.PowerStream:
193
199
  EcoFlowAccessoryType = powerStreamAccessory_1.PowerStreamAccessory;
194
200
  EcoFlowAccessorySimulatorType = powerStreamSimulator_1.PowerStreamSimulator;
@@ -197,10 +203,6 @@ class EcoFlowHomebridgePlatform {
197
203
  EcoFlowAccessoryType = smartPlugAccessory_1.SmartPlugAccessory;
198
204
  EcoFlowAccessorySimulatorType = smartPlugSimulator_1.SmartPlugSimulator;
199
205
  break;
200
- case config_1.DeviceModel.Glacier:
201
- EcoFlowAccessoryType = glacierAccessory_1.GlacierAccessory;
202
- EcoFlowAccessorySimulatorType = glacierSimulator_1.GlacierSimulator;
203
- break;
204
206
  default:
205
207
  log.warn(`"${config.model}" is not supported. Ignoring the device`);
206
208
  }
@@ -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,6 +3,7 @@ import { ServiceBase } from '@ecoflow/services/serviceBase';
3
3
  import { Characteristic } from 'homebridge';
4
4
  export declare class ContactSensorService extends ServiceBase {
5
5
  protected readonly ecoFlowAccessory: EcoFlowAccessoryBase;
6
+ private contactState;
6
7
  constructor(ecoFlowAccessory: EcoFlowAccessoryBase, serviceSubType?: string);
7
8
  protected addCharacteristics(): Characteristic[];
8
9
  updateState(closed: boolean): void;
@@ -4,17 +4,20 @@ exports.ContactSensorService = void 0;
4
4
  const serviceBase_1 = require("@ecoflow/services/serviceBase");
5
5
  class ContactSensorService extends serviceBase_1.ServiceBase {
6
6
  ecoFlowAccessory;
7
+ contactState = this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED;
7
8
  constructor(ecoFlowAccessory, serviceSubType) {
8
9
  super(ecoFlowAccessory.platform.Service.ContactSensor, ecoFlowAccessory, serviceSubType);
9
10
  this.ecoFlowAccessory = ecoFlowAccessory;
10
11
  }
11
12
  addCharacteristics() {
12
- return [this.addCharacteristic(this.platform.Characteristic.ContactSensorState)];
13
+ const contactSensorStateCharacteristic = this.addCharacteristic(this.platform.Characteristic.ContactSensorState).onGet(() => this.processOnGet(this.contactState));
14
+ return [contactSensorStateCharacteristic];
13
15
  }
14
16
  updateState(closed) {
15
- this.updateCharacteristic(this.platform.Characteristic.ContactSensorState, 'State', closed
17
+ this.contactState = closed
16
18
  ? this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED
17
- : this.platform.Characteristic.ContactSensorState.CONTACT_NOT_DETECTED);
19
+ : this.platform.Characteristic.ContactSensorState.CONTACT_NOT_DETECTED;
20
+ this.updateCharacteristic(this.platform.Characteristic.ContactSensorState, 'State', this.contactState);
18
21
  }
19
22
  }
20
23
  exports.ContactSensorService = ContactSensorService;
@@ -1 +1 @@
1
- {"version":3,"file":"contactSensorService.js","sourceRoot":"","sources":["../../src/services/contactSensorService.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAG5D,MAAa,oBAAqB,SAAQ,yBAAW;IAE9B;IADrB,YACqB,gBAAsC,EACzD,cAAuB;QAEvB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAHtE,qBAAgB,GAAhB,gBAAgB,CAAsB;IAI3D,CAAC;IAEkB,kBAAkB;QACnC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnF,CAAC;IAEM,WAAW,CAAC,MAAe;QAChC,IAAI,CAAC,oBAAoB,CACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAC/C,OAAO,EACP,MAAM;YACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,gBAAgB;YAClE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,oBAAoB,CACzE,CAAC;IACJ,CAAC;CACF;AArBD,oDAqBC"}
1
+ {"version":3,"file":"contactSensorService.js","sourceRoot":"","sources":["../../src/services/contactSensorService.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAG5D,MAAa,oBAAqB,SAAQ,yBAAW;IAI9B;IAHb,YAAY,GAAW,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;IAEhG,YACqB,gBAAsC,EACzD,cAAuB;QAEvB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAHtE,qBAAgB,GAAhB,gBAAgB,CAAsB;IAI3D,CAAC;IAEkB,kBAAkB;QACnC,MAAM,gCAAgC,GAAG,IAAI,CAAC,iBAAiB,CAC7D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAChD,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC5C,CAAC;IAEM,WAAW,CAAC,MAAe;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM;YACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,gBAAgB;YAClE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;QAEzE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzG,CAAC;CACF;AAxBD,oDAwBC"}
@@ -4,7 +4,9 @@ import { Characteristic } from 'homebridge';
4
4
  export declare abstract class FanServiceBase extends ServiceBase {
5
5
  protected readonly ecoFlowAccessory: EcoFlowAccessoryBase;
6
6
  private readonly maxRotationSpeed;
7
- private currentRotationSpeed;
7
+ private state;
8
+ private rotationSpeedPercents;
9
+ private rotationSpeed;
8
10
  private rotationSpeedCharacteristic;
9
11
  constructor(ecoFlowAccessory: EcoFlowAccessoryBase, maxRotationSpeed: number, serviceSubType: string);
10
12
  protected addCharacteristics(): Characteristic[];