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

FlexMeasures / flexmeasures / 29407634153 / 1
82%
main: 82%

Build:
DEFAULT BRANCH: main
Ran 15 Jul 2026 10:34AM UTC
Files 169
Run time 6s
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

15 Jul 2026 10:17AM UTC coverage: 81.528% (-0.04%) from 81.563%
29407634153.1

push

github

web-flow
Track devices via a typed device inventory in the StorageScheduler (#2321)

* test: lock multi-device flex-model alignment (currently broken)

Add strict-xfail regression tests for four confirmed device-alignment bugs
in multi-device storage scheduling:

- A stock-only entry listed before device entries shifts every device's
  properties (power capacity, efficiencies) by one, because per-device
  properties are read from the unfiltered flex-model list.
- A device without a state-of-charge sensor silently loses its own SoC
  parameters when a stock-only entry is present, because the synthetic
  stock keys diverge between _prepare and _build_stock_groups.
- Flex-context commitments are assigned device indices by enumerating the
  unfiltered flex-model list, so stock-only entries receive commitments
  meant for devices.
- A device referencing its power sensor only via a nested consumption/
  production output reference is misclassified as stock-only and dropped
  (carried over from PR #2319, which this branch subsumes).

The xfail markers are removed in the commits that fix each bug.

Signed-off-by: F.N. Claessen <felix@seita.nl>

* feat: add a typed device inventory for schedulers

Introduce planning/devices.py: every flex-model entry is classified exactly
once into a DeviceInventory, which becomes the single source of truth for

- entry roles (device / stock-only, extensible to group entries and
  converter ports),
- canonical solver device indices (flexible devices first, then top-level
  inflexible devices, then per-commodity-context inflexible devices),
- stock groups and their SoC parameters (sharing one key space, so
  parameters can no longer be lost to diverging synthetic keys), and
- sensor-id and commodity lookups.

Power sensors are resolved from the top-level sensor field or, failing
that, from a nested consumption/production output reference, so such
devices are no longer misclassified as stock-only entries.

The raw deserialized flex-model... (continued)

14671 of 17995 relevant lines covered (81.53%)

0.82 hits per line

Source Files on job 29407634153.1
  • Tree
  • List 169
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29407634153
  • 97a5ef1c on github
  • Prev Job for on main (#29402415424.1)
  • Next Job for on main (#29442981886.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc