diff --git a/src/Huawei_can.cpp b/src/Huawei_can.cpp index a288981a7..20b013881 100644 --- a/src/Huawei_can.cpp +++ b/src/Huawei_can.cpp @@ -389,8 +389,10 @@ void HuaweiCanClass::loop() MessageOutput.printf("[HuaweiCanClass::loop] newPowerLimit: %f, output_power: %f \r\n", newPowerLimit, _rp.output_power); } + // Check whether the battery SoC limit setting is enabled if (config.Battery.Enabled && config.Huawei.Auto_Power_BatterySoC_Limits_Enabled) { uint8_t _batterySoC = Battery.getStats()->getSoC(); + // Sets power limit to 0 if the BMS reported SoC reaches or exceeds the user configured value if (_batterySoC >= config.Huawei.Auto_Power_Stop_BatterySoC_Threshold) { newPowerLimit = 0; if (verboseLogging) { @@ -427,7 +429,7 @@ void HuaweiCanClass::loop() float calculatedCurrent = efficiency * (newPowerLimit / _rp.output_voltage); // Limit output current to value requested by BMS - float permissableCurrent = stats->getChargeCurrentLimitation() - (stats->getChargeCurrent() - _rp.output_current); // BMS current limit - current from other sources + float permissableCurrent = stats->getChargeCurrentLimitation() - (stats->getChargeCurrent() - _rp.output_current); // BMS current limit - current from other sources, e.g. Victron MPPT charger float outputCurrent = std::min(calculatedCurrent, permissableCurrent); outputCurrent= outputCurrent > 0 ? outputCurrent : 0; diff --git a/webapp/src/views/AcChargerAdminView.vue b/webapp/src/views/AcChargerAdminView.vue index fb2ffe58f..b6c181f47 100644 --- a/webapp/src/views/AcChargerAdminView.vue +++ b/webapp/src/views/AcChargerAdminView.vue @@ -112,7 +112,7 @@
+ aria-describedby="stopBatterySoCThresholdDescription" min="2" max="99" required/> %