-
-
Notifications
You must be signed in to change notification settings - Fork 95
Description
Describe the bug
I'm trying to get the configuration of the low charge rate option correct, so far it has charged at a faster rate than expected. I'm expecting around 1.5kW. Inverter is 7kW, it started the overnight charge at 1.5kW as expected.
However after a few minutes, timestamp 00:40:47.447975, it changes the charge rate to 2.8kW and the slot's Target SoC to 94% and I can't see the reason why.
At timestamp 03:00:37.756820 it reinstates the original target SoC of 62% instead of 94%, and drops down to a charge rate of 400W.
Regarding charge curves and the maximum BMS charge rate, I set the target SoC to be 60%, so the planned charge rate should not be affected by the slow-down of charging near 100%. Also, the charge rate should be low enough not to be affected by the cold temperatures. Both charge curved defined in the apps.yaml, and the BMS's throttled charge rate does not drop below 20A (sensor.bms_charge_rate, * battery voltage between 230-245v = 4.6kW to 4.9kW).
Low charge rate enabled, combining charge spots, expecting a target of about 60% SoC to be charged overnight during the 00:30-05:30 period,
- Set charge low power mode - on
- Low power mode margin - 10m
- Combine charge slots - on
- Manual SoC target 60% at 05:30am
2026-02-01 00:30:13.357054: Include original charge start 02-01 00:30:00, keeping this instead of new start 02-01 00:30:00
2026-02-01 00:30:13.357152: Inverter 0 Charge window will be: 2026-02-01 00:30:00+00:00 - 2026-02-01 05:30:00+00:00 - current SoC 20%, target 62%
2026-02-01 00:30:13.357309: Find charge rate for low power mode: SoC: 3.316kW, target_SoC: 10.28kW, charge_left: 6.96kW, minutes_left: 290, abs_minutes_left: 300, max_rate: 7000W, min_rate: 1392W, min_rate_w: 1392W
2026-02-01 00:30:13.373923: Low Power mode: minutes left: 290, absolute: 300, SoC: 3.316kW, Target SoC: 10.28kW, Charge left: 6.96kW, Max rate: 7000W, Min rate: 1392W, Best rate: 1500W, Best rate real: 1500W, Battery temp 13°C
2026-02-01 00:30:13.373971: Inverter 0 Target SoC 62%, (this inverter 62%), battery temperature 13°C, select charge rate 1500W (real 1500W), current charge rate 7000W
2026-02-01 00:30:13.374010: Inverter 0 current charge rate is 7000W and new target is 1500W
2026-02-01 00:30:15.464383: Inverter 0 write_and_poll_value: Wrote 1500 to charge_rate, successfully now 1500.0
2026-02-01 00:35:15.947233: Include original charge start 02-01 00:30:00, keeping this instead of new start 02-01 00:30:00
2026-02-01 00:35:15.947330: Inverter 0 Charge window will be: 2026-02-01 00:30:00+00:00 - 2026-02-01 05:30:00+00:00 - current SoC 20%, target 62%
2026-02-01 00:35:15.947476: Find charge rate for low power mode: SoC: 3.316kW, target_SoC: 10.28kW, charge_left: 6.96kW, minutes_left: 285, abs_minutes_left: 295, max_rate: 7000W, min_rate: 1416W, min_rate_w: 1415W
2026-02-01 00:35:15.966320: Low Power mode: minutes left: 285, absolute: 295, SoC: 3.316kW, Target SoC: 10.28kW, Charge left: 6.96kW, Max rate: 7000W, Min rate: 1416W, Best rate: 1600W, Best rate real: 1600W, Battery temp 13°C
2026-02-01 00:35:15.966374: Inverter 0 Target SoC 62%, (this inverter 62%), battery temperature 13°C, select charge rate 1600W (real 1600W), current charge rate 1500W
2026-02-01 00:40:12.918742: Find charge rate for low power mode: SoC: 3.316kW, target_SoC: 10.28kW, charge_left: 6.96kW, minutes_left: 280, abs_minutes_left: 290, max_rate: 7000W, min_rate: 1440W, min_rate_w: 1440W
2026-02-01 00:40:12.935942: Low Power mode: minutes left: 280, absolute: 290, SoC: 3.316kW, Target SoC: 10.28kW, Charge left: 6.96kW, Max rate: 7000W, Min rate: 1440W, Best rate: 1600W, Best rate real: 1600W, Battery temp 14°C
2026-02-01 00:40:12.935981: Inverter 0 Target SoC 62%, (this inverter 62%), battery temperature 14°C, select charge rate 1600W (real 1600W), current charge rate 1500W
2026-02-01 00:40:45.382679: Include original charge start 02-01 00:30:00, keeping this instead of new start 02-01 00:30:00
2026-02-01 00:40:45.382766: Inverter 0 Charge window will be: 2026-02-01 00:30:00+00:00 - 2026-02-01 05:30:00+00:00 - current SoC 20%, target 94%
2026-02-01 00:40:45.382896: Find charge rate for low power mode: SoC: 3.316kW, target_SoC: 15.59kW, charge_left: 12.27kW, minutes_left: 280, abs_minutes_left: 290, max_rate: 7000W, min_rate: 2539W, min_rate_w: 2538W
2026-02-01 00:40:45.397971: Low Power mode: minutes left: 280, absolute: 290, SoC: 3.316kW, Target SoC: 15.59kW, Charge left: 12.27kW, Max rate: 7000W, Min rate: 2539W, Best rate: 2800W, Best rate real: 2800W, Battery temp 13°C
2026-02-01 00:40:45.398028: Inverter 0 Target SoC 94%, (this inverter 94%), battery temperature 13°C, select charge rate 2800W (real 2800W), current charge rate 1500W
2026-02-01 00:40:45.398070: Inverter 0 current charge rate is 1500W and new target is 2800W
2026-02-01 00:40:47.447975: Inverter 0 write_and_poll_value: Wrote 2800 to charge_rate, successfully now 2800.0
2026-02-01 00:40:47.448390: Adjust idle time, charge 00:30:00-05:30:00 discharge 00:00:00-00:00:00
2026-02-01 00:45:30.196818: Find charge rate for low power mode: SoC: 3.482kW, target_SoC: 15.59kW, charge_left: 12.11kW, minutes_left: 275, abs_minutes_left: 285, max_rate: 7000W, min_rate: 2549W, min_rate_w: 2549W
2026-02-01 00:45:30.213015: Low Power mode: minutes left: 275, absolute: 285, SoC: 3.482kW, Target SoC: 15.59kW, Charge left: 12.11kW, Max rate: 7000W, Min rate: 2549W, Best rate: 2800W, Best rate real: 2800W, Battery temp 14°C
2026-02-01 00:45:30.213058: Inverter 0 Target SoC 94%, (this inverter 94%), battery temperature 14°C, select charge rate 2800W (real 2800W), current charge rate 2800W
etc etc
2026-02-01 03:00:18.085677: Inverter 0 Charge window will be: 2026-02-01 00:30:00+00:00 - 2026-02-01 05:30:00+00:00 - current SoC 59%, target 94%
2026-02-01 03:00:18.085834: Find charge rate for low power mode: SoC: 9.782kW, target_SoC: 15.59kW, charge_left: 5.81kW, minutes_left: 140, abs_minutes_left: 150, max_rate: 7000W, min_rate: 2324W, min_rate_w: 2323W
2026-02-01 03:00:18.093612: Low Power mode: minutes left: 140, absolute: 150, SoC: 9.782kW, Target SoC: 15.59kW, Charge left: 5.81kW, Max rate: 7000W, Min rate: 2324W, Best rate: 2600W, Best rate real: 2600W, Battery temp 19°C
2026-02-01 03:00:18.093646: Inverter 0 Target SoC 94%, (this inverter 94%), battery temperature 19°C, select charge rate 2600W (real 2600W), current charge rate 2800W
2026-02-01 03:00:37.752988: Inverter 0 Charge window will be: 2026-02-01 00:30:00+00:00 - 2026-02-01 05:30:00+00:00 - current SoC 59%, target 62%
2026-02-01 03:00:37.753090: Find charge rate for low power mode: SoC: 9.782kW, target_SoC: 10.28kW, charge_left: 0.5kW, minutes_left: 140, abs_minutes_left: 150, max_rate: 7000W, min_rate: 200W, min_rate_w: 200W
2026-02-01 03:00:37.756766: Low Power mode: minutes left: 140, absolute: 150, SoC: 9.782kW, Target SoC: 10.28kW, Charge left: 0.5kW, Max rate: 7000W, Min rate: 200W, Best rate: 400W, Best rate real: 400W, Battery temp 19°C
2026-02-01 03:00:37.756820: Inverter 0 Target SoC 62%, (this inverter 62%), battery temperature 19°C, select charge rate 400W (real 400W), current charge rate 2800W
2026-02-01 03:00:37.756849: Inverter 0 current charge rate is 2800W and new target is 400W
2026-02-01 03:00:39.849072: Inverter 0 write_and_poll_value: Wrote 400 to charge_rate, successfully now 400.0
Expected behaviour
A steady, minimal, charge rate of around 1.5kW ending at about 05:20, and maintaining the slot target SoC in line with the manual SoC target at about 60% throughout the charge window.
If the target slot had stayed steady at 62% then the charge rate would also most likely have stayed steady.
Predbat version
v8.32.14
Environment details
- FoxESS KH7, EC4300-H4 (15kWh usable, 16.5kWh nominal)
- HAos
- Octopus Go with an export rate of 6p/kWh from E-on (so it should be avoiding export - 94% SoC would probably result in the solar generation for the day overflowing as export)
Screenshots
If applicable, add screenshots to help explain your problem. The most useful ones can be your battery chart, the Predbat HTML plan and your current settings in HA.
The 'octopus charge speed' in yellow above is what I calculate the necessary charge speed to be. Note that it matches the Predbat low charge rate speed initially (00:30-00:40), it is the change in target SoC which causes it to go wrong subsequently.
Predbat debug yaml file
PS unrelated question, I'm on decent hardware, would there be any downside in setting the re-plan interval to 5 minutes instead of the current 10 minutes other than the DB size and a bit more CPU time taken? It does not take long to recalculate the plan, and I have plenty of free space and processing power available.

