@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.
- package/README.md +45 -1
- package/config.schema.json +18 -1
- package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.d.ts +2 -2
- package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js +2 -2
- package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js.map +1 -1
- package/dist/accessories/batteries/deltapro/deltaProAccessory.d.ts +24 -2
- package/dist/accessories/batteries/deltapro/deltaProAccessory.js +113 -2
- package/dist/accessories/batteries/deltapro/deltaProAccessory.js.map +1 -1
- package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.d.ts +2 -2
- package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js +2 -2
- package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js.map +1 -1
- package/dist/accessories/batteries/deltapro3/deltaPro3Accessory.js +13 -9
- package/dist/accessories/batteries/deltapro3/deltaPro3Accessory.js.map +1 -1
- package/dist/accessories/batteries/deltapro3/interfaces/deltaPro3HttpApiContracts.d.ts +2 -2
- package/dist/accessories/batteries/deltapro3/interfaces/deltaPro3MqttApiContracts.d.ts +3 -5
- package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.d.ts +2 -2
- package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.js +2 -2
- package/dist/accessories/batteries/deltapro3/services/deltaPro3OutletServiceBase.js.map +1 -1
- package/dist/accessories/batteries/deltapro3/simulations/deltaPro3Simulator.js +16 -18
- package/dist/accessories/batteries/deltapro3/simulations/deltaPro3Simulator.js.map +1 -1
- package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.d.ts +2 -2
- package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js +2 -2
- package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js.map +1 -1
- package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.d.ts +3 -5
- package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js +3 -5
- package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js.map +1 -1
- package/dist/accessories/powerstream/services/brightnessService.js +2 -2
- package/dist/accessories/powerstream/services/brightnessService.js.map +1 -1
- package/dist/accessories/powerstream/services/outletInvService.d.ts +2 -2
- package/dist/accessories/powerstream/services/outletInvService.js +2 -2
- package/dist/accessories/powerstream/services/outletInvService.js.map +1 -1
- package/dist/accessories/powerstream/services/outletService.d.ts +2 -2
- package/dist/accessories/powerstream/services/outletService.js +2 -2
- package/dist/accessories/powerstream/services/outletService.js.map +1 -1
- package/dist/accessories/powerstream/services/powerDemandService.js +1 -1
- package/dist/accessories/powerstream/services/powerDemandService.js.map +1 -1
- package/dist/accessories/smartplug/interfaces/smartPlugHttpApiContracts.d.ts +11 -0
- package/dist/accessories/{powerstream/interfaces/httpApiPowerStreamContracts.js → smartplug/interfaces/smartPlugHttpApiContracts.js} +1 -1
- package/dist/accessories/smartplug/interfaces/smartPlugHttpApiContracts.js.map +1 -0
- package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.d.ts +32 -0
- package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.js +18 -0
- package/dist/accessories/smartplug/interfaces/smartPlugMqttApiContracts.js.map +1 -0
- package/dist/accessories/smartplug/services/brightnessService.d.ts +7 -0
- package/dist/accessories/smartplug/services/brightnessService.js +27 -0
- package/dist/accessories/smartplug/services/brightnessService.js.map +1 -0
- package/dist/accessories/smartplug/services/brightnessService.spec.d.ts +1 -0
- package/dist/accessories/smartplug/services/outletService.d.ts +7 -0
- package/dist/accessories/smartplug/services/outletService.js +24 -0
- package/dist/accessories/smartplug/services/outletService.js.map +1 -0
- package/dist/accessories/smartplug/services/outletService.spec.d.ts +1 -0
- package/dist/accessories/smartplug/simulations/smartPlugSimulator.d.ts +6 -0
- package/dist/accessories/smartplug/simulations/smartPlugSimulator.js +34 -0
- package/dist/accessories/smartplug/simulations/smartPlugSimulator.js.map +1 -0
- package/dist/accessories/{batteries/deltapro/deltaProAccessoryBase.d.ts → smartplug/smartPlugAccessory.d.ts} +13 -14
- package/dist/accessories/smartplug/smartPlugAccessory.js +81 -0
- package/dist/accessories/smartplug/smartPlugAccessory.js.map +1 -0
- package/dist/accessories/smartplug/smartPlugAccessory.spec.d.ts +1 -0
- package/dist/characteristics/customCharacteristic.d.ts +12 -0
- package/dist/characteristics/customCharacteristic.js +45 -9
- package/dist/characteristics/customCharacteristic.js.map +1 -1
- package/dist/config.d.ts +13 -3
- package/dist/config.js +15 -9
- package/dist/config.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/homebridge-ui/public/index.js +1 -1
- package/dist/platform.js +13 -5
- package/dist/platform.js.map +1 -1
- package/dist/services/batteryOutletServiceBase.d.ts +14 -0
- package/dist/services/batteryOutletServiceBase.js +37 -0
- package/dist/services/batteryOutletServiceBase.js.map +1 -0
- package/dist/services/batteryOutletServiceBase.spec.d.ts +1 -0
- package/dist/services/outletServiceBase.d.ts +10 -11
- package/dist/services/outletServiceBase.js +9 -20
- package/dist/services/outletServiceBase.js.map +1 -1
- package/dist/services/serviceBase.js +1 -1
- package/dist/services/serviceBase.js.map +1 -1
- package/dist/services/temperatureSensorService.d.ts +10 -0
- package/dist/services/temperatureSensorService.js +21 -0
- package/dist/services/temperatureSensorService.js.map +1 -0
- package/dist/services/temperatureSensorService.spec.d.ts +1 -0
- package/junit.xml +727 -603
- package/package.json +1 -1
- package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js +0 -119
- package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js.map +0 -1
- package/dist/accessories/powerstream/interfaces/httpApiPowerStreamContracts.d.ts +0 -16
- package/dist/accessories/powerstream/interfaces/httpApiPowerStreamContracts.js.map +0 -1
- package/dist/accessories/powerstream/interfaces/mqttApiPowerStreamContracts.d.ts +0 -41
- package/dist/accessories/powerstream/interfaces/mqttApiPowerStreamContracts.js +0 -21
- package/dist/accessories/powerstream/interfaces/mqttApiPowerStreamContracts.js.map +0 -1
- /package/dist/accessories/batteries/deltapro/{deltaProAccessoryBase.spec.d.ts → deltaProAccessory.spec.d.ts} +0 -0
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PowerStreamConsumptionType = exports.
|
|
3
|
+
exports.PowerStreamConsumptionType = exports.AdditionalOutletCharacteristicType = exports.AdditionalBatteryOutletCharacteristicType = exports.LocationType = exports.DeviceModel = void 0;
|
|
4
4
|
var DeviceModel;
|
|
5
5
|
(function (DeviceModel) {
|
|
6
6
|
DeviceModel["Delta2Max"] = "Delta 2 Max";
|
|
@@ -9,20 +9,26 @@ var DeviceModel;
|
|
|
9
9
|
DeviceModel["DeltaPro3"] = "Delta Pro 3";
|
|
10
10
|
// DeltaProUltra = 'Delta Pro Ultra',
|
|
11
11
|
DeviceModel["PowerStream"] = "PowerStream";
|
|
12
|
+
DeviceModel["SmartPlug"] = "Smart Plug";
|
|
12
13
|
})(DeviceModel || (exports.DeviceModel = DeviceModel = {}));
|
|
13
14
|
var LocationType;
|
|
14
15
|
(function (LocationType) {
|
|
15
16
|
LocationType["EU"] = "EU";
|
|
16
17
|
LocationType["US"] = "US";
|
|
17
18
|
})(LocationType || (exports.LocationType = LocationType = {}));
|
|
18
|
-
var
|
|
19
|
-
(function (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
var AdditionalBatteryOutletCharacteristicType;
|
|
20
|
+
(function (AdditionalBatteryOutletCharacteristicType) {
|
|
21
|
+
AdditionalBatteryOutletCharacteristicType["BatteryLevel"] = "Battery Level, %";
|
|
22
|
+
AdditionalBatteryOutletCharacteristicType["InputConsumptionInWatts"] = "Input Consumption, W";
|
|
23
|
+
AdditionalBatteryOutletCharacteristicType["ChargingState"] = "Charging State";
|
|
24
|
+
AdditionalBatteryOutletCharacteristicType["StatusLowBattery"] = "Status Low Battery";
|
|
25
|
+
})(AdditionalBatteryOutletCharacteristicType || (exports.AdditionalBatteryOutletCharacteristicType = AdditionalBatteryOutletCharacteristicType = {}));
|
|
26
|
+
var AdditionalOutletCharacteristicType;
|
|
27
|
+
(function (AdditionalOutletCharacteristicType) {
|
|
28
|
+
AdditionalOutletCharacteristicType["OutputVoltage"] = "Output Voltage, V";
|
|
29
|
+
AdditionalOutletCharacteristicType["OutputCurrent"] = "Output Current, A";
|
|
30
|
+
AdditionalOutletCharacteristicType["OutputConsumptionInWatts"] = "Output Consumption, W";
|
|
31
|
+
})(AdditionalOutletCharacteristicType || (exports.AdditionalOutletCharacteristicType = AdditionalOutletCharacteristicType = {}));
|
|
26
32
|
var PowerStreamConsumptionType;
|
|
27
33
|
(function (PowerStreamConsumptionType) {
|
|
28
34
|
PowerStreamConsumptionType[PowerStreamConsumptionType["W600"] = 600] = "W600";
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAOA,IAAY,
|
|
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 +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"],"Delta 2 Max":["powerStream"],"Delta Pro":["powerStream"],"Delta Pro 3":["powerStream"],"Delta Pro Ultra":["powerStream"],PowerStream:["battery"]}}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,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})}})()})();
|
package/dist/platform.js
CHANGED
|
@@ -4,10 +4,12 @@ exports.EcoFlowHomebridgePlatform = void 0;
|
|
|
4
4
|
const delta2Accessory_1 = require("@ecoflow/accessories/batteries/delta2/delta2Accessory");
|
|
5
5
|
const delta2MaxAccessory_1 = require("@ecoflow/accessories/batteries/delta2/delta2MaxAccessory");
|
|
6
6
|
const delta2Simulator_1 = require("@ecoflow/accessories/batteries/delta2/simulations/delta2Simulator");
|
|
7
|
-
const powerStreamAccessory_1 = require("@ecoflow/accessories/powerstream/powerStreamAccessory");
|
|
8
7
|
const deltaPro3Accessory_1 = require("@ecoflow/accessories/batteries/deltapro3/deltaPro3Accessory");
|
|
9
8
|
const deltaPro3Simulator_1 = require("@ecoflow/accessories/batteries/deltapro3/simulations/deltaPro3Simulator");
|
|
9
|
+
const powerStreamAccessory_1 = require("@ecoflow/accessories/powerstream/powerStreamAccessory");
|
|
10
10
|
const powerStreamSimulator_1 = require("@ecoflow/accessories/powerstream/simulations/powerStreamSimulator");
|
|
11
|
+
const smartPlugSimulator_1 = require("@ecoflow/accessories/smartplug/simulations/smartPlugSimulator");
|
|
12
|
+
const smartPlugAccessory_1 = require("@ecoflow/accessories/smartplug/smartPlugAccessory");
|
|
11
13
|
const ecoFlowHttpApiManager_1 = require("@ecoflow/apis/ecoFlowHttpApiManager");
|
|
12
14
|
const ecoFlowMqttApiManager_1 = require("@ecoflow/apis/ecoFlowMqttApiManager");
|
|
13
15
|
const customCharacteristic_1 = require("@ecoflow/characteristics/customCharacteristic");
|
|
@@ -56,6 +58,8 @@ class EcoFlowHomebridgePlatform {
|
|
|
56
58
|
static InitCustomCharacteristics(hap) {
|
|
57
59
|
customCharacteristic_1.CustomCharacteristics.PowerConsumption.InputConsumptionWatts = (0, customCharacteristic_1.InputConsumptionWattFactory)(hap);
|
|
58
60
|
customCharacteristic_1.CustomCharacteristics.PowerConsumption.OutputConsumptionWatts = (0, customCharacteristic_1.OutputConsumptionWattFactory)(hap);
|
|
61
|
+
customCharacteristic_1.CustomCharacteristics.PowerConsumption.OutputVoltage = (0, customCharacteristic_1.OutputVoltageFactory)(hap);
|
|
62
|
+
customCharacteristic_1.CustomCharacteristics.PowerConsumption.OutputCurrent = (0, customCharacteristic_1.OutputCurrentFactory)(hap);
|
|
59
63
|
}
|
|
60
64
|
/**
|
|
61
65
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
|
@@ -175,18 +179,22 @@ class EcoFlowHomebridgePlatform {
|
|
|
175
179
|
// EcoFlowAccessoryType = DeltaProAccessory;
|
|
176
180
|
// EcoFlowAccessorySimulatorType = DeltaProSimulator;
|
|
177
181
|
// break;
|
|
178
|
-
// case DeviceModel.DeltaProUltra:
|
|
179
|
-
// EcoFlowAccessoryType = DeltaProUltraAccessory;
|
|
180
|
-
// EcoFlowAccessorySimulatorType = DeltaProUltraSimulator;
|
|
181
|
-
// break;
|
|
182
182
|
case config_1.DeviceModel.DeltaPro3:
|
|
183
183
|
EcoFlowAccessoryType = deltaPro3Accessory_1.DeltaPro3Accessory;
|
|
184
184
|
EcoFlowAccessorySimulatorType = deltaPro3Simulator_1.DeltaPro3Simulator;
|
|
185
185
|
break;
|
|
186
|
+
// case DeviceModel.DeltaProUltra:
|
|
187
|
+
// EcoFlowAccessoryType = DeltaProUltraAccessory;
|
|
188
|
+
// EcoFlowAccessorySimulatorType = DeltaProUltraSimulator;
|
|
189
|
+
// break;
|
|
186
190
|
case config_1.DeviceModel.PowerStream:
|
|
187
191
|
EcoFlowAccessoryType = powerStreamAccessory_1.PowerStreamAccessory;
|
|
188
192
|
EcoFlowAccessorySimulatorType = powerStreamSimulator_1.PowerStreamSimulator;
|
|
189
193
|
break;
|
|
194
|
+
case config_1.DeviceModel.SmartPlug:
|
|
195
|
+
EcoFlowAccessoryType = smartPlugAccessory_1.SmartPlugAccessory;
|
|
196
|
+
EcoFlowAccessorySimulatorType = smartPlugSimulator_1.SmartPlugSimulator;
|
|
197
|
+
break;
|
|
190
198
|
default:
|
|
191
199
|
log.warn(`"${config.model}" is not supported. Ignoring the device`);
|
|
192
200
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AAYA,2FAAwF;AACxF,iGAA8F;AAC9F,uGAAoG;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
|
|
2
|
+
import { AdditionalBatteryCharacteristicType as BatteryCharacteristicType } from '@ecoflow/config';
|
|
3
|
+
import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
|
|
4
|
+
import { OutletServiceBase } from '@ecoflow/services/outletServiceBase';
|
|
5
|
+
import { Characteristic } from 'homebridge';
|
|
6
|
+
export declare abstract class BatteryOutletServiceBase extends OutletServiceBase {
|
|
7
|
+
private readonly batteryStatusProvider;
|
|
8
|
+
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, batteryStatusProvider: BatteryStatusProvider, serviceSubType: string, additionalCharacteristics?: BatteryCharacteristicType[]);
|
|
9
|
+
updateInputConsumption(watt: number): void;
|
|
10
|
+
updateBatteryLevel(batteryLevel: number, dischargeLimit: number): void;
|
|
11
|
+
updateChargingState(isCharging: boolean): void;
|
|
12
|
+
protected addCharacteristics(): Characteristic[];
|
|
13
|
+
private updateStatusLowBattery;
|
|
14
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BatteryOutletServiceBase = void 0;
|
|
4
|
+
const config_1 = require("@ecoflow/config");
|
|
5
|
+
const outletServiceBase_1 = require("@ecoflow/services/outletServiceBase");
|
|
6
|
+
class BatteryOutletServiceBase extends outletServiceBase_1.OutletServiceBase {
|
|
7
|
+
batteryStatusProvider;
|
|
8
|
+
constructor(ecoFlowAccessory, batteryStatusProvider, serviceSubType, additionalCharacteristics) {
|
|
9
|
+
super(ecoFlowAccessory, additionalCharacteristics, serviceSubType);
|
|
10
|
+
this.batteryStatusProvider = batteryStatusProvider;
|
|
11
|
+
}
|
|
12
|
+
updateInputConsumption(watt) {
|
|
13
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.InputConsumptionWatts, 'Input Consumption, W', () => watt, config_1.AdditionalBatteryOutletCharacteristicType.InputConsumptionInWatts);
|
|
14
|
+
}
|
|
15
|
+
updateBatteryLevel(batteryLevel, dischargeLimit) {
|
|
16
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.BatteryLevel, 'Battery Level, %', () => batteryLevel, config_1.AdditionalBatteryOutletCharacteristicType.BatteryLevel);
|
|
17
|
+
this.updateStatusLowBattery(batteryLevel, dischargeLimit);
|
|
18
|
+
}
|
|
19
|
+
updateChargingState(isCharging) {
|
|
20
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.ChargingState, 'ChargingState', () => isCharging, config_1.AdditionalBatteryOutletCharacteristicType.ChargingState);
|
|
21
|
+
}
|
|
22
|
+
addCharacteristics() {
|
|
23
|
+
const characteristics = super.addCharacteristics();
|
|
24
|
+
const additionalCharacteristics = [
|
|
25
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.InputConsumptionWatts, config_1.AdditionalBatteryOutletCharacteristicType.InputConsumptionInWatts),
|
|
26
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.BatteryLevel, config_1.AdditionalBatteryOutletCharacteristicType.BatteryLevel),
|
|
27
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.ChargingState, config_1.AdditionalBatteryOutletCharacteristicType.ChargingState),
|
|
28
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.StatusLowBattery, config_1.AdditionalBatteryOutletCharacteristicType.StatusLowBattery),
|
|
29
|
+
];
|
|
30
|
+
return [...characteristics, ...additionalCharacteristics].filter(characteristic => characteristic !== null);
|
|
31
|
+
}
|
|
32
|
+
updateStatusLowBattery(batteryLevel, dischargeLimit) {
|
|
33
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.StatusLowBattery, 'StatusLowBattery', () => this.batteryStatusProvider.getStatusLowBattery(this.platform.Characteristic, batteryLevel, dischargeLimit), config_1.AdditionalBatteryOutletCharacteristicType.StatusLowBattery);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.BatteryOutletServiceBase = BatteryOutletServiceBase;
|
|
37
|
+
//# sourceMappingURL=batteryOutletServiceBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batteryOutletServiceBase.js","sourceRoot":"","sources":["../../src/services/batteryOutletServiceBase.ts"],"names":[],"mappings":";;;AACA,4CAGyB;AAEzB,2EAAwE;AAGxE,MAAsB,wBAAyB,SAAQ,qCAAiB;IAGnD;IAFnB,YACE,gBAAsC,EACrB,qBAA4C,EAC7D,cAAsB,EACtB,yBAAuD;QAEvD,KAAK,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,cAAc,CAAC,CAAC;QAJlD,0BAAqB,GAArB,qBAAqB,CAAuB;IAK/D,CAAC;IAEM,sBAAsB,CAAC,IAAY;QACxC,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,qBAAqB,EACnE,sBAAsB,EACtB,GAAG,EAAE,CAAC,IAAI,EACV,kDAA+B,CAAC,uBAAuB,CACxD,CAAC;IACJ,CAAC;IAEM,kBAAkB,CAAC,YAAoB,EAAE,cAAsB;QACpE,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EACzC,kBAAkB,EAClB,GAAG,EAAE,CAAC,YAAY,EAClB,kDAA+B,CAAC,YAAY,CAC7C,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,mBAAmB,CAAC,UAAmB;QAC5C,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,eAAe,EACf,GAAG,EAAE,CAAC,UAAU,EAChB,kDAA+B,CAAC,aAAa,CAC9C,CAAC;IACJ,CAAC;IAEkB,kBAAkB;QACnC,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,yBAAyB,GAAG;YAChC,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,qBAAqB,EACnE,kDAA+B,CAAC,uBAAuB,CACxD;YACD,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EACzC,kDAA+B,CAAC,YAAY,CAC7C;YACD,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,kDAA+B,CAAC,aAAa,CAC9C;YACD,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAC7C,kDAA+B,CAAC,gBAAgB,CACjD;SACF,CAAC;QAEF,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,yBAAyB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;IAC9G,CAAC;IAEO,sBAAsB,CAAC,YAAoB,EAAE,cAAsB;QACzE,IAAI,CAAC,0BAA0B,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAC7C,kBAAkB,EAClB,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,EAChH,kDAA+B,CAAC,gBAAgB,CACjD,CAAC;IACJ,CAAC;CACF;AAtED,4DAsEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
|
|
2
|
-
import { AdditionalBatteryCharacteristicType as CharacteristicType } from '@ecoflow/config';
|
|
3
|
-
import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
|
|
4
2
|
import { ServiceBase } from '@ecoflow/services/serviceBase';
|
|
5
|
-
import { Characteristic } from 'homebridge';
|
|
3
|
+
import { Characteristic, CharacteristicValue, WithUUID } from 'homebridge';
|
|
6
4
|
export declare abstract class OutletServiceBase extends ServiceBase {
|
|
7
|
-
private readonly batteryStatusProvider;
|
|
8
5
|
private readonly additionalCharacteristics?;
|
|
9
|
-
constructor(ecoFlowAccessory: EcoFlowAccessoryBase,
|
|
6
|
+
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, additionalCharacteristics?: string[] | undefined, serviceSubType?: string);
|
|
10
7
|
updateState(state: boolean): void;
|
|
11
8
|
updateOutputConsumption(watt: number): void;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
updateChargingState(isCharging: boolean): void;
|
|
9
|
+
updateOutputVoltage(volt: number): void;
|
|
10
|
+
updateOutputCurrent(ampere: number): void;
|
|
15
11
|
protected addCharacteristics(): Characteristic[];
|
|
16
12
|
protected abstract setOn(value: boolean, revert: () => void): Promise<void>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
protected tryAddCustomCharacteristic(characteristic: WithUUID<{
|
|
14
|
+
new (): Characteristic;
|
|
15
|
+
}>, characteristicType: string): Characteristic | null;
|
|
16
|
+
protected updateCustomCharacteristic(characteristic: WithUUID<{
|
|
17
|
+
new (): Characteristic;
|
|
18
|
+
}>, name: string, valueFunc: () => CharacteristicValue, characteristicType: string): void;
|
|
20
19
|
}
|
|
@@ -4,11 +4,9 @@ exports.OutletServiceBase = void 0;
|
|
|
4
4
|
const config_1 = require("@ecoflow/config");
|
|
5
5
|
const serviceBase_1 = require("@ecoflow/services/serviceBase");
|
|
6
6
|
class OutletServiceBase extends serviceBase_1.ServiceBase {
|
|
7
|
-
batteryStatusProvider;
|
|
8
7
|
additionalCharacteristics;
|
|
9
|
-
constructor(ecoFlowAccessory,
|
|
8
|
+
constructor(ecoFlowAccessory, additionalCharacteristics, serviceSubType) {
|
|
10
9
|
super(ecoFlowAccessory.platform.Service.Outlet, ecoFlowAccessory, serviceSubType);
|
|
11
|
-
this.batteryStatusProvider = batteryStatusProvider;
|
|
12
10
|
this.additionalCharacteristics = additionalCharacteristics;
|
|
13
11
|
}
|
|
14
12
|
updateState(state) {
|
|
@@ -16,17 +14,13 @@ class OutletServiceBase extends serviceBase_1.ServiceBase {
|
|
|
16
14
|
}
|
|
17
15
|
updateOutputConsumption(watt) {
|
|
18
16
|
this.updateCharacteristic(this.platform.Characteristic.OutletInUse, 'InUse', watt > 0);
|
|
19
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputConsumptionWatts, 'Output Consumption, W', () => watt, config_1.
|
|
17
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputConsumptionWatts, 'Output Consumption, W', () => watt, config_1.AdditionalOutletCharacteristicType.OutputConsumptionInWatts);
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.
|
|
19
|
+
updateOutputVoltage(volt) {
|
|
20
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputVoltage, 'Output Voltage, V', () => volt, config_1.AdditionalOutletCharacteristicType.OutputVoltage);
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.
|
|
26
|
-
this.updateStatusLowBattery(batteryLevel, dischargeLimit);
|
|
27
|
-
}
|
|
28
|
-
updateChargingState(isCharging) {
|
|
29
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.ChargingState, 'ChargingState', () => isCharging, config_1.AdditionalBatteryCharacteristicType.ChargingState);
|
|
22
|
+
updateOutputCurrent(ampere) {
|
|
23
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputCurrent, 'Output Current, A', () => ampere, config_1.AdditionalOutletCharacteristicType.OutputCurrent);
|
|
30
24
|
}
|
|
31
25
|
addCharacteristics() {
|
|
32
26
|
const onCharacteristic = this.addCharacteristic(this.platform.Characteristic.On);
|
|
@@ -37,18 +31,13 @@ class OutletServiceBase extends serviceBase_1.ServiceBase {
|
|
|
37
31
|
const characteristics = [
|
|
38
32
|
this.addCharacteristic(this.platform.Characteristic.OutletInUse),
|
|
39
33
|
onCharacteristic,
|
|
40
|
-
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.
|
|
41
|
-
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.
|
|
42
|
-
this.tryAddCustomCharacteristic(this.platform.Characteristic.
|
|
43
|
-
this.tryAddCustomCharacteristic(this.platform.Characteristic.ChargingState, config_1.AdditionalBatteryCharacteristicType.ChargingState),
|
|
44
|
-
this.tryAddCustomCharacteristic(this.platform.Characteristic.StatusLowBattery, config_1.AdditionalBatteryCharacteristicType.StatusLowBattery),
|
|
34
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputVoltage, config_1.AdditionalOutletCharacteristicType.OutputVoltage),
|
|
35
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputCurrent, config_1.AdditionalOutletCharacteristicType.OutputCurrent),
|
|
36
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputConsumptionWatts, config_1.AdditionalOutletCharacteristicType.OutputConsumptionInWatts),
|
|
45
37
|
];
|
|
46
38
|
this.service.setCharacteristic(this.platform.Characteristic.Name, this.serviceName);
|
|
47
39
|
return characteristics.filter(characteristic => characteristic !== null);
|
|
48
40
|
}
|
|
49
|
-
updateStatusLowBattery(batteryLevel, dischargeLimit) {
|
|
50
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.StatusLowBattery, 'StatusLowBattery', () => this.batteryStatusProvider.getStatusLowBattery(this.platform.Characteristic, batteryLevel, dischargeLimit), config_1.AdditionalBatteryCharacteristicType.StatusLowBattery);
|
|
51
|
-
}
|
|
52
41
|
tryAddCustomCharacteristic(characteristic, characteristicType) {
|
|
53
42
|
if (this.additionalCharacteristics?.includes(characteristicType)) {
|
|
54
43
|
return this.addCharacteristic(characteristic);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outletServiceBase.js","sourceRoot":"","sources":["../../src/services/outletServiceBase.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"outletServiceBase.js","sourceRoot":"","sources":["../../src/services/outletServiceBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ class ServiceBase {
|
|
|
38
38
|
return this._service;
|
|
39
39
|
}
|
|
40
40
|
get serviceName() {
|
|
41
|
-
return
|
|
41
|
+
return this.ecoFlowAccessory.config.name + (this.serviceSubType ? ` ${this.serviceSubType}` : '');
|
|
42
42
|
}
|
|
43
43
|
createService() {
|
|
44
44
|
return this.serviceSubType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceBase.js","sourceRoot":"","sources":["../../src/services/serviceBase.ts"],"names":[],"mappings":";;;AAIA,MAAsB,WAAW;IAOZ;IACE;IACA;IARF,GAAG,CAAU;IACb,QAAQ,CAA4B;IAC7C,eAAe,GAAqB,EAAE,CAAC;IACzC,QAAQ,GAAmB,IAAI,CAAC;IAExC,YACmB,WAAqC,EACnC,gBAAsC,EACtC,cAAuB;QAFzB,gBAAW,GAAX,WAAW,CAA0B;QACnC,qBAAgB,GAAhB,gBAAgB,CAAsB;QACtC,mBAAc,GAAd,cAAc,CAAS;QAE1C,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IAEM,sBAAsB;QAC3B,IAAI,CAAC,OAAO,CAAC,eAAe;aACzB,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aACxE,OAAO,CAAC,cAAc,CAAC,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,qCAAqC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YAC7G,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;IACrB,IAAW,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAc,WAAW;QACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"serviceBase.js","sourceRoot":"","sources":["../../src/services/serviceBase.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 TemperatureSensorService extends ServiceBase {
|
|
5
|
+
protected readonly ecoFlowAccessory: EcoFlowAccessoryBase;
|
|
6
|
+
private temperatureCharacteristic;
|
|
7
|
+
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, serviceSubType?: string);
|
|
8
|
+
protected addCharacteristics(): Characteristic[];
|
|
9
|
+
updateCurrentTemperature(value: number): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TemperatureSensorService = void 0;
|
|
4
|
+
const serviceBase_1 = require("@ecoflow/services/serviceBase");
|
|
5
|
+
class TemperatureSensorService extends serviceBase_1.ServiceBase {
|
|
6
|
+
ecoFlowAccessory;
|
|
7
|
+
temperatureCharacteristic = null;
|
|
8
|
+
constructor(ecoFlowAccessory, serviceSubType) {
|
|
9
|
+
super(ecoFlowAccessory.platform.Service.TemperatureSensor, ecoFlowAccessory, serviceSubType);
|
|
10
|
+
this.ecoFlowAccessory = ecoFlowAccessory;
|
|
11
|
+
}
|
|
12
|
+
addCharacteristics() {
|
|
13
|
+
this.temperatureCharacteristic = this.addCharacteristic(this.platform.Characteristic.CurrentTemperature);
|
|
14
|
+
return [this.temperatureCharacteristic];
|
|
15
|
+
}
|
|
16
|
+
updateCurrentTemperature(value) {
|
|
17
|
+
this.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, 'Current Temperature', value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.TemperatureSensorService = TemperatureSensorService;
|
|
21
|
+
//# sourceMappingURL=temperatureSensorService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temperatureSensorService.js","sourceRoot":"","sources":["../../src/services/temperatureSensorService.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAG5D,MAAa,wBAAyB,SAAQ,yBAAW;IAIlC;IAHb,yBAAyB,GAA0B,IAAI,CAAC;IAEhE,YACqB,gBAAsC,EACzD,cAAuB;QAEvB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAH1E,qBAAgB,GAAhB,gBAAgB,CAAsB;IAI3D,CAAC;IAEkB,kBAAkB;QACnC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC;IAEM,wBAAwB,CAAC,KAAa;QAC3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC3G,CAAC;CACF;AAlBD,4DAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|