Describe the bug
I've implemented #5229 by:
a) Setting switch.predbat_octopus_intelligent_trust_slots to off
b) Ensuring car_charging_now is informed from sensor.<wallbox>_status_description
The house battery still repeatedly tries to Force Charge on each new Octopus Intelligent dispatch slot despite car_charging_now correctly showing the car is not charging.
PR #5229's intro states the goal is to stop Octopus Intelligent dispatch slots being treated as cheap for the house battery when the car isn't actually drawing power, by fixing the ordering so car-charging cancellation happens before rates are built. In testing, the car-side detection and slot cancellation works correctly (confirmed via log evidence below), but Predbat still issues a Force Charge on the house battery using that same dispatch slot's rate — and does this repeatedly, once per new slot, not just as a one-off.
The PR's own discussion notes, as a "known limitation": "Slots Predbat plans itself (Predbat-led charging) are no longer cancelled on low load" — which appears to be exactly this gap: once Predbat decides to Force Charge the house battery on a dispatch slot's rate, that decision is classified as "Predbat-led" and isn't re-evaluated against the same car-charging evidence that correctly cancelled the car's own kWh allocation for the identical slot.
Expected behaviour
Given car_charging_now correctly confirms the car isn't drawing power for a dispatch slot (and switch.predbat_octopus_intelligent_trust_slots is off, i.e. slots start untrusted until confirmed), the house battery should not Force Charge using that slot's cheap rate — per PR #5229's stated goal of fixing the ordering so cancellation happens before rates are built.
Actual behaviour
The car's own kWh allocation for each slot is correctly cancelled (kwh_cancelled shown in the plan), but the house battery is still Force Charged on the same slot's rate — and this recurs on every new slot, not just once. Four occurrences in a single afternoon, all with the car confirmed not charging throughout:
| Time (Europe/London, BST) |
Dispatch slot |
charge_start_service call |
Car status at the time |
| 14:30:09 |
14:30–15:00 |
→ select.foxess_stepps_work_mode = Force Charge |
Not charging (kwh_cancelled: 10.017 logged 14:40) |
| 15:00:18 |
15:00–16:00 |
→ select.foxess_stepps_work_mode = Force Charge |
Not charging (kwh_cancelled: 6.678 logged 14:54) |
| 15:30:09 |
15:30–16:00 |
→ `select.foxess_stepps_work_mode = Force[ |
|
predbat.log
predbat_debug.yaml.txt
predbat.log
](url)
Describe the bug
I've implemented #5229 by:
a) Setting
switch.predbat_octopus_intelligent_trust_slotsto offb) Ensuring
car_charging_nowis informed fromsensor.<wallbox>_status_descriptionThe house battery still repeatedly tries to Force Charge on each new Octopus Intelligent dispatch slot despite
car_charging_nowcorrectly showing the car is not charging.PR #5229's intro states the goal is to stop Octopus Intelligent dispatch slots being treated as cheap for the house battery when the car isn't actually drawing power, by fixing the ordering so car-charging cancellation happens before rates are built. In testing, the car-side detection and slot cancellation works correctly (confirmed via log evidence below), but Predbat still issues a Force Charge on the house battery using that same dispatch slot's rate — and does this repeatedly, once per new slot, not just as a one-off.
The PR's own discussion notes, as a "known limitation": "Slots Predbat plans itself (Predbat-led charging) are no longer cancelled on low load" — which appears to be exactly this gap: once Predbat decides to Force Charge the house battery on a dispatch slot's rate, that decision is classified as "Predbat-led" and isn't re-evaluated against the same car-charging evidence that correctly cancelled the car's own kWh allocation for the identical slot.
Expected behaviour
Given
car_charging_nowcorrectly confirms the car isn't drawing power for a dispatch slot (andswitch.predbat_octopus_intelligent_trust_slotsis off, i.e. slots start untrusted until confirmed), the house battery should not Force Charge using that slot's cheap rate — per PR #5229's stated goal of fixing the ordering so cancellation happens before rates are built.Actual behaviour
The car's own kWh allocation for each slot is correctly cancelled (
kwh_cancelledshown in the plan), but the house battery is still Force Charged on the same slot's rate — and this recurs on every new slot, not just once. Four occurrences in a single afternoon, all with the car confirmed not charging throughout:charge_start_servicecallselect.foxess_stepps_work_mode = Force Chargekwh_cancelled: 10.017logged 14:40)select.foxess_stepps_work_mode = Force Chargekwh_cancelled: 6.678logged 14:54)predbat.log
predbat_debug.yaml.txt
predbat.log
](url)