@pietrolubini/homebridge-ecoflow 1.3.0 → 1.4.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 (188) hide show
  1. package/README.md +174 -40
  2. package/config.schema.json +14 -2
  3. package/dist/accessories/batteries/delta2/delta2Accessory.d.ts +10 -0
  4. package/dist/accessories/batteries/delta2/delta2Accessory.js +14 -0
  5. package/dist/accessories/batteries/delta2/delta2Accessory.js.map +1 -0
  6. package/dist/accessories/batteries/delta2/delta2AccessoryBase.d.ts +32 -0
  7. package/dist/accessories/batteries/{batteryAccessoryBase.js → delta2/delta2AccessoryBase.js} +71 -32
  8. package/dist/accessories/batteries/delta2/delta2AccessoryBase.js.map +1 -0
  9. package/dist/accessories/batteries/delta2/delta2MaxAccessory.d.ts +10 -0
  10. package/dist/accessories/batteries/delta2/delta2MaxAccessory.js +14 -0
  11. package/dist/accessories/batteries/delta2/delta2MaxAccessory.js.map +1 -0
  12. package/dist/accessories/batteries/delta2/interfaces/delta2Configuration.d.ts +4 -0
  13. package/dist/accessories/batteries/{interfaces/httpApiBatteryContracts.js → delta2/interfaces/delta2Configuration.js} +1 -1
  14. package/dist/accessories/batteries/delta2/interfaces/delta2Configuration.js.map +1 -0
  15. package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.d.ts +40 -0
  16. package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.js +4 -0
  17. package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.js.map +1 -0
  18. package/dist/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.d.ts +45 -0
  19. package/dist/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.js +25 -0
  20. package/dist/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.js.map +1 -0
  21. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.d.ts +5 -0
  22. package/dist/accessories/batteries/{services/outletBatteryServiceBase.js → delta2/services/delta2OutletServiceBase.js} +4 -4
  23. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js.map +1 -0
  24. package/dist/accessories/batteries/delta2/services/outletAcService.d.ts +10 -0
  25. package/dist/accessories/batteries/delta2/services/outletAcService.js +23 -0
  26. package/dist/accessories/batteries/delta2/services/outletAcService.js.map +1 -0
  27. package/dist/accessories/batteries/delta2/services/outletCarService.d.ts +7 -0
  28. package/dist/accessories/batteries/delta2/services/outletCarService.js +16 -0
  29. package/dist/accessories/batteries/delta2/services/outletCarService.js.map +1 -0
  30. package/dist/accessories/batteries/delta2/services/outletCarService.spec.d.ts +1 -0
  31. package/dist/accessories/batteries/delta2/services/outletUsbService.d.ts +7 -0
  32. package/dist/accessories/batteries/delta2/services/outletUsbService.js +16 -0
  33. package/dist/accessories/batteries/delta2/services/outletUsbService.js.map +1 -0
  34. package/dist/accessories/batteries/delta2/services/outletUsbService.spec.d.ts +1 -0
  35. package/dist/accessories/batteries/delta2/services/switchXboostService.d.ts +10 -0
  36. package/dist/accessories/batteries/delta2/services/switchXboostService.js +33 -0
  37. package/dist/accessories/batteries/delta2/services/switchXboostService.js.map +1 -0
  38. package/dist/accessories/batteries/delta2/services/switchXboostService.spec.d.ts +1 -0
  39. package/dist/accessories/batteries/delta2/simulations/delta2Simulator.d.ts +6 -0
  40. package/dist/accessories/batteries/delta2/simulations/delta2Simulator.js +73 -0
  41. package/dist/accessories/batteries/delta2/simulations/delta2Simulator.js.map +1 -0
  42. package/dist/accessories/batteries/deltapro/deltaProAccessory.d.ts +3 -0
  43. package/dist/accessories/batteries/deltapro/deltaProAccessory.js +8 -0
  44. package/dist/accessories/batteries/deltapro/deltaProAccessory.js.map +1 -0
  45. package/dist/accessories/batteries/{batteryAccessoryBase.d.ts → deltapro/deltaProAccessoryBase.d.ts} +8 -9
  46. package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js +119 -0
  47. package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js.map +1 -0
  48. package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.spec.d.ts +1 -0
  49. package/dist/accessories/batteries/{interfaces/httpApiBatteryContracts.d.ts → deltapro/interfaces/deltaProHttpApiContracts.d.ts} +10 -8
  50. package/dist/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts.js +3 -0
  51. package/dist/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts.js.map +1 -0
  52. package/dist/accessories/batteries/deltapro/interfaces/deltaProMqttApiContracts.d.ts +30 -0
  53. package/dist/accessories/batteries/deltapro/interfaces/deltaProMqttApiContracts.js +3 -0
  54. package/dist/accessories/batteries/deltapro/interfaces/deltaProMqttApiContracts.js.map +1 -0
  55. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.d.ts +5 -0
  56. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js +17 -0
  57. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js.map +1 -0
  58. package/dist/accessories/batteries/deltapro/services/outletAcService.d.ts +8 -0
  59. package/dist/accessories/batteries/deltapro/services/outletAcService.js +20 -0
  60. package/dist/accessories/batteries/deltapro/services/outletAcService.js.map +1 -0
  61. package/dist/accessories/batteries/deltapro/services/outletAcService.spec.d.ts +1 -0
  62. package/dist/accessories/batteries/deltapro/services/outletCarService.d.ts +7 -0
  63. package/dist/accessories/batteries/deltapro/services/outletCarService.js +19 -0
  64. package/dist/accessories/batteries/deltapro/services/outletCarService.js.map +1 -0
  65. package/dist/accessories/batteries/deltapro/services/outletCarService.spec.d.ts +1 -0
  66. package/dist/accessories/batteries/deltapro/services/outletUsbService.d.ts +7 -0
  67. package/dist/accessories/batteries/deltapro/services/outletUsbService.js +14 -0
  68. package/dist/accessories/batteries/deltapro/services/outletUsbService.js.map +1 -0
  69. package/dist/accessories/batteries/deltapro/services/outletUsbService.spec.d.ts +1 -0
  70. package/dist/accessories/batteries/deltapro/services/switchXboostService.d.ts +9 -0
  71. package/dist/accessories/batteries/deltapro/services/switchXboostService.js +31 -0
  72. package/dist/accessories/batteries/deltapro/services/switchXboostService.js.map +1 -0
  73. package/dist/accessories/batteries/deltapro/services/switchXboostService.spec.d.ts +1 -0
  74. package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.d.ts +6 -0
  75. package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.js +48 -0
  76. package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.js.map +1 -0
  77. package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.d.ts +28 -0
  78. package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.js +123 -0
  79. package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.js.map +1 -0
  80. package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.spec.d.ts +1 -0
  81. package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraHttpApiContracts.d.ts +48 -0
  82. package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraHttpApiContracts.js +10 -0
  83. package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraHttpApiContracts.js.map +1 -0
  84. package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraMqttApiContracts.d.ts +33 -0
  85. package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraMqttApiContracts.js +15 -0
  86. package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraMqttApiContracts.js.map +1 -0
  87. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.d.ts +5 -0
  88. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js +17 -0
  89. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js.map +1 -0
  90. package/dist/accessories/batteries/deltaproultra/services/outletAcService.d.ts +8 -0
  91. package/dist/accessories/batteries/deltaproultra/services/outletAcService.js +14 -0
  92. package/dist/accessories/batteries/deltaproultra/services/outletAcService.js.map +1 -0
  93. package/dist/accessories/batteries/deltaproultra/services/outletAcService.spec.d.ts +1 -0
  94. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.d.ts +8 -0
  95. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.js +18 -0
  96. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.js.map +1 -0
  97. package/dist/accessories/batteries/deltaproultra/services/outletUsbService.spec.d.ts +1 -0
  98. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.d.ts +9 -0
  99. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.js +31 -0
  100. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.js.map +1 -0
  101. package/dist/accessories/batteries/deltaproultra/services/switchXboostService.spec.d.ts +1 -0
  102. package/dist/accessories/batteries/deltaproultra/simulations/deltaProUltraSimulator.d.ts +6 -0
  103. package/dist/accessories/batteries/deltaproultra/simulations/deltaProUltraSimulator.js +50 -0
  104. package/dist/accessories/batteries/deltaproultra/simulations/deltaProUltraSimulator.js.map +1 -0
  105. package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.d.ts +20 -0
  106. package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.js +28 -0
  107. package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.js.map +1 -0
  108. package/dist/accessories/ecoFlowAccessoryBase.js +3 -1
  109. package/dist/accessories/ecoFlowAccessoryBase.js.map +1 -1
  110. package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.d.ts +21 -0
  111. package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.js +9 -0
  112. package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.js.map +1 -0
  113. package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.d.ts +44 -0
  114. package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js +21 -0
  115. package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js.map +1 -0
  116. package/dist/accessories/powerstream/powerStreamAccessory.d.ts +3 -2
  117. package/dist/accessories/powerstream/powerStreamAccessory.js +15 -12
  118. package/dist/accessories/powerstream/powerStreamAccessory.js.map +1 -1
  119. package/dist/accessories/powerstream/services/outletInvService.d.ts +2 -1
  120. package/dist/accessories/powerstream/services/outletInvService.js +2 -2
  121. package/dist/accessories/powerstream/services/outletInvService.js.map +1 -1
  122. package/dist/accessories/powerstream/services/outletService.d.ts +3 -2
  123. package/dist/accessories/powerstream/services/outletService.js +2 -2
  124. package/dist/accessories/powerstream/services/outletService.js.map +1 -1
  125. package/dist/accessories/powerstream/services/powerDemandService.js +2 -2
  126. package/dist/accessories/powerstream/simulations/powerStreamSimulator.d.ts +3 -3
  127. package/dist/accessories/powerstream/simulations/powerStreamSimulator.js +5 -4
  128. package/dist/accessories/powerstream/simulations/powerStreamSimulator.js.map +1 -1
  129. package/dist/apis/containers/mqttClientContainer.js +5 -0
  130. package/dist/apis/containers/mqttClientContainer.js.map +1 -1
  131. package/dist/apis/containers/mqttDevice.js +1 -1
  132. package/dist/apis/containers/mqttDevice.js.map +1 -1
  133. package/dist/apis/interfaces/mqttApiContracts.d.ts +15 -4
  134. package/dist/apis/interfaces/mqttApiContracts.js.map +1 -1
  135. package/dist/config.d.ts +3 -1
  136. package/dist/config.js +4 -0
  137. package/dist/config.js.map +1 -1
  138. package/dist/helpers/batteryStatusProvider.d.ts +4 -0
  139. package/dist/helpers/batteryStatusProvider.js +12 -0
  140. package/dist/helpers/batteryStatusProvider.js.map +1 -0
  141. package/dist/helpers/batteryStatusProvider.spec.d.ts +1 -0
  142. package/dist/homebridge-ui/public/index.html +1 -1
  143. package/dist/homebridge-ui/public/index.js +1 -1
  144. package/dist/homebridge-ui/public/renderers/pluginConfigDevicesRenderer.d.ts +2 -0
  145. package/dist/platform.d.ts +1 -0
  146. package/dist/platform.js +20 -9
  147. package/dist/platform.js.map +1 -1
  148. package/dist/services/batteryStatusService.d.ts +5 -3
  149. package/dist/services/batteryStatusService.js +8 -9
  150. package/dist/services/batteryStatusService.js.map +1 -1
  151. package/dist/services/outletServiceBase.d.ts +6 -2
  152. package/dist/services/outletServiceBase.js +19 -8
  153. package/dist/services/outletServiceBase.js.map +1 -1
  154. package/dist/services/switchXboostServiceBase.d.ts +9 -0
  155. package/dist/services/switchXboostServiceBase.js +23 -0
  156. package/dist/services/switchXboostServiceBase.js.map +1 -0
  157. package/dist/services/switchXboostServiceBase.spec.d.ts +1 -0
  158. package/junit.xml +757 -343
  159. package/package.json +1 -1
  160. package/dist/accessories/batteries/batteryAccessoryBase.js.map +0 -1
  161. package/dist/accessories/batteries/delta2Accessory.d.ts +0 -3
  162. package/dist/accessories/batteries/delta2Accessory.js +0 -8
  163. package/dist/accessories/batteries/delta2Accessory.js.map +0 -1
  164. package/dist/accessories/batteries/delta2maxAccessory.d.ts +0 -3
  165. package/dist/accessories/batteries/delta2maxAccessory.js +0 -8
  166. package/dist/accessories/batteries/delta2maxAccessory.js.map +0 -1
  167. package/dist/accessories/batteries/interfaces/httpApiBatteryContracts.js.map +0 -1
  168. package/dist/accessories/batteries/interfaces/mqttApiBatteryContracts.d.ts +0 -36
  169. package/dist/accessories/batteries/interfaces/mqttApiBatteryContracts.js +0 -18
  170. package/dist/accessories/batteries/interfaces/mqttApiBatteryContracts.js.map +0 -1
  171. package/dist/accessories/batteries/services/outletAcService.d.ts +0 -8
  172. package/dist/accessories/batteries/services/outletAcService.js +0 -24
  173. package/dist/accessories/batteries/services/outletAcService.js.map +0 -1
  174. package/dist/accessories/batteries/services/outletBatteryServiceBase.d.ts +0 -5
  175. package/dist/accessories/batteries/services/outletBatteryServiceBase.js.map +0 -1
  176. package/dist/accessories/batteries/services/outletCarService.d.ts +0 -6
  177. package/dist/accessories/batteries/services/outletCarService.js +0 -17
  178. package/dist/accessories/batteries/services/outletCarService.js.map +0 -1
  179. package/dist/accessories/batteries/services/outletUsbService.d.ts +0 -6
  180. package/dist/accessories/batteries/services/outletUsbService.js +0 -15
  181. package/dist/accessories/batteries/services/outletUsbService.js.map +0 -1
  182. package/dist/accessories/batteries/simulations/batterySimulator.d.ts +0 -6
  183. package/dist/accessories/batteries/simulations/batterySimulator.js +0 -60
  184. package/dist/accessories/batteries/simulations/batterySimulator.js.map +0 -1
  185. /package/dist/accessories/batteries/{batteryAccessoryBase.spec.d.ts → delta2/delta2Accessory.spec.d.ts} +0 -0
  186. /package/dist/accessories/batteries/{services/outletAcService.spec.d.ts → delta2/delta2AccessoryBase.spec.d.ts} +0 -0
  187. /package/dist/accessories/batteries/{services/outletCarService.spec.d.ts → delta2/delta2MaxAccessory.spec.d.ts} +0 -0
  188. /package/dist/accessories/batteries/{services/outletUsbService.spec.d.ts → delta2/services/outletAcService.spec.d.ts} +0 -0
@@ -0,0 +1,40 @@
1
+ import { AcEnableType, AcOutFrequencyType, AcXBoostType, EnableType } from '@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts';
2
+ export interface EmsStatus {
3
+ f32LcdShowSoc?: number;
4
+ minDsgSoc?: number;
5
+ }
6
+ export interface StatusAc {
7
+ cfgAcEnabled?: AcEnableType;
8
+ cfgAcXboost?: AcXBoostType;
9
+ cfgAcOutFreq?: AcOutFrequencyType;
10
+ cfgAcOutVol?: number;
11
+ }
12
+ export interface InvStatusAc extends StatusAc {
13
+ outputWatts?: number;
14
+ }
15
+ export interface InvStatus extends InvStatusAc {
16
+ inputWatts?: number;
17
+ }
18
+ export interface PdStatusCar {
19
+ carState?: EnableType;
20
+ carWatts?: number;
21
+ }
22
+ export interface PdStatusUsb {
23
+ dcOutState?: EnableType;
24
+ usb1Watts?: number;
25
+ usb2Watts?: number;
26
+ qcUsb1Watts?: number;
27
+ qcUsb2Watts?: number;
28
+ typec1Watts?: number;
29
+ typec2Watts?: number;
30
+ }
31
+ export interface PdStatus extends PdStatusUsb, PdStatusCar {
32
+ }
33
+ export interface Delta2AllQuotaData {
34
+ bms_emsStatus: EmsStatus;
35
+ inv: InvStatus;
36
+ pd: PdStatus;
37
+ mppt: MpptStatus;
38
+ }
39
+ export interface MpptStatus extends StatusAc {
40
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Applicable for Delta 2 only
4
+ //# sourceMappingURL=delta2HttpApiContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta2HttpApiContracts.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.ts"],"names":[],"mappings":";;AAwDA,8BAA8B"}
@@ -0,0 +1,45 @@
1
+ import { AcOutFrequencyType, AcXBoostType } from '@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts';
2
+ import { MqttQuotaMessage, MqttQuotaMessageWithParams, MqttSetMessage, MqttSetMessageWithParams, MqttSetReplyMessage } from '@ecoflow/apis/interfaces/mqttApiContracts';
3
+ export declare enum Delta2MqttMessageType {
4
+ PD = "pdStatus",
5
+ MPPT = "mpptStatus",
6
+ INV = "invStatus",
7
+ BMS = "bmsStatus",
8
+ EMS = "emsStatus"
9
+ }
10
+ export interface Delta2MqttQuotaMessage extends MqttQuotaMessage {
11
+ typeCode: Delta2MqttMessageType;
12
+ }
13
+ export interface Delta2MqttQuotaMessageWithParams<TParams> extends MqttQuotaMessageWithParams<TParams>, Delta2MqttQuotaMessage {
14
+ }
15
+ export declare enum Delta2MqttSetOperationType {
16
+ MpptCar = "mpptCar",
17
+ DcOutCfg = "dcOutCfg",
18
+ AcOutCfg = "acOutCfg"
19
+ }
20
+ export declare enum Delta2MqttSetModuleType {
21
+ PD = 1,
22
+ BMS = 2,
23
+ INV = 3,
24
+ MPPT = 5
25
+ }
26
+ export interface Delta2MqttSetMessage extends MqttSetMessage {
27
+ operateType: Delta2MqttSetOperationType;
28
+ moduleType: Delta2MqttSetModuleType;
29
+ }
30
+ export interface Delta2MqttSetMessageParams {
31
+ }
32
+ export interface Delta2MqttSetMessageWithParams<TParams extends Delta2MqttSetMessageParams> extends MqttSetMessageWithParams<TParams>, Delta2MqttSetMessage {
33
+ }
34
+ export interface Delta2MqttSetOnMessageParams extends Delta2MqttSetMessageParams {
35
+ enabled: number;
36
+ }
37
+ export interface Delta2MqttSetAcOnMessageParams extends Delta2MqttSetOnMessageParams {
38
+ out_voltage: number;
39
+ out_freq: AcOutFrequencyType;
40
+ xboost: AcXBoostType;
41
+ }
42
+ export interface Delta2MqttSetReplyMessage extends MqttSetReplyMessage {
43
+ operateType: Delta2MqttSetOperationType;
44
+ moduleType: Delta2MqttSetModuleType;
45
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Delta2MqttSetModuleType = exports.Delta2MqttSetOperationType = exports.Delta2MqttMessageType = void 0;
4
+ var Delta2MqttMessageType;
5
+ (function (Delta2MqttMessageType) {
6
+ Delta2MqttMessageType["PD"] = "pdStatus";
7
+ Delta2MqttMessageType["MPPT"] = "mpptStatus";
8
+ Delta2MqttMessageType["INV"] = "invStatus";
9
+ Delta2MqttMessageType["BMS"] = "bmsStatus";
10
+ Delta2MqttMessageType["EMS"] = "emsStatus";
11
+ })(Delta2MqttMessageType || (exports.Delta2MqttMessageType = Delta2MqttMessageType = {}));
12
+ var Delta2MqttSetOperationType;
13
+ (function (Delta2MqttSetOperationType) {
14
+ Delta2MqttSetOperationType["MpptCar"] = "mpptCar";
15
+ Delta2MqttSetOperationType["DcOutCfg"] = "dcOutCfg";
16
+ Delta2MqttSetOperationType["AcOutCfg"] = "acOutCfg";
17
+ })(Delta2MqttSetOperationType || (exports.Delta2MqttSetOperationType = Delta2MqttSetOperationType = {}));
18
+ var Delta2MqttSetModuleType;
19
+ (function (Delta2MqttSetModuleType) {
20
+ Delta2MqttSetModuleType[Delta2MqttSetModuleType["PD"] = 1] = "PD";
21
+ Delta2MqttSetModuleType[Delta2MqttSetModuleType["BMS"] = 2] = "BMS";
22
+ Delta2MqttSetModuleType[Delta2MqttSetModuleType["INV"] = 3] = "INV";
23
+ Delta2MqttSetModuleType[Delta2MqttSetModuleType["MPPT"] = 5] = "MPPT";
24
+ })(Delta2MqttSetModuleType || (exports.Delta2MqttSetModuleType = Delta2MqttSetModuleType = {}));
25
+ //# sourceMappingURL=delta2MqttApiContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta2MqttApiContracts.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.ts"],"names":[],"mappings":";;;AASA,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;AACnB,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAUD,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,iDAAmB,CAAA;IACnB,mDAAqB,CAAA;IACrB,mDAAqB,CAAA;AACvB,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAED,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,iEAAM,CAAA;IACN,mEAAO,CAAA;IACP,mEAAO,CAAA;IACP,qEAAQ,CAAA;AACV,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC"}
@@ -0,0 +1,5 @@
1
+ import { Delta2MqttSetMessageParams, Delta2MqttSetModuleType, Delta2MqttSetOperationType } from '@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts';
2
+ import { OutletServiceBase } from '@ecoflow/services/outletServiceBase';
3
+ export declare abstract class Delta2OutletServiceBase extends OutletServiceBase {
4
+ protected sendOn<TParams extends Delta2MqttSetMessageParams>(moduleType: Delta2MqttSetModuleType, operateType: Delta2MqttSetOperationType, params: TParams, revert: () => void): Promise<void>;
5
+ }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OutletBatteryServiceBase = void 0;
3
+ exports.Delta2OutletServiceBase = void 0;
4
4
  const outletServiceBase_1 = require("@ecoflow/services/outletServiceBase");
5
- class OutletBatteryServiceBase extends outletServiceBase_1.OutletServiceBase {
5
+ class Delta2OutletServiceBase extends outletServiceBase_1.OutletServiceBase {
6
6
  sendOn(moduleType, operateType, params, revert) {
7
7
  const message = {
8
8
  id: 0,
@@ -14,5 +14,5 @@ class OutletBatteryServiceBase extends outletServiceBase_1.OutletServiceBase {
14
14
  return this.ecoFlowAccessory.sendSetCommand(message, revert);
15
15
  }
16
16
  }
17
- exports.OutletBatteryServiceBase = OutletBatteryServiceBase;
18
- //# sourceMappingURL=outletBatteryServiceBase.js.map
17
+ exports.Delta2OutletServiceBase = Delta2OutletServiceBase;
18
+ //# sourceMappingURL=delta2OutletServiceBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta2OutletServiceBase.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/services/delta2OutletServiceBase.ts"],"names":[],"mappings":";;;AAMA,2EAAwE;AAExE,MAAsB,uBAAwB,SAAQ,qCAAiB;IAC3D,MAAM,CACd,UAAmC,EACnC,WAAuC,EACvC,MAAe,EACf,MAAkB;QAElB,MAAM,OAAO,GAA4C;YACvD,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,UAAU;YACV,WAAW;YACX,MAAM;SACP,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AAjBD,0DAiBC"}
@@ -0,0 +1,10 @@
1
+ import { Delta2AllQuotaData } from '@ecoflow/accessories/batteries/delta2/interfaces/delta2HttpApiContracts';
2
+ import { Delta2MqttSetModuleType } from '@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts';
3
+ import { Delta2OutletServiceBase } from '@ecoflow/accessories/batteries/delta2/services/delta2OutletServiceBase';
4
+ import { EcoFlowAccessoryWithQuotaBase } from '@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase';
5
+ import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
6
+ export declare class OutletAcService extends Delta2OutletServiceBase {
7
+ private readonly setModuleType;
8
+ constructor(ecoFlowAccessory: EcoFlowAccessoryWithQuotaBase<Delta2AllQuotaData>, batteryStatusProvider: BatteryStatusProvider, setModuleType: Delta2MqttSetModuleType);
9
+ protected setOn(value: boolean, revert: () => void): Promise<void>;
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OutletAcService = void 0;
4
+ const delta2MqttApiContracts_1 = require("@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts");
5
+ const delta2OutletServiceBase_1 = require("@ecoflow/accessories/batteries/delta2/services/delta2OutletServiceBase");
6
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
7
+ class OutletAcService extends delta2OutletServiceBase_1.Delta2OutletServiceBase {
8
+ setModuleType;
9
+ constructor(ecoFlowAccessory, batteryStatusProvider, setModuleType) {
10
+ super(ecoFlowAccessory, batteryStatusProvider, 'AC', ecoFlowAccessory.config.battery?.additionalCharacteristics);
11
+ this.setModuleType = setModuleType;
12
+ }
13
+ setOn(value, revert) {
14
+ return this.sendOn(this.setModuleType, delta2MqttApiContracts_1.Delta2MqttSetOperationType.AcOutCfg, {
15
+ out_voltage: batteryHttpApiContracts_1.AcOutVoltageIgnore,
16
+ out_freq: batteryHttpApiContracts_1.AcOutFrequencyType.Ignore,
17
+ xboost: batteryHttpApiContracts_1.AcXBoostType.Ignore,
18
+ enabled: value ? batteryHttpApiContracts_1.AcEnableType.On : batteryHttpApiContracts_1.AcEnableType.Off,
19
+ }, revert);
20
+ }
21
+ }
22
+ exports.OutletAcService = OutletAcService;
23
+ //# sourceMappingURL=outletAcService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outletAcService.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/services/outletAcService.ts"],"names":[],"mappings":";;;AACA,oHAIiF;AACjF,oHAAiH;AACjH,+GAK2E;AAI3E,MAAa,eAAgB,SAAQ,iDAAuB;IAIvC;IAHnB,YACE,gBAAmE,EACnE,qBAA4C,EAC3B,aAAsC;QAEvD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAFhG,kBAAa,GAAb,aAAa,CAAyB;IAGzD,CAAC;IAEkB,KAAK,CAAC,KAAc,EAAE,MAAkB;QACzD,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,aAAa,EAClB,mDAA0B,CAAC,QAAQ,EACnC;YACE,WAAW,EAAE,4CAAkB;YAC/B,QAAQ,EAAE,4CAAkB,CAAC,MAAM;YACnC,MAAM,EAAE,sCAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,sCAAY,CAAC,EAAE,CAAC,CAAC,CAAC,sCAAY,CAAC,GAAG;SACpD,EACD,MAAM,CACP,CAAC;IACJ,CAAC;CACF;AAtBD,0CAsBC"}
@@ -0,0 +1,7 @@
1
+ import { Delta2OutletServiceBase } from '@ecoflow/accessories/batteries/delta2/services/delta2OutletServiceBase';
2
+ import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
3
+ import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
4
+ export declare class OutletCarService extends Delta2OutletServiceBase {
5
+ constructor(ecoFlowAccessory: EcoFlowAccessoryBase, batteryStatusProvider: BatteryStatusProvider);
6
+ protected setOn(value: boolean, revert: () => void): Promise<void>;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OutletCarService = void 0;
4
+ const delta2MqttApiContracts_1 = require("@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts");
5
+ const delta2OutletServiceBase_1 = require("@ecoflow/accessories/batteries/delta2/services/delta2OutletServiceBase");
6
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
7
+ class OutletCarService extends delta2OutletServiceBase_1.Delta2OutletServiceBase {
8
+ constructor(ecoFlowAccessory, batteryStatusProvider) {
9
+ super(ecoFlowAccessory, batteryStatusProvider, 'CAR', ecoFlowAccessory.config.battery?.additionalCharacteristics);
10
+ }
11
+ setOn(value, revert) {
12
+ return this.sendOn(delta2MqttApiContracts_1.Delta2MqttSetModuleType.MPPT, delta2MqttApiContracts_1.Delta2MqttSetOperationType.MpptCar, { enabled: value ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off }, revert);
13
+ }
14
+ }
15
+ exports.OutletCarService = OutletCarService;
16
+ //# sourceMappingURL=outletCarService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outletCarService.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/services/outletCarService.ts"],"names":[],"mappings":";;;AAAA,oHAIiF;AACjF,oHAAiH;AACjH,+GAA+F;AAI/F,MAAa,gBAAiB,SAAQ,iDAAuB;IAC3D,YAAY,gBAAsC,EAAE,qBAA4C;QAC9F,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACpH,CAAC;IAEkB,KAAK,CAAC,KAAc,EAAE,MAAkB;QACzD,OAAO,IAAI,CAAC,MAAM,CAChB,gDAAuB,CAAC,IAAI,EAC5B,mDAA0B,CAAC,OAAO,EAClC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,oCAAU,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,GAAG,EAAE,EACnD,MAAM,CACP,CAAC;IACJ,CAAC;CACF;AAbD,4CAaC"}
@@ -0,0 +1,7 @@
1
+ import { Delta2OutletServiceBase } from '@ecoflow/accessories/batteries/delta2/services/delta2OutletServiceBase';
2
+ import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
3
+ import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
4
+ export declare class OutletUsbService extends Delta2OutletServiceBase {
5
+ constructor(ecoFlowAccessory: EcoFlowAccessoryBase, batteryStatusProvider: BatteryStatusProvider);
6
+ protected setOn(value: boolean, revert: () => void): Promise<void>;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OutletUsbService = void 0;
4
+ const delta2MqttApiContracts_1 = require("@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts");
5
+ const delta2OutletServiceBase_1 = require("@ecoflow/accessories/batteries/delta2/services/delta2OutletServiceBase");
6
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
7
+ class OutletUsbService extends delta2OutletServiceBase_1.Delta2OutletServiceBase {
8
+ constructor(ecoFlowAccessory, batteryStatusProvider) {
9
+ super(ecoFlowAccessory, batteryStatusProvider, 'USB', ecoFlowAccessory.config.battery?.additionalCharacteristics);
10
+ }
11
+ setOn(value, revert) {
12
+ return this.sendOn(delta2MqttApiContracts_1.Delta2MqttSetModuleType.PD, delta2MqttApiContracts_1.Delta2MqttSetOperationType.DcOutCfg, { enabled: value ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off }, revert);
13
+ }
14
+ }
15
+ exports.OutletUsbService = OutletUsbService;
16
+ //# sourceMappingURL=outletUsbService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outletUsbService.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/services/outletUsbService.ts"],"names":[],"mappings":";;;AAAA,oHAIiF;AACjF,oHAAiH;AACjH,+GAA+F;AAI/F,MAAa,gBAAiB,SAAQ,iDAAuB;IAC3D,YAAY,gBAAsC,EAAE,qBAA4C;QAC9F,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACpH,CAAC;IAEkB,KAAK,CAAC,KAAc,EAAE,MAAkB;QACzD,OAAO,IAAI,CAAC,MAAM,CAChB,gDAAuB,CAAC,EAAE,EAC1B,mDAA0B,CAAC,QAAQ,EACnC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,oCAAU,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,GAAG,EAAE,EACnD,MAAM,CACP,CAAC;IACJ,CAAC;CACF;AAbD,4CAaC"}
@@ -0,0 +1,10 @@
1
+ import { Delta2AllQuotaData } from '@ecoflow/accessories/batteries/delta2/interfaces/delta2HttpApiContracts';
2
+ import { Delta2MqttSetModuleType } from '@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts';
3
+ import { EcoFlowAccessoryWithQuotaBase } from '@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase';
4
+ import { SwitchXboostServiceBase } from '@ecoflow/services/switchXboostServiceBase';
5
+ export declare class SwitchXboostService extends SwitchXboostServiceBase {
6
+ private readonly setAcModuleType;
7
+ constructor(ecoFlowAccessory: EcoFlowAccessoryWithQuotaBase<Delta2AllQuotaData>, setAcModuleType: Delta2MqttSetModuleType);
8
+ protected setOn(value: boolean, revert: () => void): Promise<void>;
9
+ private sendOn;
10
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwitchXboostService = void 0;
4
+ const delta2MqttApiContracts_1 = require("@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts");
5
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
6
+ const switchXboostServiceBase_1 = require("@ecoflow/services/switchXboostServiceBase");
7
+ class SwitchXboostService extends switchXboostServiceBase_1.SwitchXboostServiceBase {
8
+ setAcModuleType;
9
+ constructor(ecoFlowAccessory, setAcModuleType) {
10
+ super(ecoFlowAccessory);
11
+ this.setAcModuleType = setAcModuleType;
12
+ }
13
+ setOn(value, revert) {
14
+ return this.sendOn(this.setAcModuleType, delta2MqttApiContracts_1.Delta2MqttSetOperationType.AcOutCfg, {
15
+ out_voltage: batteryHttpApiContracts_1.AcOutVoltageIgnore,
16
+ out_freq: batteryHttpApiContracts_1.AcOutFrequencyType.Ignore,
17
+ xboost: value ? batteryHttpApiContracts_1.AcXBoostType.On : batteryHttpApiContracts_1.AcXBoostType.Off,
18
+ enabled: batteryHttpApiContracts_1.AcEnableType.Ignore,
19
+ }, revert);
20
+ }
21
+ sendOn(moduleType, operateType, params, revert) {
22
+ const message = {
23
+ id: 0,
24
+ version: '',
25
+ moduleType,
26
+ operateType,
27
+ params,
28
+ };
29
+ return this.ecoFlowAccessory.sendSetCommand(message, revert);
30
+ }
31
+ }
32
+ exports.SwitchXboostService = SwitchXboostService;
33
+ //# sourceMappingURL=switchXboostService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switchXboostService.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/services/switchXboostService.ts"],"names":[],"mappings":";;;AACA,oHAMiF;AACjF,+GAK2E;AAE3E,uFAAoF;AAEpF,MAAa,mBAAoB,SAAQ,iDAAuB;IAG3C;IAFnB,YACE,gBAAmE,EAClD,eAAwC;QAEzD,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAFP,oBAAe,GAAf,eAAe,CAAyB;IAG3D,CAAC;IAES,KAAK,CAAC,KAAc,EAAE,MAAkB;QAChD,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,eAAe,EACpB,mDAA0B,CAAC,QAAQ,EACnC;YACE,WAAW,EAAE,4CAAkB;YAC/B,QAAQ,EAAE,4CAAkB,CAAC,MAAM;YACnC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,sCAAY,CAAC,EAAE,CAAC,CAAC,CAAC,sCAAY,CAAC,GAAG;YAClD,OAAO,EAAE,sCAAY,CAAC,MAAM;SAC7B,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,MAAM,CACZ,UAAmC,EACnC,WAAuC,EACvC,MAAe,EACf,MAAkB;QAElB,MAAM,OAAO,GAA4C;YACvD,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,UAAU;YACV,WAAW;YACX,MAAM;SACP,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AAtCD,kDAsCC"}
@@ -0,0 +1,6 @@
1
+ import { Delta2MqttSetMessage } from '@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts';
2
+ import { SimulatorTyped } from '@ecoflow/apis/simulations/simulator';
3
+ export declare class Delta2Simulator extends SimulatorTyped<Delta2MqttSetMessage> {
4
+ generateQuota(): object;
5
+ generateSetReplyTyped(message: Delta2MqttSetMessage): object;
6
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Delta2Simulator = void 0;
4
+ const delta2MqttApiContracts_1 = require("@ecoflow/accessories/batteries/delta2/interfaces/delta2MqttApiContracts");
5
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
6
+ const simulator_1 = require("@ecoflow/apis/simulations/simulator");
7
+ class Delta2Simulator extends simulator_1.SimulatorTyped {
8
+ generateQuota() {
9
+ const quotaType = this.getRandomNumber(0, 100);
10
+ if (quotaType >= 0 && quotaType < 25) {
11
+ const quotaBmsStatus = {
12
+ typeCode: delta2MqttApiContracts_1.Delta2MqttMessageType.BMS,
13
+ params: {
14
+ f32LcdShowSoc: this.getRandomNumber(0, 100),
15
+ minDsgSoc: this.getRandomNumber(0, 20),
16
+ },
17
+ };
18
+ return quotaBmsStatus;
19
+ }
20
+ else if (quotaType >= 25 && quotaType < 50) {
21
+ const quotaInvStatus = {
22
+ typeCode: delta2MqttApiContracts_1.Delta2MqttMessageType.INV,
23
+ params: {
24
+ cfgAcEnabled: this.getRandomBoolean() ? batteryHttpApiContracts_1.AcEnableType.On : batteryHttpApiContracts_1.AcEnableType.Off,
25
+ cfgAcOutFreq: batteryHttpApiContracts_1.AcOutFrequencyType['50 Hz'],
26
+ cfgAcOutVol: 220000,
27
+ cfgAcXboost: this.getRandomBoolean() ? batteryHttpApiContracts_1.AcXBoostType.On : batteryHttpApiContracts_1.AcXBoostType.Off,
28
+ inputWatts: this.getRandomNumber(0, 1000),
29
+ outputWatts: this.getRandomNumber(0, 1000),
30
+ },
31
+ };
32
+ return quotaInvStatus;
33
+ }
34
+ else if (quotaType >= 50 && quotaType < 75) {
35
+ const quotaPdStatus = {
36
+ typeCode: delta2MqttApiContracts_1.Delta2MqttMessageType.PD,
37
+ params: {
38
+ carState: this.getRandomBoolean() ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off,
39
+ carWatts: this.getRandomNumber(0, 1000),
40
+ dcOutState: this.getRandomBoolean() ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off,
41
+ typec1Watts: this.getRandomNumber(0, 100),
42
+ typec2Watts: this.getRandomNumber(0, 100),
43
+ },
44
+ };
45
+ return quotaPdStatus;
46
+ }
47
+ else {
48
+ const quotaMpptStatus = {
49
+ typeCode: delta2MqttApiContracts_1.Delta2MqttMessageType.MPPT,
50
+ params: {
51
+ cfgAcEnabled: this.getRandomBoolean() ? batteryHttpApiContracts_1.AcEnableType.On : batteryHttpApiContracts_1.AcEnableType.Off,
52
+ cfgAcOutVol: 220000,
53
+ cfgAcXboost: this.getRandomBoolean() ? batteryHttpApiContracts_1.AcXBoostType.On : batteryHttpApiContracts_1.AcXBoostType.Off,
54
+ },
55
+ };
56
+ return quotaMpptStatus;
57
+ }
58
+ }
59
+ generateSetReplyTyped(message) {
60
+ const reply = {
61
+ id: message.id,
62
+ version: message.version,
63
+ moduleType: message.moduleType,
64
+ operateType: message.operateType,
65
+ data: {
66
+ ack: false,
67
+ },
68
+ };
69
+ return reply;
70
+ }
71
+ }
72
+ exports.Delta2Simulator = Delta2Simulator;
73
+ //# sourceMappingURL=delta2Simulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta2Simulator.js","sourceRoot":"","sources":["../../../../../src/accessories/batteries/delta2/simulations/delta2Simulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DeltaProAccessoryBase } from '@ecoflow/accessories/batteries/deltapro/deltaProAccessoryBase';
2
+ export declare class DeltaProAccessory extends DeltaProAccessoryBase {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeltaProAccessory = void 0;
4
+ const deltaProAccessoryBase_1 = require("@ecoflow/accessories/batteries/deltapro/deltaProAccessoryBase");
5
+ class DeltaProAccessory extends deltaProAccessoryBase_1.DeltaProAccessoryBase {
6
+ }
7
+ exports.DeltaProAccessory = DeltaProAccessory;
8
+ //# sourceMappingURL=deltaProAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaProAccessory.js","sourceRoot":"","sources":["../../../../src/accessories/batteries/deltapro/deltaProAccessory.ts"],"names":[],"mappings":";;;AAAA,yGAAsG;AAEtG,MAAa,iBAAkB,SAAQ,6CAAqB;CAAG;AAA/D,8CAA+D"}
@@ -1,25 +1,24 @@
1
- import { BatteryAllQuotaData } from '@ecoflow/accessories/batteries/interfaces/httpApiBatteryContracts';
1
+ import { DeltaProAllQuotaData } from '@ecoflow/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts';
2
2
  import { EcoFlowAccessoryWithQuotaBase } from '@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase';
3
3
  import { EcoFlowHttpApiManager } from '@ecoflow/apis/ecoFlowHttpApiManager';
4
4
  import { EcoFlowMqttApiManager } from '@ecoflow/apis/ecoFlowMqttApiManager';
5
5
  import { MqttQuotaMessage } from '@ecoflow/apis/interfaces/mqttApiContracts';
6
6
  import { DeviceConfig } from '@ecoflow/config';
7
+ import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
7
8
  import { EcoFlowHomebridgePlatform } from '@ecoflow/platform';
8
9
  import { ServiceBase } from '@ecoflow/services/serviceBase';
9
10
  import { Logging, PlatformAccessory } from 'homebridge';
10
- export declare abstract class BatteryAccessoryBase extends EcoFlowAccessoryWithQuotaBase<BatteryAllQuotaData> {
11
- private readonly batteryService;
11
+ export declare abstract class DeltaProAccessoryBase extends EcoFlowAccessoryWithQuotaBase<DeltaProAllQuotaData> {
12
+ private readonly batteryStatusService;
12
13
  private readonly outletUsbService;
13
14
  private readonly outletAcService;
14
15
  private readonly outletCarService;
15
- constructor(platform: EcoFlowHomebridgePlatform, accessory: PlatformAccessory, config: DeviceConfig, log: Logging, httpApiManager: EcoFlowHttpApiManager, mqttApiManager: EcoFlowMqttApiManager);
16
+ private readonly switchXboostService;
17
+ constructor(platform: EcoFlowHomebridgePlatform, accessory: PlatformAccessory, config: DeviceConfig, log: Logging, httpApiManager: EcoFlowHttpApiManager, mqttApiManager: EcoFlowMqttApiManager, batteryStatusProvider: BatteryStatusProvider);
16
18
  protected getServices(): ServiceBase[];
17
19
  protected processQuotaMessage(message: MqttQuotaMessage): void;
18
- protected initializeQuota(quota: BatteryAllQuotaData | null): BatteryAllQuotaData;
19
- protected updateInitialValues(initialData: BatteryAllQuotaData): void;
20
- private updateEmsInitialValues;
21
- private updateInvInitialValues;
22
- private updatePdInitialValues;
20
+ protected initializeQuota(quota: DeltaProAllQuotaData | null): DeltaProAllQuotaData;
21
+ protected updateInitialValues(data: DeltaProAllQuotaData): void;
23
22
  private updateEmsValues;
24
23
  private updateInvValues;
25
24
  private updatePdValues;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeltaProAccessoryBase = void 0;
4
+ const outletAcService_1 = require("@ecoflow/accessories/batteries/deltapro/services/outletAcService");
5
+ const outletCarService_1 = require("@ecoflow/accessories/batteries/deltapro/services/outletCarService");
6
+ const outletUsbService_1 = require("@ecoflow/accessories/batteries/deltapro/services/outletUsbService");
7
+ const switchXboostService_1 = require("@ecoflow/accessories/batteries/deltapro/services/switchXboostService");
8
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
9
+ const ecoFlowAccessoryWithQuotaBase_1 = require("@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase");
10
+ const batteryStatusService_1 = require("@ecoflow/services/batteryStatusService");
11
+ class DeltaProAccessoryBase extends ecoFlowAccessoryWithQuotaBase_1.EcoFlowAccessoryWithQuotaBase {
12
+ batteryStatusService;
13
+ outletUsbService;
14
+ outletAcService;
15
+ outletCarService;
16
+ switchXboostService;
17
+ constructor(platform, accessory, config, log, httpApiManager, mqttApiManager, batteryStatusProvider) {
18
+ super(platform, accessory, config, log, httpApiManager, mqttApiManager);
19
+ this.batteryStatusService = new batteryStatusService_1.BatteryStatusService(this, batteryStatusProvider);
20
+ this.outletUsbService = new outletUsbService_1.OutletUsbService(this, batteryStatusProvider);
21
+ this.outletAcService = new outletAcService_1.OutletAcService(this, batteryStatusProvider);
22
+ this.outletCarService = new outletCarService_1.OutletCarService(this, batteryStatusProvider);
23
+ this.switchXboostService = new switchXboostService_1.SwitchXboostService(this);
24
+ }
25
+ getServices() {
26
+ return [
27
+ this.batteryStatusService,
28
+ this.outletUsbService,
29
+ this.outletAcService,
30
+ this.outletCarService,
31
+ this.switchXboostService,
32
+ ];
33
+ }
34
+ processQuotaMessage(message) {
35
+ const data = message.data;
36
+ if (data.ems !== undefined && Object.keys(data.ems).length > 0) {
37
+ Object.assign(this.quota.ems, data.ems);
38
+ this.updateEmsValues(data.ems);
39
+ }
40
+ if (data.inv !== undefined && Object.keys(data.inv).length > 0) {
41
+ Object.assign(this.quota.inv, data.inv);
42
+ this.updateInvValues(data.inv);
43
+ }
44
+ if (data.pd !== undefined && Object.keys(data.pd).length > 0) {
45
+ Object.assign(this.quota.pd, data.pd);
46
+ this.updatePdValues(data.pd);
47
+ }
48
+ }
49
+ initializeQuota(quota) {
50
+ const result = quota ?? {};
51
+ if (!result.ems) {
52
+ result.ems = {};
53
+ }
54
+ if (!result.inv) {
55
+ result.inv = {};
56
+ }
57
+ if (!result.pd) {
58
+ result.pd = {};
59
+ }
60
+ return result;
61
+ }
62
+ updateInitialValues(data) {
63
+ const message = {
64
+ data,
65
+ };
66
+ this.processQuotaMessage(message);
67
+ }
68
+ updateEmsValues(params) {
69
+ if (params.f32LcdShowSoc !== undefined && params.minDsgSoc !== undefined) {
70
+ this.batteryStatusService.updateBatteryLevel(params.f32LcdShowSoc, params.minDsgSoc);
71
+ this.outletAcService.updateBatteryLevel(params.f32LcdShowSoc, params.minDsgSoc);
72
+ this.outletUsbService.updateBatteryLevel(params.f32LcdShowSoc, params.minDsgSoc);
73
+ this.outletCarService.updateBatteryLevel(params.f32LcdShowSoc, params.minDsgSoc);
74
+ }
75
+ }
76
+ updateInvValues(params) {
77
+ if (params.inputWatts !== undefined) {
78
+ const isCharging = params.inputWatts > 0 && (params.outputWatts === undefined || params.inputWatts !== params.outputWatts);
79
+ this.batteryStatusService.updateChargingState(isCharging);
80
+ this.outletAcService.updateChargingState(isCharging);
81
+ this.outletUsbService.updateChargingState(isCharging);
82
+ this.outletCarService.updateChargingState(isCharging);
83
+ this.outletAcService.updateInputConsumption(params.inputWatts);
84
+ this.outletUsbService.updateInputConsumption(params.inputWatts);
85
+ this.outletCarService.updateInputConsumption(params.inputWatts);
86
+ }
87
+ if (params.outputWatts !== undefined) {
88
+ this.outletAcService.updateOutputConsumption(params.outputWatts);
89
+ }
90
+ if (params.cfgAcEnabled !== undefined && params.cfgAcEnabled !== batteryHttpApiContracts_1.AcEnableType.Ignore) {
91
+ this.outletAcService.updateState(params.cfgAcEnabled === batteryHttpApiContracts_1.AcEnableType.On);
92
+ }
93
+ if (params.cfgAcXboost !== undefined && params.cfgAcXboost !== batteryHttpApiContracts_1.AcXBoostType.Ignore) {
94
+ this.switchXboostService.updateState(params.cfgAcXboost === batteryHttpApiContracts_1.AcXBoostType.On);
95
+ }
96
+ }
97
+ updatePdValues(params) {
98
+ if (params.carState !== undefined) {
99
+ this.outletCarService.updateState(params.carState === batteryHttpApiContracts_1.EnableType.On);
100
+ }
101
+ if (params.carWatts !== undefined) {
102
+ this.outletCarService.updateOutputConsumption(params.carWatts);
103
+ }
104
+ if (params.dcOutState !== undefined) {
105
+ this.outletUsbService.updateState(params.dcOutState === batteryHttpApiContracts_1.EnableType.On);
106
+ }
107
+ if (params.usb1Watts !== undefined ||
108
+ params.usb2Watts !== undefined ||
109
+ params.qcUsb1Watts !== undefined ||
110
+ params.qcUsb2Watts !== undefined ||
111
+ params.typec1Watts !== undefined ||
112
+ params.typec2Watts !== undefined) {
113
+ const usbWatts = this.sum(params.usb1Watts, params.usb2Watts, params.qcUsb1Watts, params.qcUsb2Watts, params.typec1Watts, params.typec2Watts);
114
+ this.outletUsbService.updateOutputConsumption(usbWatts);
115
+ }
116
+ }
117
+ }
118
+ exports.DeltaProAccessoryBase = DeltaProAccessoryBase;
119
+ //# sourceMappingURL=deltaProAccessoryBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaProAccessoryBase.js","sourceRoot":"","sources":["../../../../src/accessories/batteries/deltapro/deltaProAccessoryBase.ts"],"names":[],"mappings":"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"}