Fix ESP8266 MaxPower edge case

This commit is contained in:
Theo Arends 2024-07-03 11:07:59 +02:00
parent 1fd8de6762
commit ac011132ee

View File

@ -566,10 +566,10 @@ void EnergyMarginCheck(void) {
#ifdef USE_ENERGY_POWER_LIMIT #ifdef USE_ENERGY_POWER_LIMIT
// Max Power // Max Power
if (Settings->energy_max_power_limit) { if (Settings->energy_max_power_limit) {
if (Energy->active_power[0] > Settings->energy_max_power_limit) { if (energy_power_u > Settings->energy_max_power_limit) {
if (!Energy->mpl_hold_counter) { if (!Energy->mpl_hold_counter) {
Energy->mpl_hold_counter = Settings->energy_max_power_limit_hold; Energy->mpl_hold_counter = Settings->energy_max_power_limit_hold +1;
} else { }
Energy->mpl_hold_counter--; Energy->mpl_hold_counter--;
if (!Energy->mpl_hold_counter) { if (!Energy->mpl_hold_counter) {
ResponseTime_P(PSTR(",\"" D_JSON_MAXPOWERREACHED "\":%d}"), energy_power_u); ResponseTime_P(PSTR(",\"" D_JSON_MAXPOWERREACHED "\":%d}"), energy_power_u);
@ -582,7 +582,6 @@ void EnergyMarginCheck(void) {
Energy->mpl_window_counter = Settings->energy_max_power_limit_window; Energy->mpl_window_counter = Settings->energy_max_power_limit_window;
} }
} }
}
else if (TasmotaGlobal.power && (energy_power_u <= Settings->energy_max_power_limit)) { else if (TasmotaGlobal.power && (energy_power_u <= Settings->energy_max_power_limit)) {
Energy->mpl_hold_counter = 0; Energy->mpl_hold_counter = 0;
Energy->mpl_retry_counter = 0; Energy->mpl_retry_counter = 0;