@pietrolubini/homebridge-ecoflow 1.5.0-beta.1 → 1.5.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 (90) hide show
  1. package/README.md +45 -1
  2. package/config.schema.json +18 -1
  3. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.d.ts +2 -2
  4. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js +2 -2
  5. package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js.map +1 -1
  6. package/dist/accessories/batteries/deltapro/deltaProAccessory.d.ts +24 -2
  7. package/dist/accessories/batteries/deltapro/deltaProAccessory.js +113 -2
  8. package/dist/accessories/batteries/deltapro/deltaProAccessory.js.map +1 -1
  9. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.d.ts +2 -2
  10. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js +2 -2
  11. package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js.map +1 -1
  12. package/dist/accessories/batteries/deltapro3/deltaPro3Accessory.js +13 -9
  13. package/dist/accessories/batteries/deltapro3/deltaPro3Accessory.js.map +1 -1
  14. package/dist/accessories/batteries/deltapro3/interfaces/deltaPro3HttpApiContracts.d.ts +2 -2
  15. package/dist/accessories/batteries/deltapro3/interfaces/deltaPro3MqttApiContracts.d.ts +3 -5
  16. package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.d.ts +2 -2
  17. package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.js +2 -2
  18. package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.js.map +1 -1
  19. package/dist/accessories/batteries/deltapro3/simulations/deltaPro3Simulator.js +16 -18
  20. package/dist/accessories/batteries/deltapro3/simulations/deltaPro3Simulator.js.map +1 -1
  21. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.d.ts +2 -2
  22. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js +2 -2
  23. package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js.map +1 -1
  24. package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.d.ts +3 -5
  25. package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js +3 -5
  26. package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js.map +1 -1
  27. package/dist/accessories/powerstream/services/brightnessService.js +2 -2
  28. package/dist/accessories/powerstream/services/brightnessService.js.map +1 -1
  29. package/dist/accessories/powerstream/services/outletInvService.d.ts +2 -2
  30. package/dist/accessories/powerstream/services/outletInvService.js +2 -2
  31. package/dist/accessories/powerstream/services/outletInvService.js.map +1 -1
  32. package/dist/accessories/powerstream/services/outletService.d.ts +2 -2
  33. package/dist/accessories/powerstream/services/outletService.js +2 -2
  34. package/dist/accessories/powerstream/services/outletService.js.map +1 -1
  35. package/dist/accessories/powerstream/services/powerDemandService.js +1 -1
  36. package/dist/accessories/powerstream/services/powerDemandService.js.map +1 -1
  37. package/dist/accessories/smartplug/interfaces/smartPlugHttpApiContracts.d.ts +11 -0
  38. package/dist/accessories/{powerstream/interfaces/httpApiPowerStreamContracts.js → smartplug/interfaces/smartPlugHttpApiContracts.js} +1 -1
  39. package/dist/accessories/smartplug/interfaces/smartPlugHttpApiContracts.js.map +1 -0
  40. package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.d.ts +32 -0
  41. package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.js +18 -0
  42. package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.js.map +1 -0
  43. package/dist/accessories/smartplug/services/brightnessService.d.ts +7 -0
  44. package/dist/accessories/smartplug/services/brightnessService.js +27 -0
  45. package/dist/accessories/smartplug/services/brightnessService.js.map +1 -0
  46. package/dist/accessories/smartplug/services/brightnessService.spec.d.ts +1 -0
  47. package/dist/accessories/smartplug/services/outletService.d.ts +7 -0
  48. package/dist/accessories/smartplug/services/outletService.js +24 -0
  49. package/dist/accessories/smartplug/services/outletService.js.map +1 -0
  50. package/dist/accessories/smartplug/services/outletService.spec.d.ts +1 -0
  51. package/dist/accessories/smartplug/simulations/smartPlugSimulator.d.ts +6 -0
  52. package/dist/accessories/smartplug/simulations/smartPlugSimulator.js +34 -0
  53. package/dist/accessories/smartplug/simulations/smartPlugSimulator.js.map +1 -0
  54. package/dist/accessories/{batteries/deltapro/deltaProAccessoryBase.d.ts → smartplug/smartPlugAccessory.d.ts} +13 -14
  55. package/dist/accessories/smartplug/smartPlugAccessory.js +81 -0
  56. package/dist/accessories/smartplug/smartPlugAccessory.js.map +1 -0
  57. package/dist/accessories/smartplug/smartPlugAccessory.spec.d.ts +1 -0
  58. package/dist/characteristics/customCharacteristic.d.ts +12 -0
  59. package/dist/characteristics/customCharacteristic.js +45 -9
  60. package/dist/characteristics/customCharacteristic.js.map +1 -1
  61. package/dist/config.d.ts +13 -3
  62. package/dist/config.js +15 -9
  63. package/dist/config.js.map +1 -1
  64. package/dist/homebridge-ui/public/index.html +1 -1
  65. package/dist/homebridge-ui/public/index.js +1 -1
  66. package/dist/platform.js +13 -5
  67. package/dist/platform.js.map +1 -1
  68. package/dist/services/batteryOutletServiceBase.d.ts +14 -0
  69. package/dist/services/batteryOutletServiceBase.js +37 -0
  70. package/dist/services/batteryOutletServiceBase.js.map +1 -0
  71. package/dist/services/batteryOutletServiceBase.spec.d.ts +1 -0
  72. package/dist/services/outletServiceBase.d.ts +10 -11
  73. package/dist/services/outletServiceBase.js +9 -20
  74. package/dist/services/outletServiceBase.js.map +1 -1
  75. package/dist/services/serviceBase.js +1 -1
  76. package/dist/services/serviceBase.js.map +1 -1
  77. package/dist/services/temperatureSensorService.d.ts +10 -0
  78. package/dist/services/temperatureSensorService.js +21 -0
  79. package/dist/services/temperatureSensorService.js.map +1 -0
  80. package/dist/services/temperatureSensorService.spec.d.ts +1 -0
  81. package/junit.xml +727 -603
  82. package/package.json +1 -1
  83. package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js +0 -119
  84. package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js.map +0 -1
  85. package/dist/accessories/powerstream/interfaces/httpApiPowerStreamContracts.d.ts +0 -16
  86. package/dist/accessories/powerstream/interfaces/httpApiPowerStreamContracts.js.map +0 -1
  87. package/dist/accessories/powerstream/interfaces/mqttApiPowerStreamContracts.d.ts +0 -41
  88. package/dist/accessories/powerstream/interfaces/mqttApiPowerStreamContracts.js +0 -21
  89. package/dist/accessories/powerstream/interfaces/mqttApiPowerStreamContracts.js.map +0 -1
  90. /package/dist/accessories/batteries/deltapro/{deltaProAccessoryBase.spec.d.ts → deltaProAccessory.spec.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
2
2
  import { AdditionalBatteryCharacteristicType as CharacteristicType } from '@ecoflow/config';
3
3
  import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
4
- import { OutletServiceBase } from '@ecoflow/services/outletServiceBase';
5
- export declare class OutletInvService extends OutletServiceBase {
4
+ import { BatteryOutletServiceBase } from '@ecoflow/services/batteryOutletServiceBase';
5
+ export declare class OutletInvService extends BatteryOutletServiceBase {
6
6
  constructor(ecoFlowAccessory: EcoFlowAccessoryBase, batteryStatusProvider: BatteryStatusProvider, additionalCharacteristics?: CharacteristicType[]);
7
7
  protected setOn(): Promise<void>;
8
8
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OutletInvService = void 0;
4
- const outletServiceBase_1 = require("@ecoflow/services/outletServiceBase");
5
- class OutletInvService extends outletServiceBase_1.OutletServiceBase {
4
+ const batteryOutletServiceBase_1 = require("@ecoflow/services/batteryOutletServiceBase");
5
+ class OutletInvService extends batteryOutletServiceBase_1.BatteryOutletServiceBase {
6
6
  constructor(ecoFlowAccessory, batteryStatusProvider, additionalCharacteristics) {
7
7
  super(ecoFlowAccessory, batteryStatusProvider, 'INV', additionalCharacteristics);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outletInvService.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/services/outletInvService.ts"],"names":[],"mappings":";;;AAGA,2EAAwE;AAExE,MAAa,gBAAiB,SAAQ,qCAAiB;IACrD,YACE,gBAAsC,EACtC,qBAA4C,EAC5C,yBAAgD;QAEhD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnF,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,uEAA0D,CAAC;IAC3G,CAAC;CACF;AAZD,4CAYC"}
1
+ {"version":3,"file":"outletInvService.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/services/outletInvService.ts"],"names":[],"mappings":";;;AAGA,yFAAsF;AAEtF,MAAa,gBAAiB,SAAQ,mDAAwB;IAC5D,YACE,gBAAsC,EACtC,qBAA4C,EAC5C,yBAAgD;QAEhD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnF,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,uEAA0D,CAAC;IAC3G,CAAC;CACF;AAZD,4CAYC"}
@@ -2,8 +2,8 @@ import { EcoFlowAccessoryWithQuotaBase } from '@ecoflow/accessories/ecoFlowAcces
2
2
  import { PowerStreamAllQuotaData } from '@ecoflow/accessories/powerstream/interfaces/powerStreamHttpApiContracts';
3
3
  import { AdditionalBatteryCharacteristicType as CharacteristicType } from '@ecoflow/config';
4
4
  import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
5
- import { OutletServiceBase } from '@ecoflow/services/outletServiceBase';
6
- export declare class OutletService extends OutletServiceBase {
5
+ import { BatteryOutletServiceBase } from '@ecoflow/services/batteryOutletServiceBase';
6
+ export declare class OutletService extends BatteryOutletServiceBase {
7
7
  constructor(ecoFlowAccessory: EcoFlowAccessoryWithQuotaBase<PowerStreamAllQuotaData>, batteryStatusProvider: BatteryStatusProvider, serviceSubType: string, additionalCharacteristics?: CharacteristicType[]);
8
8
  protected setOn(): Promise<void>;
9
9
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OutletService = void 0;
4
- const outletServiceBase_1 = require("@ecoflow/services/outletServiceBase");
5
- class OutletService extends outletServiceBase_1.OutletServiceBase {
4
+ const batteryOutletServiceBase_1 = require("@ecoflow/services/batteryOutletServiceBase");
5
+ class OutletService extends batteryOutletServiceBase_1.BatteryOutletServiceBase {
6
6
  constructor(ecoFlowAccessory, batteryStatusProvider, serviceSubType, additionalCharacteristics) {
7
7
  super(ecoFlowAccessory, batteryStatusProvider, serviceSubType, additionalCharacteristics);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outletService.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/services/outletService.ts"],"names":[],"mappings":";;;AAIA,2EAAwE;AAExE,MAAa,aAAc,SAAQ,qCAAiB;IAClD,YACE,gBAAwE,EACxE,qBAA4C,EAC5C,cAAsB,EACtB,yBAAgD;QAEhD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;IAC5F,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,uEAA0D,CAAC;IAC3G,CAAC;CACF;AAbD,sCAaC"}
1
+ {"version":3,"file":"outletService.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/services/outletService.ts"],"names":[],"mappings":";;;AAIA,yFAAsF;AAEtF,MAAa,aAAc,SAAQ,mDAAwB;IACzD,YACE,gBAAwE,EACxE,qBAA4C,EAC5C,cAAsB,EACtB,yBAAgD;QAEhD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;IAC5F,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,uEAA0D,CAAC;IAC3G,CAAC;CACF;AAbD,sCAaC"}
@@ -15,7 +15,7 @@ class PowerDemandService extends fanServiceBase_1.FanServiceBase {
15
15
  const message = {
16
16
  id: 0,
17
17
  version: '',
18
- cmdCode: powerStreamMqttApiContracts_1.PowerStreamMqttSetCmdCodeType.WN511_SET_PERMANENT_WATTS_PACK,
18
+ cmdCode: powerStreamMqttApiContracts_1.PowerStreamMqttSetCmdCodeType.PowerDemand,
19
19
  params: {
20
20
  permanentWatts: value,
21
21
  },
@@ -1 +1 @@
1
- {"version":3,"file":"powerDemandService.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/services/powerDemandService.ts"],"names":[],"mappings":";;;AACA,yHAIiF;AACjF,qEAAkE;AAElE,MAAa,kBAAmB,SAAQ,+BAAc;IACpD,YAAY,gBAAsC,EAAE,cAAsB;QACxE,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAEkB,cAAc,CAAC,KAAc;QAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEkB,yBAAyB,CAAC,KAAa,EAAE,MAAkB;QAC5E,MAAM,OAAO,GAAuF;YAClG,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,2DAA6B,CAAC,8BAA8B;YACrE,MAAM,EAAE;gBACN,cAAc,EAAE,KAAK;aACtB;SACF,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AArBD,gDAqBC"}
1
+ {"version":3,"file":"powerDemandService.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/services/powerDemandService.ts"],"names":[],"mappings":";;;AACA,yHAIiF;AACjF,qEAAkE;AAElE,MAAa,kBAAmB,SAAQ,+BAAc;IACpD,YAAY,gBAAsC,EAAE,cAAsB;QACxE,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAEkB,cAAc,CAAC,KAAc;QAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEkB,yBAAyB,CAAC,KAAa,EAAE,MAAkB;QAC5E,MAAM,OAAO,GAAuF;YAClG,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,2DAA6B,CAAC,WAAW;YAClD,MAAM,EAAE;gBACN,cAAc,EAAE,KAAK;aACtB;SACF,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AArBD,gDAqBC"}
@@ -0,0 +1,11 @@
1
+ export interface Heartbeat {
2
+ temp?: number;
3
+ volt?: number;
4
+ current?: number;
5
+ switchSta?: boolean;
6
+ watts?: number;
7
+ brightness?: number;
8
+ }
9
+ export interface SmartPlugAllQuotaData {
10
+ '2_1': Heartbeat;
11
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=httpApiPowerStreamContracts.js.map
3
+ //# sourceMappingURL=smartPlugHttpApiContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartPlugHttpApiContracts.js","sourceRoot":"","sources":["../../../../src/accessories/smartplug/interfaces/smartPlugHttpApiContracts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { EnableType } from '@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts';
2
+ import { MqttQuotaMessage, MqttQuotaMessageWithParam, MqttSetMessage, MqttSetMessageWithParams } from '@ecoflow/apis/interfaces/mqttApiContracts';
3
+ export declare enum SmartPlugMqttMessageType {
4
+ Heartbeat = 1,
5
+ Task = 2
6
+ }
7
+ export declare enum SmartPlugMqttMessageFuncType {
8
+ Func2 = 2
9
+ }
10
+ export interface SmartPlugMqttQuotaMessage extends MqttQuotaMessage {
11
+ cmdId: SmartPlugMqttMessageType;
12
+ cmdFunc: SmartPlugMqttMessageFuncType;
13
+ }
14
+ export interface SmartPlugMqttQuotaMessageWithParams<TParams> extends MqttQuotaMessageWithParam<TParams>, SmartPlugMqttQuotaMessage {
15
+ }
16
+ export declare enum SmartPlugMqttSetCmdCodeType {
17
+ Switch = "WN511_SOCKET_SET_PLUG_SWITCH_MESSAGE",
18
+ Brightness = "WN511_SOCKET_SET_BRIGHTNESS_PACK"
19
+ }
20
+ export interface SmartPlugMqttSetMessage extends MqttSetMessage {
21
+ cmdCode: SmartPlugMqttSetCmdCodeType;
22
+ }
23
+ export interface SmartPlugMqttSetMessageParams {
24
+ }
25
+ export interface SmartPlugMqttSetMessageWithParams<TParams extends SmartPlugMqttSetMessageParams> extends MqttSetMessageWithParams<TParams>, SmartPlugMqttSetMessage {
26
+ }
27
+ export interface SmartPlugSwitchMqttSetMessageParams extends SmartPlugMqttSetMessageParams {
28
+ plugSwitch: EnableType;
29
+ }
30
+ export interface SmartPlugMqttSetBrightnessMessageParams extends SmartPlugMqttSetMessageParams {
31
+ brightness: number;
32
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmartPlugMqttSetCmdCodeType = exports.SmartPlugMqttMessageFuncType = exports.SmartPlugMqttMessageType = void 0;
4
+ var SmartPlugMqttMessageType;
5
+ (function (SmartPlugMqttMessageType) {
6
+ SmartPlugMqttMessageType[SmartPlugMqttMessageType["Heartbeat"] = 1] = "Heartbeat";
7
+ SmartPlugMqttMessageType[SmartPlugMqttMessageType["Task"] = 2] = "Task";
8
+ })(SmartPlugMqttMessageType || (exports.SmartPlugMqttMessageType = SmartPlugMqttMessageType = {}));
9
+ var SmartPlugMqttMessageFuncType;
10
+ (function (SmartPlugMqttMessageFuncType) {
11
+ SmartPlugMqttMessageFuncType[SmartPlugMqttMessageFuncType["Func2"] = 2] = "Func2";
12
+ })(SmartPlugMqttMessageFuncType || (exports.SmartPlugMqttMessageFuncType = SmartPlugMqttMessageFuncType = {}));
13
+ var SmartPlugMqttSetCmdCodeType;
14
+ (function (SmartPlugMqttSetCmdCodeType) {
15
+ SmartPlugMqttSetCmdCodeType["Switch"] = "WN511_SOCKET_SET_PLUG_SWITCH_MESSAGE";
16
+ SmartPlugMqttSetCmdCodeType["Brightness"] = "WN511_SOCKET_SET_BRIGHTNESS_PACK";
17
+ })(SmartPlugMqttSetCmdCodeType || (exports.SmartPlugMqttSetCmdCodeType = SmartPlugMqttSetCmdCodeType = {}));
18
+ //# sourceMappingURL=smartPlugMqttApiContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartPlugMqttApiContracts.js","sourceRoot":"","sources":["../../../../src/accessories/smartplug/interfaces/smartPlugMqttApiContracts.ts"],"names":[],"mappings":";;;AAQA,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,iFAAa,CAAA;IACb,uEAAQ,CAAA;AACV,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AACD,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,iFAAS,CAAA;AACX,CAAC,EAFW,4BAA4B,4CAA5B,4BAA4B,QAEvC;AAWD,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,8EAA+C,CAAA;IAC/C,8EAA+C,CAAA;AACjD,CAAC,EAHW,2BAA2B,2CAA3B,2BAA2B,QAGtC"}
@@ -0,0 +1,7 @@
1
+ import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
2
+ import { LightBulbServiceBase } from '@ecoflow/services/lightBulbServiceBase';
3
+ export declare class BrightnessService extends LightBulbServiceBase {
4
+ constructor(ecoFlowAccessory: EcoFlowAccessoryBase, maxBrightness: number);
5
+ protected processOnSetOn(state: boolean): Promise<void>;
6
+ protected processOnSetBrightness(value: number, revert: () => void): Promise<void>;
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrightnessService = void 0;
4
+ const smartPlugMqttApiContracts_1 = require("@ecoflow/accessories/smartplug/interfaces/smartPlugMqttApiContracts");
5
+ const lightBulbServiceBase_1 = require("@ecoflow/services/lightBulbServiceBase");
6
+ class BrightnessService extends lightBulbServiceBase_1.LightBulbServiceBase {
7
+ constructor(ecoFlowAccessory, maxBrightness) {
8
+ super(ecoFlowAccessory, maxBrightness, 'Brightness');
9
+ }
10
+ processOnSetOn(state) {
11
+ this.setBrightness(state ? 100 : 0);
12
+ return Promise.resolve();
13
+ }
14
+ processOnSetBrightness(value, revert) {
15
+ const message = {
16
+ id: 0,
17
+ version: '',
18
+ cmdCode: smartPlugMqttApiContracts_1.SmartPlugMqttSetCmdCodeType.Brightness,
19
+ params: {
20
+ brightness: Math.round(value),
21
+ },
22
+ };
23
+ return this.ecoFlowAccessory.sendSetCommand(message, revert);
24
+ }
25
+ }
26
+ exports.BrightnessService = BrightnessService;
27
+ //# sourceMappingURL=brightnessService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brightnessService.js","sourceRoot":"","sources":["../../../../src/accessories/smartplug/services/brightnessService.ts"],"names":[],"mappings":";;;AACA,mHAI6E;AAC7E,iFAA8E;AAE9E,MAAa,iBAAkB,SAAQ,2CAAoB;IACzD,YAAY,gBAAsC,EAAE,aAAqB;QACvE,KAAK,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAEkB,cAAc,CAAC,KAAc;QAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEkB,sBAAsB,CAAC,KAAa,EAAE,MAAkB;QACzE,MAAM,OAAO,GAA+E;YAC1F,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,uDAA2B,CAAC,UAAU;YAC/C,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC9B;SACF,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF;AArBD,8CAqBC"}
@@ -0,0 +1,7 @@
1
+ import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
2
+ import { AdditionalOutletCharacteristicType as OutletCharacteristicType } from '@ecoflow/config';
3
+ import { OutletServiceBase } from '@ecoflow/services/outletServiceBase';
4
+ export declare class OutletService extends OutletServiceBase {
5
+ constructor(ecoFlowAccessory: EcoFlowAccessoryBase, additionalCharacteristics?: OutletCharacteristicType[]);
6
+ protected setOn(value: boolean, revert: () => void): Promise<void>;
7
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OutletService = void 0;
4
+ const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
5
+ const smartPlugMqttApiContracts_1 = require("@ecoflow/accessories/smartplug/interfaces/smartPlugMqttApiContracts");
6
+ const outletServiceBase_1 = require("@ecoflow/services/outletServiceBase");
7
+ class OutletService extends outletServiceBase_1.OutletServiceBase {
8
+ constructor(ecoFlowAccessory, additionalCharacteristics) {
9
+ super(ecoFlowAccessory, additionalCharacteristics);
10
+ }
11
+ setOn(value, revert) {
12
+ const message = {
13
+ id: 0,
14
+ version: '',
15
+ cmdCode: smartPlugMqttApiContracts_1.SmartPlugMqttSetCmdCodeType.Switch,
16
+ params: {
17
+ plugSwitch: value ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off,
18
+ },
19
+ };
20
+ return this.ecoFlowAccessory.sendSetCommand(message, revert);
21
+ }
22
+ }
23
+ exports.OutletService = OutletService;
24
+ //# sourceMappingURL=outletService.js.map
@@ -0,0 +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"}
@@ -0,0 +1,6 @@
1
+ import { SmartPlugMqttSetMessage } from '@ecoflow/accessories/smartplug/interfaces/smartPlugMqttApiContracts';
2
+ import { SimulatorTyped } from '@ecoflow/apis/simulations/simulator';
3
+ export declare class SmartPlugSimulator extends SimulatorTyped<SmartPlugMqttSetMessage> {
4
+ generateQuota(): object;
5
+ generateSetReplyTyped(message: SmartPlugMqttSetMessage): object;
6
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmartPlugSimulator = void 0;
4
+ const smartPlugMqttApiContracts_1 = require("@ecoflow/accessories/smartplug/interfaces/smartPlugMqttApiContracts");
5
+ const simulator_1 = require("@ecoflow/apis/simulations/simulator");
6
+ class SmartPlugSimulator extends simulator_1.SimulatorTyped {
7
+ generateQuota() {
8
+ const quota = {
9
+ cmdFunc: smartPlugMqttApiContracts_1.SmartPlugMqttMessageFuncType.Func2,
10
+ cmdId: smartPlugMqttApiContracts_1.SmartPlugMqttMessageType.Heartbeat,
11
+ param: {
12
+ brightness: Math.floor(this.getRandomNumber(0, 1023)),
13
+ current: this.getRandomNumber(0, 100000),
14
+ volt: this.getRandomNumber(180, 240),
15
+ switchSta: this.getRandomBoolean(),
16
+ temp: this.getRandomNumber(10, 40),
17
+ watts: this.getRandomNumber(0, 2500),
18
+ },
19
+ };
20
+ return quota;
21
+ }
22
+ generateSetReplyTyped(message) {
23
+ const reply = {
24
+ id: message.id,
25
+ version: message.version,
26
+ data: {
27
+ ack: false,
28
+ },
29
+ };
30
+ return reply;
31
+ }
32
+ }
33
+ exports.SmartPlugSimulator = SmartPlugSimulator;
34
+ //# sourceMappingURL=smartPlugSimulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartPlugSimulator.js","sourceRoot":"","sources":["../../../../src/accessories/smartplug/simulations/smartPlugSimulator.ts"],"names":[],"mappings":";;;AACA,mHAK6E;AAE7E,mEAAqE;AAErE,MAAa,kBAAmB,SAAQ,0BAAuC;IAC7D,aAAa;QAC3B,MAAM,KAAK,GAAmD;YAC5D,OAAO,EAAE,wDAA4B,CAAC,KAAK;YAC3C,KAAK,EAAE,oDAAwB,CAAC,SAAS;YACzC,KAAK,EAAE;gBACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC;gBACxC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAClC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC;gBAClC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;aACrC;SACF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEe,qBAAqB,CAAC,OAAgC;QACpE,MAAM,KAAK,GAAwB;YACjC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE;gBACJ,GAAG,EAAE,KAAK;aACX;SACF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3BD,gDA2BC"}
@@ -1,25 +1,24 @@
1
- import { DeltaProAllQuotaData } from '@ecoflow/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts';
2
1
  import { EcoFlowAccessoryWithQuotaBase } from '@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase';
2
+ import { SmartPlugAllQuotaData } from '@ecoflow/accessories/smartplug/interfaces/smartPlugHttpApiContracts';
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';
8
7
  import { EcoFlowHomebridgePlatform } from '@ecoflow/platform';
9
8
  import { ServiceBase } from '@ecoflow/services/serviceBase';
10
9
  import { Logging, PlatformAccessory } from 'homebridge';
11
- export declare abstract class DeltaProAccessoryBase extends EcoFlowAccessoryWithQuotaBase<DeltaProAllQuotaData> {
12
- private readonly batteryStatusService;
13
- private readonly outletUsbService;
14
- private readonly outletAcService;
15
- private readonly outletCarService;
16
- private readonly switchXboostService;
17
- constructor(platform: EcoFlowHomebridgePlatform, accessory: PlatformAccessory, config: DeviceConfig, log: Logging, httpApiManager: EcoFlowHttpApiManager, mqttApiManager: EcoFlowMqttApiManager, batteryStatusProvider: BatteryStatusProvider);
10
+ export declare class SmartPlugAccessory extends EcoFlowAccessoryWithQuotaBase<SmartPlugAllQuotaData> {
11
+ private readonly outletService;
12
+ private readonly temperatureService;
13
+ private readonly brightnessService;
14
+ constructor(platform: EcoFlowHomebridgePlatform, accessory: PlatformAccessory, config: DeviceConfig, log: Logging, httpApiManager: EcoFlowHttpApiManager, mqttApiManager: EcoFlowMqttApiManager);
18
15
  protected getServices(): ServiceBase[];
19
16
  protected processQuotaMessage(message: MqttQuotaMessage): void;
20
- protected initializeQuota(quota: DeltaProAllQuotaData | null): DeltaProAllQuotaData;
21
- protected updateInitialValues(data: DeltaProAllQuotaData): void;
22
- private updateEmsValues;
23
- private updateInvValues;
24
- private updatePdValues;
17
+ protected initializeQuota(quota: SmartPlugAllQuotaData | null): SmartPlugAllQuotaData;
18
+ protected updateInitialValues(initialData: SmartPlugAllQuotaData): void;
19
+ private updateHeartbeatInitialValues;
20
+ private updateHeartbeatValues;
21
+ private updateOutletValues;
22
+ private updateBrightnessValues;
23
+ private updateTemperatureValues;
25
24
  }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmartPlugAccessory = void 0;
4
+ const ecoFlowAccessoryWithQuotaBase_1 = require("@ecoflow/accessories/ecoFlowAccessoryWithQuotaBase");
5
+ const smartPlugMqttApiContracts_1 = require("@ecoflow/accessories/smartplug/interfaces/smartPlugMqttApiContracts");
6
+ const brightnessService_1 = require("@ecoflow/accessories/smartplug/services/brightnessService");
7
+ const outletService_1 = require("@ecoflow/accessories/smartplug/services/outletService");
8
+ const temperatureSensorService_1 = require("@ecoflow/services/temperatureSensorService");
9
+ class SmartPlugAccessory extends ecoFlowAccessoryWithQuotaBase_1.EcoFlowAccessoryWithQuotaBase {
10
+ outletService;
11
+ temperatureService;
12
+ brightnessService;
13
+ constructor(platform, accessory, config, log, httpApiManager, mqttApiManager) {
14
+ super(platform, accessory, config, log, httpApiManager, mqttApiManager);
15
+ this.outletService = new outletService_1.OutletService(this, config.outlet?.additionalCharacteristics);
16
+ this.temperatureService = new temperatureSensorService_1.TemperatureSensorService(this);
17
+ this.brightnessService = new brightnessService_1.BrightnessService(this, 1023);
18
+ }
19
+ getServices() {
20
+ return [this.outletService, this.temperatureService, this.brightnessService];
21
+ }
22
+ processQuotaMessage(message) {
23
+ const smartPlugMessage = message;
24
+ if (smartPlugMessage.cmdFunc === smartPlugMqttApiContracts_1.SmartPlugMqttMessageFuncType.Func2 &&
25
+ smartPlugMessage.cmdId === smartPlugMqttApiContracts_1.SmartPlugMqttMessageType.Heartbeat) {
26
+ const heartbeat = message.param;
27
+ Object.assign(this.quota['2_1'], heartbeat);
28
+ this.updateHeartbeatValues(heartbeat);
29
+ }
30
+ }
31
+ initializeQuota(quota) {
32
+ const result = quota ?? {};
33
+ if (!result['2_1']) {
34
+ result['2_1'] = {};
35
+ }
36
+ return result;
37
+ }
38
+ updateInitialValues(initialData) {
39
+ this.updateHeartbeatInitialValues(initialData['2_1']);
40
+ }
41
+ updateHeartbeatInitialValues(params) {
42
+ const message = {
43
+ cmdFunc: smartPlugMqttApiContracts_1.SmartPlugMqttMessageFuncType.Func2,
44
+ cmdId: smartPlugMqttApiContracts_1.SmartPlugMqttMessageType.Heartbeat,
45
+ param: params,
46
+ };
47
+ this.processQuotaMessage(message);
48
+ }
49
+ updateHeartbeatValues(params) {
50
+ this.updateOutletValues(params);
51
+ this.updateBrightnessValues(params);
52
+ this.updateTemperatureValues(params);
53
+ }
54
+ updateOutletValues(params) {
55
+ if (params.switchSta !== undefined) {
56
+ this.outletService.updateState(params.switchSta);
57
+ }
58
+ if (params.watts !== undefined) {
59
+ this.outletService.updateOutputConsumption(params.watts * 0.1);
60
+ }
61
+ if (params.current !== undefined) {
62
+ this.outletService.updateOutputCurrent(params.current * 0.001);
63
+ }
64
+ if (params.volt !== undefined) {
65
+ this.outletService.updateOutputVoltage(params.volt);
66
+ }
67
+ }
68
+ updateBrightnessValues(params) {
69
+ if (params.brightness !== undefined) {
70
+ this.brightnessService.updateState(params.brightness > 0);
71
+ this.brightnessService.updateBrightness(params.brightness);
72
+ }
73
+ }
74
+ updateTemperatureValues(params) {
75
+ if (params.temp !== undefined) {
76
+ this.temperatureService.updateCurrentTemperature(params.temp);
77
+ }
78
+ }
79
+ }
80
+ exports.SmartPlugAccessory = SmartPlugAccessory;
81
+ //# sourceMappingURL=smartPlugAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartPlugAccessory.js","sourceRoot":"","sources":["../../../src/accessories/smartplug/smartPlugAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import { Characteristic, HAP, WithUUID } from 'homebridge';
2
+ export declare const OutputVoltageFactory: (hap: HAP) => WithUUID<{
3
+ new (): Characteristic;
4
+ }>;
5
+ export declare const OutputCurrentFactory: (hap: HAP) => WithUUID<{
6
+ new (): Characteristic;
7
+ }>;
2
8
  export declare const InputConsumptionWattFactory: (hap: HAP) => WithUUID<{
3
9
  new (): Characteristic;
4
10
  }>;
@@ -12,6 +18,12 @@ export declare class PowerConsumption {
12
18
  static OutputConsumptionWatts: WithUUID<{
13
19
  new (): Characteristic;
14
20
  }>;
21
+ static OutputVoltage: WithUUID<{
22
+ new (): Characteristic;
23
+ }>;
24
+ static OutputCurrent: WithUUID<{
25
+ new (): Characteristic;
26
+ }>;
15
27
  }
16
28
  export declare class CustomCharacteristics {
17
29
  static readonly PowerConsumption: typeof PowerConsumption;
@@ -1,6 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomCharacteristics = exports.PowerConsumption = exports.OutputConsumptionWattFactory = exports.InputConsumptionWattFactory = void 0;
3
+ exports.CustomCharacteristics = exports.PowerConsumption = exports.OutputConsumptionWattFactory = exports.InputConsumptionWattFactory = exports.OutputCurrentFactory = exports.OutputVoltageFactory = void 0;
4
+ const OutputVoltageFactory = (hap) => {
5
+ return class OutputVoltage extends hap.Characteristic {
6
+ static UUID = '564C6469-F3A7-48D8-A1EB-608238475444';
7
+ constructor() {
8
+ super('Output Voltage', OutputVoltage.UUID, {
9
+ description: 'Output Voltage, V',
10
+ format: "float" /* hap.Formats.FLOAT */,
11
+ perms: ["ev" /* hap.Perms.NOTIFY */, "pr" /* hap.Perms.PAIRED_READ */],
12
+ minValue: 0,
13
+ maxValue: 300,
14
+ unit: "celsius" /* hap.Units.CELSIUS */, // To allow setting numeric value for conditions in ShortCuts
15
+ });
16
+ this.value = this.getDefaultValue();
17
+ }
18
+ };
19
+ };
20
+ exports.OutputVoltageFactory = OutputVoltageFactory;
21
+ const OutputCurrentFactory = (hap) => {
22
+ return class OutputCurrent extends hap.Characteristic {
23
+ static UUID = 'BA7CC214-A7DA-40DF-8655-C06ED9513D09';
24
+ constructor() {
25
+ super('Output Current', OutputCurrent.UUID, {
26
+ description: 'Output Current, A',
27
+ format: "float" /* hap.Formats.FLOAT */,
28
+ perms: ["ev" /* hap.Perms.NOTIFY */, "pr" /* hap.Perms.PAIRED_READ */],
29
+ minValue: 0,
30
+ maxValue: 10,
31
+ unit: "celsius" /* hap.Units.CELSIUS */, // To allow setting numeric value for conditions in ShortCuts
32
+ });
33
+ this.value = this.getDefaultValue();
34
+ }
35
+ };
36
+ };
37
+ exports.OutputCurrentFactory = OutputCurrentFactory;
4
38
  const InputConsumptionWattFactory = (hap) => {
5
39
  return class InputConsumptionWatt extends hap.Characteristic {
6
40
  static UUID = '13172B0A-D346-4730-9732-32EF5B6EF8B7';
@@ -43,8 +77,8 @@ exports.OutputConsumptionWattFactory = OutputConsumptionWattFactory;
43
77
  // constructor() {
44
78
  // super('Voltage', PowerConsumptionVolt.UUID, {
45
79
  // description: '"Voltage, V" in Eve App',
46
- // format: Formats.FLOAT,
47
- // perms: [Perms.NOTIFY, Perms.PAIRED_READ],
80
+ // format: hap.Formats.FLOAT,
81
+ // perms: [hap.Perms.NOTIFY, hap.Perms.PAIRED_READ],
48
82
  // minValue: 0,
49
83
  // maxValue: 300,
50
84
  // });
@@ -58,12 +92,12 @@ exports.OutputConsumptionWattFactory = OutputConsumptionWattFactory;
58
92
  // constructor() {
59
93
  // super('Current', PowerConsumptionAmpere.UUID, {
60
94
  // description: '"Current, A" in Eve App',
61
- // format: Formats.FLOAT,
62
- // perms: [Perms.NOTIFY, Perms.PAIRED_READ],
95
+ // format: hap.Formats.FLOAT,
96
+ // perms: [hap.Perms.NOTIFY, hap.Perms.PAIRED_READ],
63
97
  // minValue: 0,
64
- // maxValue: 100,
98
+ // maxValue: 10000,
65
99
  // });
66
- // this.value = this.getDefaultValue();
100
+ // this.value = this.getDefaultValue(); // value should be set in mA
67
101
  // }
68
102
  // };
69
103
  // };
@@ -73,8 +107,8 @@ exports.OutputConsumptionWattFactory = OutputConsumptionWattFactory;
73
107
  // constructor() {
74
108
  // super('Total Consumption', PowerConsumptionKilowattHour.UUID, {
75
109
  // description: '"Total Consumption, kW/h" in Eve App',
76
- // format: Formats.FLOAT,
77
- // perms: [Perms.NOTIFY, Perms.PAIRED_READ],
110
+ // format: hap.Formats.FLOAT,
111
+ // perms: [hap.Perms.NOTIFY, hap.Perms.PAIRED_READ],
78
112
  // minValue: 0,
79
113
  // maxValue: 50,
80
114
  // });
@@ -85,6 +119,8 @@ exports.OutputConsumptionWattFactory = OutputConsumptionWattFactory;
85
119
  class PowerConsumption {
86
120
  static InputConsumptionWatts;
87
121
  static OutputConsumptionWatts;
122
+ static OutputVoltage;
123
+ static OutputCurrent;
88
124
  }
89
125
  exports.PowerConsumption = PowerConsumption;
90
126
  class CustomCharacteristics {
@@ -1 +1 @@
1
- {"version":3,"file":"customCharacteristic.js","sourceRoot":"","sources":["../../src/characteristics/customCharacteristic.ts"],"names":[],"mappings":";;;AAEO,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAwC,EAAE;IAC5F,OAAO,MAAM,oBAAqB,SAAQ,GAAG,CAAC,cAAc;QACnD,MAAM,CAAU,IAAI,GAAW,sCAAsC,CAAC;QAC7E;YACE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,IAAI,EAAE;gBACpD,WAAW,EAAE,sBAAsB;gBACnC,MAAM,iCAAmB;gBACzB,KAAK,EAAE,+DAAyC;gBAChD,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;gBACV,IAAI,mCAAmB,EAAE,6DAA6D;aACvF,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,2BAA2B,+BAetC;AAEK,MAAM,4BAA4B,GAAG,CAAC,GAAQ,EAAwC,EAAE;IAC7F,OAAO,MAAM,qBAAsB,SAAQ,GAAG,CAAC,cAAc;QAC3D,qBAAqB;QACd,MAAM,CAAU,IAAI,GAAW,sCAAsC,CAAC;QAC7E;YACE,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,IAAI,EAAE;gBACtD,WAAW,EAAE,uBAAuB;gBACpC,MAAM,iCAAmB;gBACzB,KAAK,EAAE,+DAAyC;gBAChD,IAAI,mCAAmB,EAAE,6DAA6D;gBACtF,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,4BAA4B,gCAgBvC;AAEF,oEAAoE;AACpE,mGAAmG;AACnG,mEAAmE;AACnE,oFAAoF;AACpF,sBAAsB;AACtB,sDAAsD;AACtD,kDAAkD;AAClD,iCAAiC;AACjC,oDAAoD;AACpD,uBAAuB;AACvB,yBAAyB;AACzB,YAAY;AACZ,6CAA6C;AAC7C,QAAQ;AACR,OAAO;AACP,KAAK;AAEL,qGAAqG;AACrG,qEAAqE;AACrE,oFAAoF;AACpF,sBAAsB;AACtB,wDAAwD;AACxD,kDAAkD;AAClD,iCAAiC;AACjC,oDAAoD;AACpD,uBAAuB;AACvB,yBAAyB;AACzB,YAAY;AACZ,6CAA6C;AAC7C,QAAQ;AACR,OAAO;AACP,KAAK;AAEL,2GAA2G;AAC3G,2EAA2E;AAC3E,oFAAoF;AACpF,sBAAsB;AACtB,wEAAwE;AACxE,+DAA+D;AAC/D,iCAAiC;AACjC,oDAAoD;AACpD,uBAAuB;AACvB,wBAAwB;AACxB,YAAY;AACZ,6CAA6C;AAC7C,QAAQ;AACR,OAAO;AACP,KAAK;AAEL,MAAa,gBAAgB;IACpB,MAAM,CAAC,qBAAqB,CAAuC;IACnE,MAAM,CAAC,sBAAsB,CAAuC;CAC5E;AAHD,4CAGC;AAED,MAAa,qBAAqB;IACzB,MAAM,CAAU,gBAAgB,GAA4B,gBAAgB,CAAC;;AADtF,sDAEC"}
1
+ {"version":3,"file":"customCharacteristic.js","sourceRoot":"","sources":["../../src/characteristics/customCharacteristic.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -7,7 +7,8 @@ export declare enum DeviceModel {
7
7
  Delta2Max = "Delta 2 Max",
8
8
  Delta2 = "Delta 2",
9
9
  DeltaPro3 = "Delta Pro 3",
10
- PowerStream = "PowerStream"
10
+ PowerStream = "PowerStream",
11
+ SmartPlug = "Smart Plug"
11
12
  }
12
13
  export declare enum LocationType {
13
14
  EU = "EU",
@@ -32,17 +33,23 @@ export interface DeviceConfig extends AccessoryConfig, DeviceAccessConfig {
32
33
  disabled: boolean;
33
34
  battery?: BatteryDeviceConfig;
34
35
  powerStream?: PowerStreamDeviceConfig;
36
+ outlet?: OutletDeviceConfig;
35
37
  }
36
38
  export interface BatteryDeviceConfig {
37
39
  additionalCharacteristics: AdditionalBatteryCharacteristicType[];
38
40
  }
39
- export declare enum AdditionalBatteryCharacteristicType {
41
+ export type AdditionalBatteryCharacteristicType = AdditionalOutletCharacteristicType | AdditionalBatteryOutletCharacteristicType;
42
+ export declare enum AdditionalBatteryOutletCharacteristicType {
40
43
  BatteryLevel = "Battery Level, %",
41
44
  InputConsumptionInWatts = "Input Consumption, W",
42
- OutputConsumptionInWatts = "Output Consumption, W",
43
45
  ChargingState = "Charging State",
44
46
  StatusLowBattery = "Status Low Battery"
45
47
  }
48
+ export declare enum AdditionalOutletCharacteristicType {
49
+ OutputVoltage = "Output Voltage, V",
50
+ OutputCurrent = "Output Current, A",
51
+ OutputConsumptionInWatts = "Output Consumption, W"
52
+ }
46
53
  export declare enum PowerStreamConsumptionType {
47
54
  W600 = 600,
48
55
  W800 = 800
@@ -53,3 +60,6 @@ export interface PowerStreamDeviceConfig {
53
60
  pvAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
54
61
  inverterAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[];
55
62
  }
63
+ export interface OutletDeviceConfig {
64
+ additionalCharacteristics?: AdditionalOutletCharacteristicType[];
65
+ }