Repository navigation
fix(loadpoint): Charge now runs on one phase on a charger that cannot run three - #1804
Merged
Merged
Conversation
… run three An app sends Charge now with the phases the API reports, and the API reported three for an auto loadpoint. On a charger whose table stops below 6 A on three phases, a 3p order has no step and went out as 0 W: the field matrix's two hold3p rows, car idle with room. A client's 3p on such a charger is not a pin: the loadpoint's own mode decides, so auto and unset run on one phase. A loadpoint pinned to 3p keeps it. The API reports one phase for such a charger unless it is pinned to 3p, as Core runs it. Both hold3p rows pass; their lines and label go. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
frahlg
force-pushed
the
fix/ev-charge-now-one-phase-charger
branch
from
October 22, 2026 10:23
4dcc3c8 to
0156fb7
Compare
frahlg
marked this pull request as ready for review
October 22, 2026 10:24
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This was referenced Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On master with #1802 and #1801.
Problem
The field matrix (#1800) has two
hold3prows. A 32 A one-phase charger has the step table [0, 1380, 2300, 3680] on an auto loadpoint. Charge now leaves the car idle while there is room for it.phases: 3for an auto or unset loadpoint on a three-phase site, so the app sent Charge now as"3p".holdPhaseModetreated the client's"3p"as a pin. A three-phase order on that table has no step at 6 A a phase, so it went out as 0 W.Users hit this class of bug: Charge now does nothing.
Change
holdPhaseMode): a client's"3p"on a charger thatthreePhaseCapablerejects is not a pin. The loadpoint's own mode decides, so auto and unset run on one phase. A loadpoint pinned to3pkeeps it, as fix(loadpoint): planned charging runs on three phases, and room never cuts a running order #1799'sTestResolvePhaseModerequires. The client states intent; Core decides what the charger can run.decorateLoadpointsWithManual): a charger that cannot run three phases reportsphases: 1unless it is pinned to3p, as Core runs it. The app then sends"1p", and the manual amp slider's range is the charger's one-phase range: 6–32 A for the table above.loadpoint.ThreePhaseCapableexports the existing check for the API.Evidence
"3p"3p(no step, 0 W at the charger)1p/api/loadpointsphaseshold3prowsTestChargeNowOnAOnePhaseChargerIgnoresAClients3p: fails on master (3,680 W"3p"), passes here.TestChargeNowRunsOnThreePhases: three new cases. A client's3pon a one-phase charger, unset or auto, gives1p; a loadpoint pinned to3pkeeps3p. Two fail on master.TestLoadpointsReportTheChargersPhases: six cases. Two fail on master (phases 3, want 1).hold3prows pass, and their lines and label go. No row is new. 338 cases, 29 fail:idle23 (export 13, readback 10) andown-raise6 (relief).go testpasses for api, loadpoint, control, sitesim, telemetry and cmd/ftw;go vetis clean.Limits
3pon such a charger still goes out as3p, under Charge now and under a plan. That is a configuration conflict; fix(loadpoint): planned charging runs on three phases, and room never cuts a running order #1799 kept operator pins as they are.make devwith this loadpoint andsim-ocpp), the Charge now slider for the table above reads 6–32 A on one phase, frommax_charge_w7,360 W. It does not read the step table, so its top half asks for more than the 3,680 W Core sends. On master it read 2–11 A on three phases. The UI still needs a person to check it in a browser.fuse_limit), including one from a loadpoint pinned to1p, which takes the same path on master. A three-phase charger in the same run charged at 11,040 W. This is outside this PR and needs its own look in the EV fuse budget.holdPhaseModeand the same switch indecorateLoadpointsWithManual. Whichever lands second needs a rebase.🤖 Generated with Claude Code