Skip to content

fix(easee_cloud): two review fixes to the 7 A start (1.3.8) - #191

Merged
frahlg merged 1 commit into
mainfrom
easee-boost-low-findings
Oct 23, 2026
Merged

frahlg merged 1 commit into
mainfrom
easee-boost-low-findings

Conversation

@frahlg

@frahlg frahlg commented Oct 23, 2026

Copy link
Copy Markdown
Member

Fixes two low findings from the independent review of #190 (easee_cloud 1.3.7, the 7 A start for a 6 A order).

L1: no boost before the first poll

last_op_mode is nil until the first poll. After a driver reload with the car already charging at 6 A, the next 6 A order wrote 7 A until a poll saw op_mode 3. A boost now needs a successful poll that saw the charger not charging. A failed poll does not count. The cost is at most one control tick: if Core's first order comes before the first poll, that order gets 6 A and the next one gets 7 A.

L2: a cleared boost no longer leaves 7 A to re-assert

ev_pause and driver_default_mode cleared the boost but left last_amps_set at 7. When the boosting order also changed phaseMode, the re-assert on the next poll wrote 7 A without the cap check or the 90 s window. A new clear_start_boost(hold_a) clears the boost and, when one was running, sets last_amps_set to what the charger should hold:

  • after a pause: the 6 A order;
  • after the stand-down: 0 A, also when its 0 A write fails, so the re-assert retries the clamp.

A pause keeps 6 A rather than 0 A because Core's contactor cycle (cycleWallbox in go/internal/loadpoint/controller.go) sends ev_resume 3 s after ev_pause with no new order between. With 0 A, the resume would start into 0 A until the next periodic order.

The boost's other ends already set last_amps_set to 6 A (end_start_boost, and a 6 A order that ends the boost), or to 0 A (a 0 A order).

Tests

  • New harness cases 15–17 in drivers/tests/lua_harness/test_easee_cloud_start_boost.lua (lua55). Each fails on 1.3.7 (boost before the first poll, re-assert after a pause wrote the cleared boost's 7 A, re-assert after default mode wrote the cleared boost's 7 A) and passes here.
  • make check: 4984 passed, 936 skipped.
  • Not run on hardware.

Version 1.3.8 through make bump-driver (manifest, index, devices, support status) and a CHANGELOG entry.

After merge

FTW's pin (drivers/BUNDLED_SOURCE.json, now 5cc7bb1) has neither #190 nor this. Once this merges, a paired FTW PR moves the pin to the new main commit so the next beta carries 1.3.8 with Core's cap_amps_per_phase (srcfl/ftw#1809).

🤖 Generated with Claude Code

Findings L1 and L2 from the review of #190.

L1: before the first poll last_op_mode is nil, so a reloaded driver
offered 7 A to a car that may already charge at 6 A. A boost now needs
a poll that saw the charger not charging.

L2: a pause or the stand-down cleared the boost but left 7 A in
last_amps_set, so the phaseMode re-assert on the next poll wrote 7 A
without the cap or the 90 s window. Clearing a running boost now sets
last_amps_set to what the charger should hold: the 6 A order after a
pause, 0 A after the stand-down. A pause keeps 6 A, not 0 A, because
Core's contactor cycle sends ev_resume after ev_pause with no new order
between.

Harness cases 15-17 fail on 1.3.7 and pass here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T03:52:17.053780Z 01a0635 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@frahlg
frahlg merged commit 219c462 into main Oct 23, 2026
5 checks passed
@frahlg
frahlg deleted the easee-boost-low-findings branch October 23, 2026 04:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant