evcc logo

evcc

Local, vendor-independent EV charge controller and home energy management system

Alternative to: tesla app, solaredge monitoring, sma sunny portal, wallbox mywallbox

evcc screenshot

About Versions (102)

0.309.2

2026-06-19

Changelog

Breaking Changes 🚨

  • 7f680ebd80bb63fc79c33277b75f15c9c4fe65d5 enphase: fix battery_type parameter (BC) (#30860)
  • 8769ae489de5d6c87fd46abd042c4cb9dc9afeae Config UI: separate consumers from additional meters (#30243)

New Features 💫

  • 418ac13b32da537b7f8bfd9a8f577f1500ae2a02 Charger (go-e): add missing product variants (#30915)
  • 3842c3da5242343561c946afa9aed17e4cc3a122 Kostal Plenticore: add holdcharge battery mode (#30853)
  • 18609ee8743670eb56b8c59dc7381e0fdb295869 Modbus: add shared block reading (#30846)
  • fa0cd94bde49f94e093f950e87b9cb825b53cac7 RCT: add maxacpower (#30936)
  • a68f23e4836b2e8f43646c73b9d296315ad7d703 Smart-hello: add Smart #5 support (#31024)
  • 1056e85af283af2af1fb749f97781ee7423c7a5b Vehicle: add autodetectdisabled feature (#30941)
  • 41e893e0238c61bd6c1e7e58cfac6617051f1ada aa55 udp: add delay option to space inverter sends (#30832)
  • 6b7995d7440b696fffe46776cd36c71e718c5c44 evnotify: add v3 api support (#30927)
  • 470082e7d7261b28bc6d2d6c1537444af7fe54ad i18n: add Latvian to language selector (#30988)

Other Changes ☀️

  • 93f49dd06f8d677cbc14a17de9e330fef8967011 Bump esbuild and storybook (#31016)
  • 4e40218a65756c9b6ff1fe4c68ed4ef33fccdad5 Bump js-yaml from 4.1.1 to 4.2.0 (#30917)
  • 81a84fcf812b0c30b4172cc3e7b2bbeeceb71e43 Config UI: replace Monaco editor with bundled CodeMirror 6 (#30855)
  • ebe4a3d6a3e0a5e2f1a75889ebca7863fcef6f21 EEBus: expose SHIP installation QR code (#30840)
  • 33d9c3bddba1744eee9a7716f47f6bc3b375c36d EEBus: treat unavailable measurement data as not available (#30874)
  • 10e3f0dcf97f4b9cd82307214237613c07c065a7 EEBus: update eebus-go, ship-go and spine-go to dev (#30633)
  • bcd75510d0ee9ddb7e93ae9b4d5d8ac6c1ed186f EU Data Act: identify ID.3 cruising range by data point key (#30851)
  • 52562d918608771e867685ffc6c2077f6add19c0 EU Data Act: skip optional marketing consent page after login (#30956)
  • e4ddbfbe69bce9c8fcc404f0476b005a2b06328a Energyflow: apply forecast adjustment to remaining solar energy (#30906)
  • 359e053a40205578fb799dfb8692d83995befec4 Energyflow: keep small consumption segments visible (#30781)
  • aa16b1c7572e6d609de761bb6efd497e9a07f63a GoodWe Wifi ET: correct grid power sign (#30896)
  • 95868686a001991ff67c4720b342a7dc5c1c5a67 GoodWe: deprecate wifi template (#30966)
  • 642be2fc1e4fe70ded5eea49c8e6ab1202aa78bd GoodWe: treat nightly 0xFFFF register sentinel as invalid (#30924)
  • 7ac3af86c237c6c12e1e8083e346a5b0dbca046e History: reload data after backend restart (#30985)
  • e5b9a014c5f5872839e1cef14ff05ece7e3a5671 Home Assistant: Enable insecure option for self-signed certificates in oauth2 flow (#30648)
  • d7a294f06e319835124674eb821a1053be597fbe Huawei: move warnings to caveats (#30658)
  • 662e5d2059642ac059f4fb2ea7af8cb7a3648c64 Huawei: optimized force-charging (#30975)
  • 7c98d6db25d2ebdcaa765cc02842b4413467755a Lambda Zewotherm: use register 1012 for power (FW >= 1.1.3) (#30780)
  • d1dd7900c5cd29cad432555d4f6cfbec44743c84 Meter: treat zero lifetime energy reading as not available (#31019)
  • 1582d869cc75dd29f9cd6123808b83a828e5c1db Metrics: join energy series by entity name (#30991)
  • cae5e6608544d16fcf36b2257d595e9afb281c57 Modbus: reuse modbus decoder in aa55 (#30848)
  • 494f6cf9bb1d8e11c9fdfaac2019c124867b83cd Optimizer: make grid charging strategy configurable (#30782)
  • 51eb75d1917c0d4c2fd77a5bd08e54b4c78be0c6 Sessions: relabel solar/total toggle buttons (#30883)
  • f621327c5c5358039b302cd630e38e4ebbe9a78a Sessions: show more columns per breakpoint (#30933)
  • 7dafb000c181e52c89f0d3c65e0f8da88b6aec03 Site: publish meter returnEnergy and use in history (#30881)
  • 614ff4ac06cd6cbe1fa0a843fbcca3b0df13fd0c Smart-hello: reject unsupported vehicle platform (#31022)
  • f7b89cedc39a866073a16f4de4c9ef01d1e73035 Sponsor: set gRPC client idle timeout (#30913)
  • a70f4b35f1a58abc58a0efb5670015e8c9619b18 Templates: consolidate shared param properties with defaults.yaml (#30908)
  • 5304d98a8c0214f4c9c1bd638b78c6512624cf0f Vehicle (EU Data Act): prefer most recently delivered value per field (#30916)
  • 2269e6a463453be8b306076c4da14231b0324ec1 Zaptec Go 2: warn on unequal installation phase current (#30964)
  • 12f3221aed1941f4541efdb76fab858933b6b582 http plugin: honor cache when upstream sends no-store/max-age=0 (#31028)

Bug Fixes 🐞

  • e004993a62309ed0666f61ae9ac49ef52140718e Energyflow: fix invisible expand icon in dark mode (#31026)
  • e02106130e8612df068be7e5669f96d9800c7be6 Fix minimum marker for zero forecast values (#30892)
  • 361f92878aa37dbd6336e46ac91f8bf2055c6eda Kostal Plenticore: fix pv energy encoding (#30862)
  • d62ccfe3dff8b11add0bbadf2d7873acc40d3fc6 YamlEditor: fix dark-mode cursor visibility and selection contrast (#30978)