UNPKG

@pietrolubini/homebridge-ecoflow

Version:
40 lines 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PowerStreamSimulator = void 0; const powerStreamMqttApiContracts_1 = require("@ecoflow/accessories/powerstream/interfaces/powerStreamMqttApiContracts"); const simulator_1 = require("@ecoflow/apis/simulations/simulator"); const characteristicContracts_1 = require("@ecoflow/characteristics/characteristicContracts"); class PowerStreamSimulator extends simulator_1.SimulatorTyped { generateQuota() { const quota = { cmdFunc: powerStreamMqttApiContracts_1.PowerStreamMqttMessageFuncType.Func20, cmdId: powerStreamMqttApiContracts_1.PowerStreamMqttMessageType.Heartbeat, param: { pv1InputWatts: this.getRandomNumber(1, 3000), pv2InputWatts: this.getRandomNumber(1, 3000), batInputWatts: this.getRandomNumber(-6000, 6000), batSoc: this.getRandomNumber(0, 100), invOutputWatts: this.getRandomNumber(-6000, 6000), invOnOff: this.getRandomBoolean() ? characteristicContracts_1.EnableType.On : characteristicContracts_1.EnableType.Off, supplyPriority: Math.floor(this.getRandomNumber(0, 1)), permanentWatts: this.getRandomNumber(0, 6000), upperLimit: Math.floor(this.getRandomNumber(1, 30)), lowerLimit: Math.floor(this.getRandomNumber(70, 100)), invBrightness: Math.floor(this.getRandomNumber(0, 1023)), }, }; return quota; } generateSetReplyTyped(message) { const reply = { id: message.id, version: message.version, data: { ack: false, }, }; return reply; } } exports.PowerStreamSimulator = PowerStreamSimulator; //# sourceMappingURL=powerStreamSimulator.js.map