use efficiency factor if limit is set to
victronChargePower
This commit is contained in:
parent
cf4a35e148
commit
b7dda83545
@ -90,9 +90,10 @@ void PowerLimiterClass::loop()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float efficency = inverter->Statistics()->getChannelFieldValue(TYPE_AC, (ChannelNum_t) config.PowerLimiter_InverterChannelId, FLD_EFF);
|
||||||
uint16_t victronChargePower = this->getDirectSolarPower();
|
uint16_t victronChargePower = this->getDirectSolarPower();
|
||||||
|
|
||||||
MessageOutput.printf("[PowerLimiterClass::loop] victronChargePower: %d, consumeSolarPowerOnly: %s \r\n", victronChargePower, _consumeSolarPowerOnly ? "true" : "false");
|
MessageOutput.printf("[PowerLimiterClass::loop] victronChargePower: %d, efficiency: %.2f, consumeSolarPowerOnly: %s \r\n", victronChargePower, efficency, _consumeSolarPowerOnly ? "true" : "false");
|
||||||
|
|
||||||
if (millis() - _lastPowerMeterUpdate < (30 * 1000)) {
|
if (millis() - _lastPowerMeterUpdate < (30 * 1000)) {
|
||||||
MessageOutput.printf("[PowerLimiterClass::loop] dcVoltage: %.2f Voltage Start Threshold: %.2f Voltage Stop Threshold: %.2f inverter->isProducing(): %d\r\n",
|
MessageOutput.printf("[PowerLimiterClass::loop] dcVoltage: %.2f Voltage Start Threshold: %.2f Voltage Stop Threshold: %.2f inverter->isProducing(): %d\r\n",
|
||||||
@ -170,8 +171,8 @@ void PowerLimiterClass::loop()
|
|||||||
|
|
||||||
uint16_t upperPowerLimit = config.PowerLimiter_UpperPowerLimit;
|
uint16_t upperPowerLimit = config.PowerLimiter_UpperPowerLimit;
|
||||||
if (_consumeSolarPowerOnly && (upperPowerLimit > victronChargePower)) {
|
if (_consumeSolarPowerOnly && (upperPowerLimit > victronChargePower)) {
|
||||||
// Battery voltage too low, use Victron solar power only
|
// Battery voltage too low, use Victron solar power (corrected by efficency factor) only
|
||||||
upperPowerLimit = victronChargePower;
|
upperPowerLimit = victronChargePower * (efficency / 100.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newPowerLimit > upperPowerLimit)
|
if (newPowerLimit > upperPowerLimit)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user