0.312.1

evcc-io/evcc0.312.1Jul 20, 2026by andig

AI Summary

A maintenance release adding new hardware support, battery control features, and experimental UI improvements.

Key Highlights

  • Added Growatt MIN 3000TL-XE and Anker Solarbank Max AC
  • Added HoldCharge feature for SMA hybrid and Huawei
  • Added time-based energy statistics (today, 24h, 7d) to loadpoint tile
  • Introduced experimental battery icon visualization

Breaking Changes

  • Home Assistant: add plugin source, support temp for heating switch devices
  • FNN/Relay HEMS validates plugins on startup
  • Merge Marstek Venus E Gen 3.0 template

New Features

  • Add Growatt MIN 3000TL-XE (non-hybrid)
  • Anker Solarbank Max AC: add battery control
  • SMA hybrid: add battery mode 4 (holdcharge)
  • Battery (experimental): visualize actual percentages
  • Battery (experimental): restore priority/buffer soc constraint
  • Heating: add time-based energy statistics

Full Release Notes

## Changelog
### Breaking Changes ๐Ÿšจ
* a5956a6804a1bc9f6332fff03c16c817052c0166 Home Assistant: add plugin source, support temp for heating switch devices (BC) (#31915)
* e239af5d25edd7d79c98b947033a4a01c095dbad FNN/Relay HEMS validates plugins on startup (BC) (#31428)
* 0cf708a40dba70f32f42035d348b114ec4565399 Merge Marstek Venus E Gen 3.0 template (BC) (#31865)
### New Features ๐Ÿ’ซ
* 9069ccd82a2b349e0e6a48052fc276fb63b2174a Add Growatt MIN 3000TL-XE (non-hybrid) (#31135)
* 7427ed1260240160669c4c43d2e618587b91b7c4 Anker Solarbank Max AC: add battery control (#31869)
* b6cca9ea1b791be9fa0ceca7240675e99d320e67 HEMS: add per-hems tests for nil statements when unconfigured or not connected (#31430)
* b02a40353f351535c81b705c2e9547d7eeb7cf66 Heating: add time-based energy statistics (today, 24h, 7d) to loadpoint tile (#31781)
* bba63f5df0c90f9c5fe0451fdb497dad88d3f2fc Huawei: add HoldCharge (#30598)
* a3f58277a31c8dc81823d3636f0c667d25d643d2 SMA hybrid: add battery mode 4 (holdcharge) (#31911)
* b0b9535475295f9f3f4f267634168873e045472a drivesomethinggreater: add instructions (#31047)
### Experimental Features ๐Ÿงช
* 28d36a51f08035c0bdc5305c4322692a708e2b87 Battery (experimental): batteryicon: visualize actual percentages (#31917)
* 362620ba07797f29204209a82df710f65a2a34f2 Battery (experimental): restore priority/buffer soc constraint (#31900)
### Other Changes โ˜€๏ธ
* 8fcd44317173a71eed728bf46d48e5ef28acf8d7 Battery boost: hold at soc limit instead of disabling (#31922)
* e49b63e80b463f8ba840153dd0f8e9f9e3520767 CI Issue agent: be reluctant to label bugs, push for missing info (#31901)
* f673c6d0c82a1e3a563a0a39dcb43362bd1c3deb Cardata: status detection for "New Class" vehicles (#30938)
* 01b4c38231143aab6c29e5fa8f8fe8de209ae284 HTTP plugin: warn on uncached repeated GET requests (#31932)
* e77fb6071a9a432f245d21a1e427f2b544409d97 Home Assistant: warn when deprecated 'token' parameter is used (#31876)
* 54188d815f744155625845e3a5527668f4616e88 Loadpoint: keep vehicle soc when re-assigning same vehicle (#31945)
* d3ae621688d0c2bdf013ca927c8cd5f3bbb80aef Meter: make battery parameters dynamic (#31668)
* 5e6f1e7356d807785859f6015f7cbd81078f6dbc Metrics: recover downtime energy via persisted meter readings (#31795)
* cc6bef6b82dca6d4b848cafbedd7666c29bc7080 Modbus: handle NaN values (#31011)
* 6afed701c0e3df7fcb274e5f51e9b7f237683ae0 Mqtt: limit trace log payload length like http logging (#31944)
* 8a8abdaede461af416b0f7fedf3f574dc603a65d OCPP: use loadpoint phases for watts-based charging power (#31946)
* 101839377a59b6902e403476d3a95f2ba2a80b56 Optimizer: pass grid feed-in curtailment limit when active (#31949)
* 31cf9748aa58cc24371d47f6dd359c3a8f37c873 Planner: use summed slot duration for rate coverage check (#30469)
* 7a95266a6b125cb5e4424177d897e84ac9147e3d Revert "Modbus: handle NaN values" (#31968)
* 579df2ad67398614d563cd3a58e76430f3260ae6 Sessions: show export dropdown above bottom tab bar (#31898)
* e239af5d25edd7d79c98b947033a4a01c095dbad Simplify HEMS api (#31428)
* 5aed453b3e2f2eafb822cd0b275f2f14bbcc2d66 Site: don't apply battery priority to loadpoints with battery boost active (#31790)
* 70ad1751deed5f5c6457218fe35dd24ea0c5cbb9 Tariff (pvnode V2 API): make forecast poll interval configurable (#31897)
* 2a86cc44b1e496e561509d17263c60f2e9827873 UI: move vehicle settings from charging plan modal to own modal (#31775)
* 199365288acb250f56a850311cec590382f16747 Vehicle: deprecate default charge mode in config (#31893)
* 90fc0bc71b9f18313dbc7be4694de3f113768f25 Vehicle: restore streaming param on EU Data Act templates (#31970)
* 16a0ead64045a0de0fbdf898bad8f4ad66a4212e gpio: share line requests across read/write instances on the same pin (#31508)
* a1e8854df1a386ed80df94b050cd16c6e264ce68 open-meteo-temperature: increase forecast to 5 days (#31960)
### Bug Fixes ๐Ÿž
* 279c77ba9d2bb129a7c4962863006372b2484f47 Daheimladen: fix misleading sponsorship error on station id read (#31956)
* f56aae4aa00e61356248ec0da685ef818ccf2aaa Revert "loadpoint: fix phase detection for low current" (#31931)