You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
iBoost solar model: no option for a CT-based diverter (Eddi) with priority over the battery
#5550
I asked Claude to write up what it found - this is it's description:
Setup: GivEnergy AIO + Gateway (GivTCP), myenergi Eddi (CT on the grid supply), myenergi component with myenergi_automatic, iboost_enable and iboost_solar on.
Problem: the two solar diversion models in prediction.py (mirrored in prediction_kernel.cpp) don't cover how a CT-based diverter like the Eddi actually behaves:
An Eddi measures at the grid CT, so it can only ever take PV minus house load. It can never take solar ahead of the house, which is what the default models. With the default, my plan shows ~3 kWh of iBoost between 10:30 and 13:30 while the battery discharges 50% → 8% to cover the house, in slots where PV (0.4–0.74 kWh) barely exceeds load (0.34–0.58 kWh). That can't happen with an Eddi: the real surplus is close to zero.
With iboost_solar_excess on, the model is physically correct but the battery always takes the surplus first, so the diverter only runs once the battery is full or rate-limited.
Request: a third model, house → diverter → battery, for CT-based diverters given priority over battery charging. In the prediction:
excess = max(pv_now - load, 0)
iboost = min(excess, iboost_max_power * step, remaining iboost_max_energy) # subject to min_power, min_soc, rates
pv_now -= iboost # battery charges only from what's left
Execution: for the plan to come true, the battery must not absorb that surplus. Freeze export in those slots does exactly this: the battery won't charge, so the surplus is exported and the Eddi diverts it, while the battery still covers any house shortfall. I'm currently doing this with an automation that adds the current slot to select.predbat_manual_freeze_export when binary_sensor.predbat_iboost_active is on with solar: true. Ideally Predbat would apply freeze export itself while solar iBoost is active in this mode.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
I asked Claude to write up what it found - this is it's description:
Setup: GivEnergy AIO + Gateway (GivTCP), myenergi Eddi (CT on the grid supply), myenergi component with
myenergi_automatic,iboost_enableandiboost_solaron.Problem: the two solar diversion models in
prediction.py(mirrored inprediction_kernel.cpp) don't cover how a CT-based diverter like the Eddi actually behaves:iboost_solar_excessoffiboost_solar_excessonAn Eddi measures at the grid CT, so it can only ever take PV minus house load. It can never take solar ahead of the house, which is what the default models. With the default, my plan shows ~3 kWh of iBoost between 10:30 and 13:30 while the battery discharges 50% → 8% to cover the house, in slots where PV (0.4–0.74 kWh) barely exceeds load (0.34–0.58 kWh). That can't happen with an Eddi: the real surplus is close to zero.
With
iboost_solar_excesson, the model is physically correct but the battery always takes the surplus first, so the diverter only runs once the battery is full or rate-limited.Request: a third model, house → diverter → battery, for CT-based diverters given priority over battery charging. In the prediction:
Execution: for the plan to come true, the battery must not absorb that surplus. Freeze export in those slots does exactly this: the battery won't charge, so the surplus is exported and the Eddi diverts it, while the battery still covers any house shortfall. I'm currently doing this with an automation that adds the current slot to
select.predbat_manual_freeze_exportwhenbinary_sensor.predbat_iboost_activeis on withsolar: true. Ideally Predbat would apply freeze export itself while solar iBoost is active in this mode.All reactions