@pietrolubini/homebridge-ecoflow
Version:
Homebridge plugin for EcoFlow devices
31 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SwitchMakeIceService = void 0;
const glacierMqttApiContracts_1 = require("@ecoflow/accessories/glacier/interfaces/glacierMqttApiContracts");
const characteristicContracts_1 = require("@ecoflow/characteristics/characteristicContracts");
const switchServiceBase_1 = require("@ecoflow/services/switchServiceBase");
class SwitchMakeIceService extends switchServiceBase_1.SwitchServiceBase {
iceCubeShapeType;
constructor(ecoFlowAccessory, iceCubeShapeType) {
super(ecoFlowAccessory, `Make Ice ${iceCubeShapeType === glacierMqttApiContracts_1.IceCubeShapeType.Small ? 'Small' : 'Large'} Cubes`);
this.iceCubeShapeType = iceCubeShapeType;
}
processOnSetOn(value, revert) {
return this.sendOn({
enable: value ? characteristicContracts_1.EnableType.On : characteristicContracts_1.EnableType.Off,
iceShape: this.iceCubeShapeType,
}, revert);
}
sendOn(params, revert) {
const message = {
id: 0,
version: '',
moduleType: glacierMqttApiContracts_1.GlacierMqttSetModuleType.Default,
operateType: glacierMqttApiContracts_1.GlacierMqttSetOperateType.MakeIce,
params,
};
return this.ecoFlowAccessory.sendSetCommand(message, revert);
}
}
exports.SwitchMakeIceService = SwitchMakeIceService;
//# sourceMappingURL=switchMakeIceService.js.map