Browse Source

Refactor heater power calculation in SOLEIL mode for improved accuracy

master
scayac 1 month ago
parent
commit
670a8ccec6
  1. 18
      src/main.cpp

18
src/main.cpp

@ -605,13 +605,21 @@ void calculateHeaterPower() { @@ -605,13 +605,21 @@ void calculateHeaterPower() {
if (modeSOLEIL && enphaseDataUpdated) {
// Mode SOLEIL: ajuster selon l'excédent solaire (uniquement quand les données Enphase sont mises à jour)
if (powerImport <= 0) {
// Convertir l'excédent solaire en pourcentage (max = puissance max du chauffe-eau)
calculatedHeaterPowerSoleil = calculatedHeaterPowerSoleil - (int)((powerImport * 100) / heaterMaxPower);
if (calculatedHeaterPowerSoleil > 100) calculatedHeaterPowerSoleil = 100;
} else {
// if (powerImport <= 0) {
// // Convertir l'excédent solaire en pourcentage (max = puissance max du chauffe-eau)
// calculatedHeaterPowerSoleil = calculatedHeaterPowerSoleil - (int)((powerImport * 100) / heaterMaxPower);
// if (calculatedHeaterPowerSoleil > 100) calculatedHeaterPowerSoleil = 100;
// } else {
// calculatedHeaterPowerSoleil = 0;
// }
calculatedHeaterPowerSoleil = calculatedHeaterPowerSoleil - (int)((powerImport * 100) / heaterMaxPower);
if (calculatedHeaterPowerSoleil > 100){
calculatedHeaterPowerSoleil = 100;
}else if (calculatedHeaterPowerSoleil <= 0){
calculatedHeaterPowerSoleil = 0;
}
enphaseDataUpdated = false; // Consommer le flag de mise à jour
}
// Prendre le maximum entre les deux modes

Loading…
Cancel
Save