diff --git a/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp b/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp index 9c004087..05e671da 100644 --- a/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp +++ b/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp @@ -49,7 +49,12 @@ bool ActivePowerControlCommand::handleResponse(InverterAbstract* inverter, fragm if ((getType() == PowerLimitControlType::RelativNonPersistent) || (getType() == PowerLimitControlType::RelativPersistent)) { inverter->SystemConfigPara()->setLimitPercent(getLimit()); } else { - // TODO(tbnobody): Not implemented yet because we only can publish the percentage value + uint16_t max_power = inverter->DevInfo()->getMaxPower(); + if (max_power > 0) { + inverter->SystemConfigPara()->setLimitPercent(static_cast(getLimit()) / max_power * 100); + } else { + // TODO(tbnobody): Not implemented yet because we only can publish the percentage value + } } inverter->SystemConfigPara()->setLastUpdateCommand(millis()); inverter->SystemConfigPara()->setLastLimitCommandSuccess(CMD_OK);