Skip to content

fix: add STANDARD to SmartBatteryImbalanceStrategy enum#133

Merged
Veldkornet merged 1 commit into
HiDiHo01:mainfrom
Veldkornet:fix/smart-battery-imbalance-strategy-standard
Jul 22, 2026
Merged

fix: add STANDARD to SmartBatteryImbalanceStrategy enum#133
Veldkornet merged 1 commit into
HiDiHo01:mainfrom
Veldkornet:fix/smart-battery-imbalance-strategy-standard

Conversation

@Veldkornet

@Veldkornet Veldkornet commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • The Frank Energie API started returning "STANDARD" as an imbalance trading strategy value, which the SmartBatteryImbalanceStrategy enum didn't have a member for, so it fell through to UNKNOWN.
  • Adds STANDARD = "standard" to the enum and a case-insensitive parsing test case alongside the existing ones.

Fixes HiDiHo01/home-assistant-frank_energie#246

Test plan

  • pytest tests/test_domain.py passes
  • Full test suite passes (265 passed)

Summary by Sourcery

Ondersteuning toevoegen voor de STANDARD smart battery imbalance-strategiewaarde die wordt geretourneerd door de Frank Energie API.

Bugfixes:

  • De STANDARD imbalance trading-strategie koppelen aan een dedicated SmartBatteryImbalanceStrategy enum-member in plaats van terug te vallen op UNKNOWN.

Tests:

  • De enum-parsingtests uitbreiden zodat de nieuwe STANDARD imbalance-strategie case-insensitief wordt gedekt.
Original summary in English

Summary by Sourcery

Add support for the STANDARD smart battery imbalance strategy value returned by the Frank Energie API.

Bug Fixes:

  • Map the STANDARD imbalance trading strategy to a dedicated SmartBatteryImbalanceStrategy enum member instead of falling back to UNKNOWN.

Tests:

  • Extend enum parsing tests to cover the new STANDARD imbalance strategy in a case-insensitive manner.

Summary by CodeRabbit

  • New Features

    • Added the standard smart battery imbalance strategy option.
    • Strategy values can be recognized consistently regardless of letter casing.
  • Tests

    • Expanded coverage to verify parsing of the new strategy option.

The API started returning "STANDARD" as an imbalance trading strategy,
which fell through to UNKNOWN since the enum had no matching member.
@sourcery-ai

sourcery-ai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Gids voor reviewers (ingeklapt bij kleine PR's)

Gids voor reviewers

Voegt ondersteuning toe voor de nieuwe "STANDARD" smart battery imbalance trading strategy-waarde en zorgt ervoor dat deze case-insensitive wordt geparseerd door de enum en de domeinparsingtests uit te breiden.

Wijzigingen op bestandsniveau

Wijziging Details Bestanden
Breid SmartBatteryImbalanceStrategy uit met ondersteuning voor de nieuwe STANDARD strategy-waarde die wordt teruggegeven door de Frank Energie API.
  • Voeg STANDARD = "standard" toe als een nieuw lid van SmartBatteryImbalanceStrategy tussen AGGRESSIVE en UNKNOWN
  • Behoud de bestaande enumsemantiek voor andere strategy-waarden en de UNKNOWN-fallback
python_frank_energie/domain.py
Valideer dat de nieuwe STANDARD imbalance-strategy correct wordt geparseerd op een case-insensitive manier.
  • Voeg een nieuwe geparametriseerde testcase toe voor SmartBatteryImbalanceStrategy met invoer "STANDARD" en verwachte waarde "standard"
  • Houd de nieuwe test in lijn met bestaande enumparsingtests in dezelfde geparametriseerde tabel
tests/test_domain.py

Beoordeling ten opzichte van gekoppelde issues

Issue Doel Afgedekt Uitleg
HiDiHo01/home-assistant-frank_energie#246 Ondersteuning toevoegen voor de nieuwe SmartBattery imbalance trading strategy-waarde "STANDARD" in de SmartBatteryImbalanceStrategy-enum zodat deze niet langer terugvalt op UNKNOWN.
HiDiHo01/home-assistant-frank_energie#246 Zorgen dat de smart battery-modus/strategy correct wordt geparseerd en weergegeven (in plaats van als "unknown") wanneer de API "STANDARD" teruggeeft.

Tips en commando's

Interactie met Sourcery

  • Een nieuwe review starten: Plaats een comment @sourcery-ai review op de pull request.
  • Discussies voortzetten: Reageer direct op de reviewcomments van Sourcery.
  • Een GitHub-issue genereren vanuit een reviewcomment: Vraag Sourcery om een
    issue te maken vanuit een reviewcomment door erop te reageren. Je kunt ook reageren op een
    reviewcomment met @sourcery-ai issue om er een issue van te maken.
  • Een pull request-titel genereren: Schrijf @sourcery-ai ergens in de pull
    request-titel om op elk moment een titel te genereren. Je kunt ook een comment
    @sourcery-ai title plaatsen op de pull request om de titel op elk moment (opnieuw) te genereren.
  • Een pull request-samenvatting genereren: Schrijf @sourcery-ai summary ergens in
    de pull request-body om op elk moment een PR-samenvatting te genereren, precies waar je
    deze wilt hebben. Je kunt ook een comment @sourcery-ai summary op de pull request plaatsen om
    de samenvatting op elk moment (opnieuw) te genereren.
  • Gids voor reviewers genereren: Plaats een comment @sourcery-ai guide op de pull
    request om de gids voor reviewers op elk moment (opnieuw) te genereren.
  • Alle Sourcery-comments oplossen: Plaats een comment @sourcery-ai resolve op de
    pull request om alle Sourcery-comments als resolved te markeren. Handig als je alle
    comments al hebt afgehandeld en ze niet meer wilt zien.
  • Alle Sourcery-reviews verwerpen: Plaats een comment @sourcery-ai dismiss op de
    pull request om alle bestaande Sourcery-reviews te verwerpen. Vooral nuttig als je
    graag opnieuw wilt beginnen met een nieuwe review – vergeet niet een comment
    @sourcery-ai review te plaatsen om een nieuwe review te starten!

Je ervaring aanpassen

Ga naar je dashboard om:

  • Reviewfeatures zoals de door Sourcery gegenereerde pull request-samenvatting,
    de gids voor reviewers en andere functies in of uit te schakelen.
  • De reviewtaal te wijzigen.
  • Aangepaste reviewinstructies toe te voegen, te verwijderen of te bewerken.
  • Andere reviewinstellingen aan te passen.

Hulp krijgen

Original review guide in English
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds support for the new "STANDARD" smart battery imbalance trading strategy value and ensures it is parsed case-insensitively by extending the enum and its domain parsing tests.

File-Level Changes

Change Details Files
Extend SmartBatteryImbalanceStrategy to support the new STANDARD strategy value returned by the Frank Energie API.
  • Add STANDARD = "standard" as a new member of SmartBatteryImbalanceStrategy between AGGRESSIVE and UNKNOWN
  • Preserve existing enum semantics for other strategy values and the UNKNOWN fallback
python_frank_energie/domain.py
Validate that the new STANDARD imbalance strategy is parsed correctly in a case-insensitive manner.
  • Add a new parameterized test case for SmartBatteryImbalanceStrategy with input "STANDARD" and expected value "standard"
  • Keep the new test aligned with existing enum parsing tests in the same parameterized table
tests/test_domain.py

Assessment against linked issues

Issue Objective Addressed Explanation
HiDiHo01/home-assistant-frank_energie#246 Add support for the new SmartBattery imbalance trading strategy value "STANDARD" in the SmartBatteryImbalanceStrategy enum so it no longer falls back to UNKNOWN.
HiDiHo01/home-assistant-frank_energie#246 Ensure that smart battery mode/strategy is correctly parsed and displayed (rather than shown as "unknown") when the API returns "STANDARD".

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8f60e514-d5c1-4b92-8bea-5d71c2be26c8

📥 Commits

Reviewing files that changed from the base of the PR and between 3314bc4 and 71f1664.

📒 Files selected for processing (2)
  • python_frank_energie/domain.py
  • tests/test_domain.py

📝 Walkthrough

Walkthrough

Adds SmartBatteryImbalanceStrategy.STANDARD with value "standard" and extends enum parsing coverage for case-insensitive inputs.

Changes

Smart battery strategy parsing

Layer / File(s) Summary
Add and validate STANDARD strategy
python_frank_energie/domain.py, tests/test_domain.py
Adds the STANDARD enum member and tests its case-insensitive string parsing.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Suggested labels: tests, api

Suggested reviewers: hidiho01

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically matches the main change: adding STANDARD to SmartBatteryImbalanceStrategy.
Linked Issues check ✅ Passed The enum now recognizes STANDARD and the test covers parsing, which addresses the reported unknown strategy issue.
Out of Scope Changes check ✅ Passed The PR is narrowly scoped to the enum update and its parsing test, with no unrelated changes evident.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - ik heb je wijzigingen bekeken en ze zien er geweldig uit!


Sourcery is gratis voor open source – als je onze reviews nuttig vindt, overweeg dan om ze te delen ✨
Help me nuttiger te worden! Klik alsjeblieft op 👍 of 👎 bij elke opmerking en ik zal de feedback gebruiken om je reviews verder te verbeteren.
Original comment in English

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@Veldkornet
Veldkornet merged commit 6465240 into HiDiHo01:main Jul 22, 2026
7 checks passed
@Veldkornet
Veldkornet deleted the fix/smart-battery-imbalance-strategy-standard branch July 22, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unknown SmartBatteryImbalanceStrategy encountered: STANDARD (beta 1,2,3)

1 participant