@pietrolubini/homebridge-ecoflow 1.5.1 → 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 (208) hide show
  1. package/.gitattributes +1 -0
  2. package/README.md +138 -11
  3. package/config.schema.json +45 -0
  4. package/dist/accessories/batteries/delta2/delta2AccessoryBase.js +3 -2
  5. package/dist/accessories/batteries/delta2/delta2AccessoryBase.js.map +1 -1
  6. package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.d.ts +2 -1
  7. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.d.ts +2 -2
  8. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js +2 -2
  9. package/dist/accessories/batteries/delta2/services/outletAcService.d.ts +1 -1
  10. package/dist/accessories/batteries/delta2/services/outletAcService.js +1 -1
  11. package/dist/accessories/batteries/delta2/services/outletAcService.js.map +1 -1
  12. package/dist/accessories/batteries/delta2/services/outletCarService.d.ts +1 -1
  13. package/dist/accessories/batteries/delta2/services/outletCarService.js +3 -3
  14. package/dist/accessories/batteries/delta2/services/outletCarService.js.map +1 -1
  15. package/dist/accessories/batteries/delta2/services/outletUsbService.d.ts +1 -1
  16. package/dist/accessories/batteries/delta2/services/outletUsbService.js +3 -3
  17. package/dist/accessories/batteries/delta2/services/outletUsbService.js.map +1 -1
  18. package/dist/accessories/batteries/delta2/services/switchXboostService.d.ts +3 -3
  19. package/dist/accessories/batteries/delta2/services/switchXboostService.js +4 -4
  20. package/dist/accessories/batteries/delta2/services/switchXboostService.js.map +1 -1
  21. package/dist/accessories/batteries/delta2/simulations/delta2Simulator.js +3 -2
  22. package/dist/accessories/batteries/delta2/simulations/delta2Simulator.js.map +1 -1
  23. package/dist/accessories/batteries/deltapro/deltaProAccessory.js +3 -2
  24. package/dist/accessories/batteries/deltapro/deltaProAccessory.js.map +1 -1
  25. package/dist/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts.d.ts +2 -1
  26. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.d.ts +2 -2
  27. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js +2 -2
  28. package/dist/accessories/batteries/deltapro/services/outletAcService.d.ts +1 -1
  29. package/dist/accessories/batteries/deltapro/services/outletAcService.js +1 -1
  30. package/dist/accessories/batteries/deltapro/services/outletAcService.js.map +1 -1
  31. package/dist/accessories/batteries/deltapro/services/outletCarService.d.ts +1 -1
  32. package/dist/accessories/batteries/deltapro/services/outletCarService.js +3 -3
  33. package/dist/accessories/batteries/deltapro/services/outletCarService.js.map +1 -1
  34. package/dist/accessories/batteries/deltapro/services/outletUsbService.d.ts +1 -1
  35. package/dist/accessories/batteries/deltapro/services/outletUsbService.js +1 -1
  36. package/dist/accessories/batteries/deltapro/services/outletUsbService.js.map +1 -1
  37. package/dist/accessories/batteries/deltapro/services/switchXboostService.d.ts +3 -3
  38. package/dist/accessories/batteries/deltapro/services/switchXboostService.js +4 -4
  39. package/dist/accessories/batteries/deltapro/services/switchXboostService.js.map +1 -1
  40. package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.js +3 -2
  41. package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.js.map +1 -1
  42. package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.d.ts +2 -2
  43. package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.js +2 -2
  44. package/dist/accessories/batteries/deltapro3/services/outletAcHvService.d.ts +1 -1
  45. package/dist/accessories/batteries/deltapro3/services/outletAcHvService.js +1 -1
  46. package/dist/accessories/batteries/deltapro3/services/outletAcHvService.js.map +1 -1
  47. package/dist/accessories/batteries/deltapro3/services/outletAcLvService.d.ts +1 -1
  48. package/dist/accessories/batteries/deltapro3/services/outletAcLvService.js +1 -1
  49. package/dist/accessories/batteries/deltapro3/services/outletAcLvService.js.map +1 -1
  50. package/dist/accessories/batteries/deltapro3/services/outletDc12vService.d.ts +1 -1
  51. package/dist/accessories/batteries/deltapro3/services/outletDc12vService.js +1 -1
  52. package/dist/accessories/batteries/deltapro3/services/outletDc12vService.js.map +1 -1
  53. package/dist/accessories/batteries/deltapro3/services/switchXboostService.d.ts +3 -3
  54. package/dist/accessories/batteries/deltapro3/services/switchXboostService.js +4 -4
  55. package/dist/accessories/batteries/deltapro3/services/switchXboostService.js.map +1 -1
  56. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.d.ts +2 -2
  57. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js +2 -2
  58. package/dist/accessories/batteries/deltaproultra/services/outletAcService.d.ts +1 -1
  59. package/dist/accessories/batteries/deltaproultra/services/outletAcService.js +1 -1
  60. package/dist/accessories/batteries/deltaproultra/services/outletAcService.js.map +1 -1
  61. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.d.ts +1 -1
  62. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.js +1 -1
  63. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.js.map +1 -1
  64. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.d.ts +3 -3
  65. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.js +4 -4
  66. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.js.map +1 -1
  67. package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.d.ts +0 -4
  68. package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.js +1 -6
  69. package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.js.map +1 -1
  70. package/dist/accessories/ecoFlowAccessoryBase.d.ts +4 -1
  71. package/dist/accessories/ecoFlowAccessoryBase.js +27 -2
  72. package/dist/accessories/ecoFlowAccessoryBase.js.map +1 -1
  73. package/dist/accessories/glacier/glacierAccessory.d.ts +36 -0
  74. package/dist/accessories/glacier/glacierAccessory.js +207 -0
  75. package/dist/accessories/glacier/glacierAccessory.js.map +1 -0
  76. package/dist/accessories/glacier/interfaces/glacierHttpApiContracts.d.ts +64 -0
  77. package/dist/accessories/glacier/interfaces/glacierHttpApiContracts.js +36 -0
  78. package/dist/accessories/glacier/interfaces/glacierHttpApiContracts.js.map +1 -0
  79. package/dist/accessories/glacier/interfaces/glacierMqttApiContracts.d.ts +57 -0
  80. package/dist/accessories/glacier/interfaces/glacierMqttApiContracts.js +27 -0
  81. package/dist/accessories/glacier/interfaces/glacierMqttApiContracts.js.map +1 -0
  82. package/dist/accessories/glacier/services/glacierThermostatFridgeServiceBase.d.ts +11 -0
  83. package/dist/accessories/glacier/services/glacierThermostatFridgeServiceBase.js +30 -0
  84. package/dist/accessories/glacier/services/glacierThermostatFridgeServiceBase.js.map +1 -0
  85. package/dist/accessories/glacier/services/outletBatteryService.d.ts +8 -0
  86. package/dist/accessories/glacier/services/outletBatteryService.js +14 -0
  87. package/dist/accessories/glacier/services/outletBatteryService.js.map +1 -0
  88. package/dist/accessories/glacier/services/switchDetachIceService.d.ts +8 -0
  89. package/dist/accessories/glacier/services/switchDetachIceService.js +28 -0
  90. package/dist/accessories/glacier/services/switchDetachIceService.js.map +1 -0
  91. package/dist/accessories/glacier/services/switchEcoModeService.d.ts +9 -0
  92. package/dist/accessories/glacier/services/switchEcoModeService.js +30 -0
  93. package/dist/accessories/glacier/services/switchEcoModeService.js.map +1 -0
  94. package/dist/accessories/glacier/services/switchMakeIceService.d.ts +10 -0
  95. package/dist/accessories/glacier/services/switchMakeIceService.js +31 -0
  96. package/dist/accessories/glacier/services/switchMakeIceService.js.map +1 -0
  97. package/dist/accessories/glacier/services/switchMakeIceService.spec.d.ts +1 -0
  98. package/dist/accessories/glacier/services/thermostatFridgeDualLeftZoneService.d.ts +7 -0
  99. package/dist/accessories/glacier/services/thermostatFridgeDualLeftZoneService.js +15 -0
  100. package/dist/accessories/glacier/services/thermostatFridgeDualLeftZoneService.js.map +1 -0
  101. package/dist/accessories/glacier/services/thermostatFridgeDualLeftZoneService.spec.d.ts +1 -0
  102. package/dist/accessories/glacier/services/thermostatFridgeDualRightZoneService.d.ts +7 -0
  103. package/dist/accessories/glacier/services/thermostatFridgeDualRightZoneService.js +15 -0
  104. package/dist/accessories/glacier/services/thermostatFridgeDualRightZoneService.js.map +1 -0
  105. package/dist/accessories/glacier/services/thermostatFridgeDualRightZoneService.spec.d.ts +1 -0
  106. package/dist/accessories/glacier/services/thermostatFridgeSingleZoneService.d.ts +7 -0
  107. package/dist/accessories/glacier/services/thermostatFridgeSingleZoneService.js +15 -0
  108. package/dist/accessories/glacier/services/thermostatFridgeSingleZoneService.js.map +1 -0
  109. package/dist/accessories/glacier/services/thermostatFridgeSingleZoneService.spec.d.ts +1 -0
  110. package/dist/accessories/glacier/simulations/glacierSimulator.d.ts +6 -0
  111. package/dist/accessories/glacier/simulations/glacierSimulator.js +76 -0
  112. package/dist/accessories/glacier/simulations/glacierSimulator.js.map +1 -0
  113. package/dist/accessories/powerocean/interfaces/powerOceanHttpApiContracts.d.ts +7 -0
  114. package/dist/accessories/powerocean/interfaces/powerOceanHttpApiContracts.js +3 -0
  115. package/dist/accessories/powerocean/interfaces/powerOceanHttpApiContracts.js.map +1 -0
  116. package/dist/accessories/powerocean/interfaces/powerOceanMqttApiContracts.d.ts +5 -0
  117. package/dist/accessories/powerocean/interfaces/powerOceanMqttApiContracts.js +3 -0
  118. package/dist/accessories/powerocean/interfaces/powerOceanMqttApiContracts.js.map +1 -0
  119. package/dist/accessories/powerocean/powerOceanAccessory.d.ts +24 -0
  120. package/dist/accessories/powerocean/powerOceanAccessory.js +87 -0
  121. package/dist/accessories/powerocean/powerOceanAccessory.js.map +1 -0
  122. package/dist/accessories/powerocean/powerOceanAccessory.spec.d.ts +1 -0
  123. package/dist/accessories/powerocean/simulations/powerOceanSimulator.d.ts +5 -0
  124. package/dist/accessories/powerocean/simulations/powerOceanSimulator.js +23 -0
  125. package/dist/accessories/powerocean/simulations/powerOceanSimulator.js.map +1 -0
  126. package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.d.ts +1 -1
  127. package/dist/accessories/powerstream/powerStreamAccessory.js +6 -7
  128. package/dist/accessories/powerstream/powerStreamAccessory.js.map +1 -1
  129. package/dist/accessories/powerstream/simulations/powerStreamSimulator.js +2 -2
  130. package/dist/accessories/powerstream/simulations/powerStreamSimulator.js.map +1 -1
  131. package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.d.ts +2 -2
  132. package/dist/accessories/smartplug/services/outletService.d.ts +1 -1
  133. package/dist/accessories/smartplug/services/outletService.js +3 -3
  134. package/dist/accessories/smartplug/services/outletService.js.map +1 -1
  135. package/dist/apis/containers/mqttDevice.d.ts +2 -0
  136. package/dist/apis/containers/mqttDevice.js +7 -0
  137. package/dist/apis/containers/mqttDevice.js.map +1 -1
  138. package/dist/apis/ecoFlowMqttApiManager.d.ts +2 -0
  139. package/dist/apis/ecoFlowMqttApiManager.js +6 -0
  140. package/dist/apis/ecoFlowMqttApiManager.js.map +1 -1
  141. package/dist/apis/interfaces/mqttApiContracts.d.ts +11 -1
  142. package/dist/apis/interfaces/mqttApiContracts.js +1 -0
  143. package/dist/apis/interfaces/mqttApiContracts.js.map +1 -1
  144. package/dist/apis/simulations/mockMqttClient.d.ts +3 -1
  145. package/dist/apis/simulations/mockMqttClient.js +24 -5
  146. package/dist/apis/simulations/mockMqttClient.js.map +1 -1
  147. package/dist/apis/simulations/simulator.d.ts +3 -1
  148. package/dist/apis/simulations/simulator.js +15 -0
  149. package/dist/apis/simulations/simulator.js.map +1 -1
  150. package/dist/characteristics/characteristicContracts.d.ts +34 -0
  151. package/dist/characteristics/characteristicContracts.js +51 -0
  152. package/dist/characteristics/characteristicContracts.js.map +1 -0
  153. package/dist/config.d.ts +6 -1
  154. package/dist/config.js +2 -0
  155. package/dist/config.js.map +1 -1
  156. package/dist/homebridge-ui/public/index.html +1 -1
  157. package/dist/homebridge-ui/public/index.js +1 -1
  158. package/dist/platform.js +8 -0
  159. package/dist/platform.js.map +1 -1
  160. package/dist/services/contactSensorService.d.ts +10 -0
  161. package/dist/services/contactSensorService.js +24 -0
  162. package/dist/services/contactSensorService.js.map +1 -0
  163. package/dist/services/contactSensorService.spec.d.ts +1 -0
  164. package/dist/services/fanServiceBase.d.ts +3 -1
  165. package/dist/services/fanServiceBase.js +21 -15
  166. package/dist/services/fanServiceBase.js.map +1 -1
  167. package/dist/services/lightBulbServiceBase.d.ts +3 -1
  168. package/dist/services/lightBulbServiceBase.js +21 -15
  169. package/dist/services/lightBulbServiceBase.js.map +1 -1
  170. package/dist/services/{batteryOutletServiceBase.d.ts → outletBatteryServiceBase.d.ts} +1 -1
  171. package/dist/services/{batteryOutletServiceBase.js → outletBatteryServiceBase.js} +4 -4
  172. package/dist/services/{batteryOutletServiceBase.js.map → outletBatteryServiceBase.js.map} +1 -1
  173. package/dist/services/outletBatteryServiceBase.spec.d.ts +1 -0
  174. package/dist/services/outletReadOnlyService.d.ts +8 -0
  175. package/dist/{accessories/powerstream/services/outletService.js → services/outletReadOnlyService.js} +6 -6
  176. package/dist/services/outletReadOnlyService.js.map +1 -0
  177. package/dist/services/outletReadOnlyService.spec.d.ts +1 -0
  178. package/dist/services/outletServiceBase.d.ts +2 -1
  179. package/dist/services/outletServiceBase.js +8 -5
  180. package/dist/services/outletServiceBase.js.map +1 -1
  181. package/dist/services/serviceBase.d.ts +9 -0
  182. package/dist/services/serviceBase.js +32 -0
  183. package/dist/services/serviceBase.js.map +1 -1
  184. package/dist/services/switchServiceBase.d.ts +11 -0
  185. package/dist/services/switchServiceBase.js +29 -0
  186. package/dist/services/switchServiceBase.js.map +1 -0
  187. package/dist/services/switchServiceBase.spec.d.ts +1 -0
  188. package/dist/services/temperatureSensorService.d.ts +1 -1
  189. package/dist/services/temperatureSensorService.js +4 -3
  190. package/dist/services/temperatureSensorService.js.map +1 -1
  191. package/dist/services/thermostatFridgeServiceBase.d.ts +29 -0
  192. package/dist/services/thermostatFridgeServiceBase.js +115 -0
  193. package/dist/services/thermostatFridgeServiceBase.js.map +1 -0
  194. package/dist/services/thermostatFridgeServiceBase.spec.d.ts +1 -0
  195. package/junit.xml +1261 -747
  196. package/package.json +1 -1
  197. package/dist/accessories/powerstream/services/outletInvService.d.ts +0 -8
  198. package/dist/accessories/powerstream/services/outletInvService.js +0 -14
  199. package/dist/accessories/powerstream/services/outletInvService.js.map +0 -1
  200. package/dist/accessories/powerstream/services/outletService.d.ts +0 -9
  201. package/dist/accessories/powerstream/services/outletService.js.map +0 -1
  202. package/dist/services/switchXboostServiceBase.d.ts +0 -9
  203. package/dist/services/switchXboostServiceBase.js +0 -23
  204. package/dist/services/switchXboostServiceBase.js.map +0 -1
  205. /package/dist/accessories/{powerstream/services/outletInvService.spec.d.ts → glacier/glacierAccessory.spec.d.ts} +0 -0
  206. /package/dist/accessories/{powerstream/services/outletService.spec.d.ts → glacier/services/outletBatteryService.spec.d.ts} +0 -0
  207. /package/dist/{services/batteryOutletServiceBase.spec.d.ts → accessories/glacier/services/switchDetachIceService.spec.d.ts} +0 -0
  208. /package/dist/{services/switchXboostServiceBase.spec.d.ts → accessories/glacier/services/switchEcoModeService.spec.d.ts} +0 -0
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OutletService = void 0;
4
- const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
5
4
  const smartPlugMqttApiContracts_1 = require("@ecoflow/accessories/smartplug/interfaces/smartPlugMqttApiContracts");
5
+ const characteristicContracts_1 = require("@ecoflow/characteristics/characteristicContracts");
6
6
  const outletServiceBase_1 = require("@ecoflow/services/outletServiceBase");
7
7
  class OutletService extends outletServiceBase_1.OutletServiceBase {
8
8
  constructor(ecoFlowAccessory, additionalCharacteristics) {
9
9
  super(ecoFlowAccessory, additionalCharacteristics);
10
10
  }
11
- setOn(value, revert) {
11
+ processOnSetOn(value, revert) {
12
12
  const message = {
13
13
  id: 0,
14
14
  version: '',
15
15
  cmdCode: smartPlugMqttApiContracts_1.SmartPlugMqttSetCmdCodeType.Switch,
16
16
  params: {
17
- plugSwitch: value ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off,
17
+ plugSwitch: value ? characteristicContracts_1.EnableType.On : characteristicContracts_1.EnableType.Off,
18
18
  },
19
19
  };
20
20
  return this.ecoFlowAccessory.sendSetCommand(message, revert);
@@ -1 +1 @@
1
- {"version":3,"file":"outletService.js","sourceRoot":"","sources":["../../../../src/accessories/smartplug/services/outletService.ts"],"names":[],"mappings":";;;AAAA,+GAA+F;AAE/F,mHAI6E;AAE7E,2EAAwE;AAExE,MAAa,aAAc,SAAQ,qCAAiB;IAClD,YAAY,gBAAsC,EAAE,yBAAsD;QACxG,KAAK,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAEkB,KAAK,CAAC,KAAc,EAAE,MAAkB;QACzD,MAAM,OAAO,GAA2E;YACtF,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,uDAA2B,CAAC,MAAM;YAC3C,MAAM,EAAE;gBACN,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,oCAAU,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,GAAG;aACnD;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AAjBD,sCAiBC"}
1
+ {"version":3,"file":"outletService.js","sourceRoot":"","sources":["../../../../src/accessories/smartplug/services/outletService.ts"],"names":[],"mappings":";;;AACA,mHAI6E;AAC7E,8FAA8E;AAE9E,2EAAwE;AAExE,MAAa,aAAc,SAAQ,qCAAiB;IAClD,YAAY,gBAAsC,EAAE,yBAAsD;QACxG,KAAK,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAEkB,cAAc,CAAC,KAAc,EAAE,MAAkB;QAClE,MAAM,OAAO,GAA2E;YACtF,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,uDAA2B,CAAC,MAAM;YAC3C,MAAM,EAAE;gBACN,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,oCAAU,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,GAAG;aACnD;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AAjBD,sCAiBC"}
@@ -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
  }
@@ -9,5 +10,6 @@ export declare abstract class SimulatorTyped<TSetMessage extends MqttSetMessage>
9
10
  generateSetReply(message: string): object;
10
11
  abstract generateSetReplyTyped(message: TSetMessage): object;
11
12
  protected getRandomNumber(min: number, max: number): number;
13
+ protected getRandomInt(min: number, max: number): number;
12
14
  protected getRandomBoolean(): boolean;
13
15
  }
@@ -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
  }
@@ -18,6 +30,9 @@ class SimulatorTyped extends Simulator {
18
30
  getRandomNumber(min, max) {
19
31
  return Math.random() * (max - min) + min;
20
32
  }
33
+ getRandomInt(min, max) {
34
+ return Math.round(this.getRandomNumber(min, max));
35
+ }
21
36
  getRandomBoolean() {
22
37
  return Math.random() < 0.5;
23
38
  }
@@ -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,gBAAgB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,CAAC;CACF;AAfD,wCAeC"}
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"}
@@ -0,0 +1,34 @@
1
+ export declare enum EnableType {
2
+ Off = 0,
3
+ On = 1
4
+ }
5
+ export declare enum CurrenttHeaterCoolerStateType {
6
+ Inactive = 0,
7
+ Idle = 1,
8
+ Heating = 2,
9
+ Cooling = 3
10
+ }
11
+ export declare enum TargetHeaterCoolerStateType {
12
+ Auto = 0,
13
+ Heat = 1,
14
+ Cool = 2
15
+ }
16
+ export declare enum CurrentHeatingCoolingStateType {
17
+ Off = 0,
18
+ Heat = 1,
19
+ Cool = 2
20
+ }
21
+ export declare enum TargetHeatingCoolingStateType {
22
+ Off = 0,
23
+ Heat = 1,
24
+ Cool = 2,
25
+ Auto = 3
26
+ }
27
+ export declare enum TemperatureDisplayUnitsType {
28
+ Celsius = 0,
29
+ Fahrenheit = 1
30
+ }
31
+ export declare enum FridgeStateType {
32
+ Off = 0,
33
+ On = 1
34
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FridgeStateType = exports.TemperatureDisplayUnitsType = exports.TargetHeatingCoolingStateType = exports.CurrentHeatingCoolingStateType = exports.TargetHeaterCoolerStateType = exports.CurrenttHeaterCoolerStateType = exports.EnableType = void 0;
4
+ var EnableType;
5
+ (function (EnableType) {
6
+ EnableType[EnableType["Off"] = 0] = "Off";
7
+ EnableType[EnableType["On"] = 1] = "On";
8
+ })(EnableType || (exports.EnableType = EnableType = {}));
9
+ // Service: HeaterCooler
10
+ var CurrenttHeaterCoolerStateType;
11
+ (function (CurrenttHeaterCoolerStateType) {
12
+ CurrenttHeaterCoolerStateType[CurrenttHeaterCoolerStateType["Inactive"] = 0] = "Inactive";
13
+ CurrenttHeaterCoolerStateType[CurrenttHeaterCoolerStateType["Idle"] = 1] = "Idle";
14
+ CurrenttHeaterCoolerStateType[CurrenttHeaterCoolerStateType["Heating"] = 2] = "Heating";
15
+ CurrenttHeaterCoolerStateType[CurrenttHeaterCoolerStateType["Cooling"] = 3] = "Cooling";
16
+ })(CurrenttHeaterCoolerStateType || (exports.CurrenttHeaterCoolerStateType = CurrenttHeaterCoolerStateType = {}));
17
+ // Service: HeaterCooler
18
+ var TargetHeaterCoolerStateType;
19
+ (function (TargetHeaterCoolerStateType) {
20
+ TargetHeaterCoolerStateType[TargetHeaterCoolerStateType["Auto"] = 0] = "Auto";
21
+ TargetHeaterCoolerStateType[TargetHeaterCoolerStateType["Heat"] = 1] = "Heat";
22
+ TargetHeaterCoolerStateType[TargetHeaterCoolerStateType["Cool"] = 2] = "Cool";
23
+ })(TargetHeaterCoolerStateType || (exports.TargetHeaterCoolerStateType = TargetHeaterCoolerStateType = {}));
24
+ // Service: Thermostat
25
+ var CurrentHeatingCoolingStateType;
26
+ (function (CurrentHeatingCoolingStateType) {
27
+ CurrentHeatingCoolingStateType[CurrentHeatingCoolingStateType["Off"] = 0] = "Off";
28
+ CurrentHeatingCoolingStateType[CurrentHeatingCoolingStateType["Heat"] = 1] = "Heat";
29
+ CurrentHeatingCoolingStateType[CurrentHeatingCoolingStateType["Cool"] = 2] = "Cool";
30
+ })(CurrentHeatingCoolingStateType || (exports.CurrentHeatingCoolingStateType = CurrentHeatingCoolingStateType = {}));
31
+ // Service: Thermostat
32
+ var TargetHeatingCoolingStateType;
33
+ (function (TargetHeatingCoolingStateType) {
34
+ TargetHeatingCoolingStateType[TargetHeatingCoolingStateType["Off"] = 0] = "Off";
35
+ TargetHeatingCoolingStateType[TargetHeatingCoolingStateType["Heat"] = 1] = "Heat";
36
+ TargetHeatingCoolingStateType[TargetHeatingCoolingStateType["Cool"] = 2] = "Cool";
37
+ TargetHeatingCoolingStateType[TargetHeatingCoolingStateType["Auto"] = 3] = "Auto";
38
+ })(TargetHeatingCoolingStateType || (exports.TargetHeatingCoolingStateType = TargetHeatingCoolingStateType = {}));
39
+ // Service: HeaterCooler, Thermostat
40
+ var TemperatureDisplayUnitsType;
41
+ (function (TemperatureDisplayUnitsType) {
42
+ TemperatureDisplayUnitsType[TemperatureDisplayUnitsType["Celsius"] = 0] = "Celsius";
43
+ TemperatureDisplayUnitsType[TemperatureDisplayUnitsType["Fahrenheit"] = 1] = "Fahrenheit";
44
+ })(TemperatureDisplayUnitsType || (exports.TemperatureDisplayUnitsType = TemperatureDisplayUnitsType = {}));
45
+ // Service: HeaterCooler, Thermostat
46
+ var FridgeStateType;
47
+ (function (FridgeStateType) {
48
+ FridgeStateType[FridgeStateType["Off"] = 0] = "Off";
49
+ FridgeStateType[FridgeStateType["On"] = 1] = "On";
50
+ })(FridgeStateType || (exports.FridgeStateType = FridgeStateType = {}));
51
+ //# sourceMappingURL=characteristicContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characteristicContracts.js","sourceRoot":"","sources":["../../src/characteristics/characteristicContracts.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,yCAAO,CAAA;IACP,uCAAM,CAAA;AACR,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED,wBAAwB;AACxB,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,yFAAY,CAAA;IACZ,iFAAQ,CAAA;IACR,uFAAW,CAAA;IACX,uFAAW,CAAA;AACb,CAAC,EALW,6BAA6B,6CAA7B,6BAA6B,QAKxC;AAED,wBAAwB;AACxB,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,6EAAQ,CAAA;IACR,6EAAQ,CAAA;IACR,6EAAQ,CAAA;AACV,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAED,sBAAsB;AACtB,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,iFAAO,CAAA;IACP,mFAAQ,CAAA;IACR,mFAAQ,CAAA;AACV,CAAC,EAJW,8BAA8B,8CAA9B,8BAA8B,QAIzC;AAED,sBAAsB;AACtB,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,+EAAO,CAAA;IACP,iFAAQ,CAAA;IACR,iFAAQ,CAAA;IACR,iFAAQ,CAAA;AACV,CAAC,EALW,6BAA6B,6CAA7B,6BAA6B,QAKxC;AAED,oCAAoC;AACpC,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,mFAAW,CAAA;IACX,yFAAc,CAAA;AAChB,CAAC,EAHW,2BAA2B,2CAA3B,2BAA2B,QAGtC;AAED,oCAAoC;AACpC,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,mDAAO,CAAA;IACP,iDAAM,CAAA;AACR,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B"}
package/dist/config.d.ts CHANGED
@@ -28,12 +28,15 @@ export interface DeviceAccessConfig extends DeviceInfoConfig {
28
28
  simulate?: boolean;
29
29
  simulator?: new () => Simulator;
30
30
  simulateQuotaTimeoutMs?: number;
31
+ simulateStatusTimeoutMs?: number;
31
32
  }
32
33
  export interface DeviceConfig extends AccessoryConfig, DeviceAccessConfig {
33
34
  disabled: boolean;
34
35
  battery?: BatteryDeviceConfig;
35
36
  powerStream?: PowerStreamDeviceConfig;
37
+ powerOcean?: PowerOceanDeviceConfig;
36
38
  outlet?: OutletDeviceConfig;
39
+ setReplyWaitResponseTimeoutMs?: number;
37
40
  }
38
41
  export interface BatteryDeviceConfig {
39
42
  additionalCharacteristics: AdditionalBatteryCharacteristicType[];
@@ -54,8 +57,10 @@ export declare enum PowerStreamConsumptionType {
54
57
  W600 = 600,
55
58
  W800 = 800
56
59
  }
57
- export interface PowerStreamDeviceConfig {
60
+ export interface PowerStreamDeviceConfig extends PowerOceanDeviceConfig {
58
61
  type: PowerStreamConsumptionType;
62
+ }
63
+ export interface PowerOceanDeviceConfig {
59
64
  batteryAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
60
65
  pvAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
61
66
  inverterAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
package/dist/config.js CHANGED
@@ -9,7 +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";
14
+ // Glacier = 'Glacier',
13
15
  })(DeviceModel || (exports.DeviceModel = DeviceModel = {}));
14
16
  var LocationType;
15
17
  (function (LocationType) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAOA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,iCAAkB,CAAA;IAClB,0BAA0B;IAC1B,wCAAyB,CAAA;IACzB,qCAAqC;IACrC,0CAA2B,CAAA;IAC3B,uCAAwB,CAAA;AAC1B,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;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=60e8b81e3be3b4318c66"></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"]}}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
@@ -187,6 +187,14 @@ class EcoFlowHomebridgePlatform {
187
187
  // EcoFlowAccessoryType = DeltaProUltraAccessory;
188
188
  // EcoFlowAccessorySimulatorType = DeltaProUltraSimulator;
189
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;
190
198
  case config_1.DeviceModel.PowerStream:
191
199
  EcoFlowAccessoryType = powerStreamAccessory_1.PowerStreamAccessory;
192
200
  EcoFlowAccessorySimulatorType = powerStreamSimulator_1.PowerStreamSimulator;
@@ -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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"}
@@ -0,0 +1,10 @@
1
+ import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
2
+ import { ServiceBase } from '@ecoflow/services/serviceBase';
3
+ import { Characteristic } from 'homebridge';
4
+ export declare class ContactSensorService extends ServiceBase {
5
+ protected readonly ecoFlowAccessory: EcoFlowAccessoryBase;
6
+ private contactState;
7
+ constructor(ecoFlowAccessory: EcoFlowAccessoryBase, serviceSubType?: string);
8
+ protected addCharacteristics(): Characteristic[];
9
+ updateState(closed: boolean): void;
10
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContactSensorService = void 0;
4
+ const serviceBase_1 = require("@ecoflow/services/serviceBase");
5
+ class ContactSensorService extends serviceBase_1.ServiceBase {
6
+ ecoFlowAccessory;
7
+ contactState = this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED;
8
+ constructor(ecoFlowAccessory, serviceSubType) {
9
+ super(ecoFlowAccessory.platform.Service.ContactSensor, ecoFlowAccessory, serviceSubType);
10
+ this.ecoFlowAccessory = ecoFlowAccessory;
11
+ }
12
+ addCharacteristics() {
13
+ const contactSensorStateCharacteristic = this.addCharacteristic(this.platform.Characteristic.ContactSensorState).onGet(() => this.processOnGet(this.contactState));
14
+ return [contactSensorStateCharacteristic];
15
+ }
16
+ updateState(closed) {
17
+ this.contactState = closed
18
+ ? this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED
19
+ : this.platform.Characteristic.ContactSensorState.CONTACT_NOT_DETECTED;
20
+ this.updateCharacteristic(this.platform.Characteristic.ContactSensorState, 'State', this.contactState);
21
+ }
22
+ }
23
+ exports.ContactSensorService = ContactSensorService;
24
+ //# sourceMappingURL=contactSensorService.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export {};