Skip to content

Indevolt battery control#31741

Merged
andig merged 7 commits into
evcc-io:masterfrom
biodiv:indevolt-battery-control
Jul 13, 2026
Merged

Indevolt battery control#31741
andig merged 7 commits into
evcc-io:masterfrom
biodiv:indevolt-battery-control

Conversation

@biodiv

@biodiv biodiv commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Add battery control for indevolt devices.
Based on this discussion.
Suggested removal of minsoc/maxsoc implemented.

Re-opened because @ulrichreisinger offered to test on real hardware.

Suggested test:

  • download the updated template indevolt-battery.yaml and rename it
  • evcc --template-type battery --template renamed-indevolt-battery.yaml
  • set maxchargepower according to the indevolt device (e.g. 3000 for the indevolt 3000AC)

PS: Closed PR did not update automatically #30957, so I created a new one

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The new batterymode HTTP calls embed raw JSON in the query string without urlEncode, unlike the existing meter requests; consider using urlEncode for these config parameters to avoid issues with special characters.
  • The template still references .minsoc and .maxsoc in the batterymode sequence despite the description mentioning their removal; please check whether these parameters are still intended and update the template or description accordingly.
  • The help text for maxchargepower states a valid range of 50–3000 W, while the inline comment references an API validity range of 50–2400 W; aligning these ranges would prevent configuration confusion.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new batterymode HTTP calls embed raw JSON in the query string without urlEncode, unlike the existing meter requests; consider using urlEncode for these config parameters to avoid issues with special characters.
- The template still references .minsoc and .maxsoc in the batterymode sequence despite the description mentioning their removal; please check whether these parameters are still intended and update the template or description accordingly.
- The help text for maxchargepower states a valid range of 50–3000 W, while the inline comment references an API validity range of 50–2400 W; aligning these ranges would prevent configuration confusion.

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.

@andig andig added the devices Specific device support label Jul 13, 2026
@ulrichreisinger

Copy link
Copy Markdown

Add battery control for indevolt devices. Based on this discussion. Suggested removal of minsoc/maxsoc implemented.

Re-opened because @ulrichreisinger offered to test on real hardware.

Suggested test:

  • download the updated template indevolt-battery.yaml and rename it
  • evcc --template-type battery --template renamed-indevolt-battery.yaml
  • set maxchargepower according to the indevolt device (e.g. 3000 for the indevolt 3000AC)

PS: Closed PR did not update automatically #30957, so I created a new one

I have copied indevolt-battery.yaml into my Docker volume (/root/.evcc), but I'm running evcc in Docker on Synology/Portainer. How should the custom template be loaded? Should I change the container command or is there another recommended way?

@andig andig merged commit 0d76c12 into evcc-io:master Jul 13, 2026
12 checks passed
@ulrichreisinger

Copy link
Copy Markdown

Nightly tested

● Indevolt is recognized as “controllable: Yes”.

● BYD reaches 100%.

● 3–3.5 kW PV surplus are fed in.

● Indevolt remains on standby (79% SoC).

● No commands appear in the debug log to switch to “Charge”. Only battery 2 soc and battery 2 power are read.

@andig

andig commented Jul 14, 2026

Copy link
Copy Markdown
Member

That may be a misunderstanding. Charge means force-charging. Battery is still assumed to charge on its own during surplus in "normal" mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devices Specific device support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants