diff --git a/src/PowerLimiter.cpp b/src/PowerLimiter.cpp index bbc3532c..387b8988 100644 --- a/src/PowerLimiter.cpp +++ b/src/PowerLimiter.cpp @@ -101,7 +101,7 @@ void PowerLimiterClass::loop() } if (inverter->isProducing()) { - float acPower = inverter->Statistics()->getChannelFieldValue(TYPE_AC, CH0, FLD_PAC); // TODO(helgeerbe) check settings + float acPower = inverter->Statistics()->getChannelFieldValue(TYPE_AC, (ChannelNum_t) config.PowerLimiter_InverterChannelId, FLD_PAC); float correctedDcVoltage = dcVoltage + (acPower * config.PowerLimiter_VoltageLoadCorrectionFactor); if ((_consumeSolarPowerOnly && isStartThresholdReached(inverter)) @@ -215,8 +215,8 @@ float PowerLimiterClass::getLoadCorrectedVoltage(std::shared_ptrStatistics()->getChannelFieldValue(TYPE_AC, CH0, FLD_PAC); // TODO(helgeerbe) check settings - float dcVoltage = inverter->Statistics()->getChannelFieldValue(TYPE_DC, CH0, FLD_UDC); // TODO(helgeerbe) check settings + float acPower = inverter->Statistics()->getChannelFieldValue(TYPE_AC, (ChannelNum_t) config.PowerLimiter_InverterChannelId, FLD_PAC); + float dcVoltage = inverter->Statistics()->getChannelFieldValue(TYPE_DC, (ChannelNum_t) config.PowerLimiter_InverterChannelId, FLD_UDC); if (dcVoltage <= 0.0) { return 0.0;