From 4a51ae503832eb228280fc75b7ac84f88196b559 Mon Sep 17 00:00:00 2001 From: helgeerbe Date: Wed, 1 Mar 2023 10:23:37 +0100 Subject: [PATCH] victron charge power is integer --- include/PowerLimiter.h | 2 +- src/PowerLimiter.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/PowerLimiter.h b/include/PowerLimiter.h index 7353d35c..44160fec 100644 --- a/include/PowerLimiter.h +++ b/include/PowerLimiter.h @@ -25,7 +25,7 @@ private: float _powerMeter3Power; bool canUseDirectSolarPower(); - float getDirectSolarPower(); + uint16_t getDirectSolarPower(); float getLoadCorrectedVoltage(std::shared_ptr inverter); bool isStartThresholdReached(std::shared_ptr inverter); bool isStopThresholdReached(std::shared_ptr inverter); diff --git a/src/PowerLimiter.cpp b/src/PowerLimiter.cpp index 4b9f1c0f..0eb6ac08 100644 --- a/src/PowerLimiter.cpp +++ b/src/PowerLimiter.cpp @@ -90,9 +90,9 @@ void PowerLimiterClass::loop() return; } - float victronChargePower = this->getDirectSolarPower(); + uint16_t victronChargePower = this->getDirectSolarPower(); - MessageOutput.printf("[PowerLimiterClass::loop] victronChargePower: %.2f\r\n", victronChargePower); + MessageOutput.printf("[PowerLimiterClass::loop] victronChargePower: %d\r\n", victronChargePower); if (millis() - _lastPowerMeterUpdate < (30 * 1000)) { MessageOutput.printf("[PowerLimiterClass::loop] dcVoltage: %.2f config.PowerLimiter_VoltageStartThreshold: %.2f config.PowerLimiter_VoltageStopThreshold: %.2f inverter->isProducing(): %d\r\n", @@ -218,13 +218,13 @@ bool PowerLimiterClass::canUseDirectSolarPower() return true; } -float PowerLimiterClass::getDirectSolarPower() +uint16_t PowerLimiterClass::getDirectSolarPower() { if (!this->canUseDirectSolarPower()) { return 0; } - return VeDirect.veFrame.PPV; + return round(VeDirect.veFrame.PPV); } float PowerLimiterClass::getLoadCorrectedVoltage(std::shared_ptr inverter)