Browse Source

Refactor heater power calculation in SOLEIL mode for improved accuracy

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

16
src/main.cpp

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

Loading…
Cancel
Save