• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

enbility / eebus-go / 36748033431
93%

Build:
DEFAULT BRANCH: dev
Ran 30 Sep 2026 04:59PM UTC
Jobs 1
Files 105
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Sep 2026 04:57PM UTC coverage: 92.709% (-0.1%) from 92.806%
36748033431

push

github

web-flow
Persist full-list writes to the remote feature cache (#261)

Follow-up to https://github.com/enbility/eebus-go/pull/253

## Problem

Remotes that announce a list function as writeable without `partial`
support receive the complete list on every write.
`LoadControl.WriteLimitData` and `DeviceConfiguration.WriteKeyValues`
build that list by merging the new entries into the locally cached
remote data (`UpdateData(persist=false)`), but the cache itself is only
updated once the remote notifies the change, which happens after the
result.

A second write built in between, e.g. OPEV obligation limits followed by
OSCEV recommendation limits, therefore merges into the stale cache and
reverts the entries of the first write. On the Porsche PMCC this leaves
the obligation limits inactive after every write; a disable (0.1A
obligation) ends with all limits inactive and the EV charging at
maximum. See evcc-io/evcc#34004 and evcc-io/evcc#34066 for traces.

## Fix

`Feature.writeFullList` sends the write and persists the merged list as
the remote feature's state right away. If the remote rejects the write,
the response callback restores the previous state. Partial writes are
unchanged.

## Test

`Test_WriteLimitValues_Persist`: after a full write the cache reflects
the written limit while other entries are kept, and an error result
restores the previous state. Fails on `dev` without the change.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

17 of 21 new or added lines in 3 files covered. (80.95%)

7 existing lines in 1 file now uncovered.

9270 of 9999 relevant lines covered (92.71%)

13.95 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
85.59
-1.65% features/client/feature.go

Coverage Regressions

Lines Coverage ∆ File
7
95.37
-1.8% usecases/mu/mpc/usecase.go
Jobs
ID Job ID Ran Files Coverage
1 36748033431.1 30 Sep 2026 04:59PM UTC 105
92.71
GitHub Action Run
Source Files on build 36748033431
  • Tree
  • List 105
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36748033431
  • baa3a07b on github
  • Prev Build on dev (#30638645418)
  • Next Build on dev (#36748858296)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc