evcc
Home AutomationAn extensible EV charge controller and home energy management system that operates locally without cloud services.
Features
- Simple, clean user interface for managing EV charging
- Broad support for many EV chargers, smart switches, heat pumps and energy meters via multiple protocols (OCPP, EEBus, Modbus, HTTP, MQTT, etc.)
- Vehicle integrations covering state‑of‑charge, remote charge control and preconditioning status
Recent releases
View all 27 releases →
0.307.0
Breaking risk
Breaking changes
- Fritz: unit indexing changed to 1‑based (BC)
Notable features
- Add Alpine vehicles
- Add DSMR API v2 support for Ethernet P1 Dongle Pro+
- Add MYR and TRY currencies
Full changelog
Changelog
Breaking Changes 🚨
- 2b16c415bbb1a588638645a668e4c09be657dd7e Fritz: make unit 1-based (BC) (#29741)
New Features 💫
- 9cc0da1a86e0d6b8d7633c811e67c45c4f5552e1 Add Alpine vehicles (#29927)
- e48887e04b816107c9a74bfaeca7024c680e1706 Add Azimut Energy battery (#29890)
- 726bea60760cff9889cb30341fc4561082f4dd4f Add DSMR API v2 support (Ethernet P1 Dongle Pro+) (#29871)
- d17e72b89c697e4ce5fda2b41696eecdf3ff2272 Add DSMR API v2 support (Ethernet P1 Dongle Pro+) (#29892)
- 68029759b1723e00a67beeee47f5adb35f55105e Add MYR (Malaysian Ringgit) to currency list (#29956)
- 1e9bc6cd5d5a919ba7c447b06b4999953dd7948d Add Siemens 7KT1666 (#29801)
- 76a54c6c7449d6b29e2a7f31c98040934002b7aa Add TRY (Turkish lira) to currency list (#29897)
- 8886af10adabf9080dd5f16c5d9b64afc2fad8ff Add compleo pro (#29925)
- ca386b72f23a0c243c7d51c2f37764c622355daa Add dim/curtail features (#29905)
- 92072aac40d034c8a8ff9cd3274472df8fce84f9 DADAPOWER: add voltages (#29923)
- 603979167cf0750140a82e230f6ee5ed89b34c12 Easee: add cmd for (de)activating local ocpp (#29868)
- b1d5f576eaeb3c31e839ba5f6acec8613368eba2 Enphase: add voltages (#29795)
- cae8a2cdd6472a137b70482ba989ef90350a82b9 Fritz Smart Energy 250: add pv
- ef12393ffe1d09c32b86bc9d7c2d1a71d45e5860 Huawei SUN2000: add curtail (#28549)
- 29a932ce21f77c8dc4cc8b1b1761f1b51c3d9dbd Huawei SUN2000: add curtail (#30039)
- 3588040e710b6b6c74ddccd8510016ec7b259053 Ostrom: add sandbox support (#29751)
- 1e40a2aa9dfbf7e2bec35eb33578f76b928106e0 Plugins: add bool2int conversion (#29995)
- ce583cde3c0e0cb689856e542aa2ecce02d8b822 Plugins: add ifelse plugin (#29988)
- 9badb4efb6d5d498edb01b1ad9ce15a141f46f74 Revert "Huawei SUN2000: add curtail (#28549)"
- eb5fd6d50ca7a84523a7eb7f5d0c77e0d15ea250 Revert "Huawei SUN2000: add curtail (#30039)"
- 57630514e520d2872989c09448bab838ab22fa42 Sessions/History UI: add left/right swipe gesture (#29944)
- a2ce340210f9d13a6df39ab922d29ce21aed9f68 Solinteg: add phase powers and currents (#29749)
- 908e6cf6f332f6dccf6876630bc96f414a62fdbd Tariff: add time-based grid fees (#29766)
- 21eefccf1a1c7b7fa3d059cf077efd1712260c51 Vaillant: add brand support for Saunier Duval, Bulex, Glow-worm, DemirDöküm (#29874)
- 468dfa69af88732ebc99275f0dc8f30bb18aab28 tariff/epexprijzen-nl: add powerpeers provider (#29829)
Other Changes ☀️
- 37e565993624e6938f9abc36ba02e97a4af43ae6 Batteries: track energy metrics (#29780)
- cbd253b579736e73f1f2eb16f6b97b702f9b0297 Battery Grid Charge: allow limit remove
- c37ecd66ac9711ab043d909b4d3b565d7e498c72 Chart: sorted color picker (#30073)
- 62ecd175a679db3a8b215010e2ac92cdcfd30744 Charts: color picker for loadpoints and consumers (#30021)
- 4e42b54589532c501f1dded16344c200d5d61d8f Config UI: replace custom vehicle modal with generic flow (#29575)
- 714c847e2e86ab3a12fbeae4d26ec616eee0adff Config: enforce required fields when forcing save past a failed test (#29982)
- b76af6101d6d986b600c0908e564f29f70afd9cf Database: use backup and restore apis (#29511)
- e7a27e5d5d07cc1390e539e5cc4df7fcf23e4617 Energyflow UI: use names instead of placeholders (#29918)
- a74982acc5f96cfc5509d09c0f4ef50dee328f69 Ext/Aux meters: track energy metrics (#29836)
- a628981d8dcb2b77a7e0e3fbac2ef6323baf18d3 History UI: improve tooltips, labels, stacks, units (#29917)
- 65dd010227a9be05e855ee07d47360f9d1af47a3 History UI: optimize production chart (#29946)
- 431b606230ade64d795a0de24348815aa88cd423 History UI: visualization and export (#29846)
- 47132a4af2f9f157a468ced8762bff53137c5ebb Loadpoint: suppress PV disable timer while climater is active (#29837)
- 177cb19d5d2e3e53fc06d3e8cc5640c72ddde2a1 Loadpoint: tolerate api.ErrNotAvailable on phase switch (#29975)
- 1200fbc2f9f76e0685ff4c6b5ff4a29d97801bd6 Metrics: do not persist a partial first slot (#29977)
- db82557423b8f4aae01d3e08bac04b217e0d0d7c Metrics: rename import/export to energy/returnEnergy (#29907)
- 84d623ae127dcbd57380ed50416d3b8282cea738 OAuth: expose full upstream error (#29875)
- be1dd8443d6f10a5d9cf2cc207f902d47d5f1e86 OCPP: clean up charge point lifecycle between subtests (#29873)
- e07838bb8ea97b98238403aceeff022d6cc6a4ca OCPP: dispatch RemoteStartTransaction asynchronously to avoid WebSocket deadlock (#29838)
- 960eb1153240d44ab5c710a332b6bcb9cd7662b1 Ocpp: fall back to confirmed profile limit for GetMaxCurrent (#29783)
- 7e41160acfd26e013d2496187afae545d0fa3476 Optimizer: expose forecasted highest/lowest battery SOC (#29564)
- 6b053bf77126c3d62fa289c45ad0dc6b032dca76 PV: track energy metrics and apply forecast scaling to optimizer (#29784)
- 54e61745aa60ae5f6f742df62b8cc76fc670b8c4 Renault: update api keys (#30031)
- 178cc7a694e9f7f082f2a2f84aa6f1b950a73144 Revert "Battery Grid Charge: allow limit remove"
- d5e6253d35586d3f48c5c30366b67ca404ac2c61 Revert "api: split MeterEnergy into MeterImport and MeterExport (#29788)"
- 13c24073b6de49c0631260036d8a248f0cf76fa3 Siemens 7KT1665: remove timeouts (#29800)
- 5506053dd3686d8f8687c6241e73c0db308fa8a5 VW/Audi/Seat/Skoda: recover from marketing consent prompt (#29980)
- fed967856f8eeb1820ca403bbfd28ba33700c116 Vehicle: accept lat/lon parkingposition keys for VW weconnect (#29981)
- 7a5b1e756065138460a3e3f6ddd73aa585c20a9c api: split MeterEnergy into MeterImport and MeterExport (#29788)
Bug Fixes 🐞
- c61e3faac99ce91adbdf834befd16aee0d5f9ece Battery: fix stale grid charge limit reset (#30013)
- 8ac2f944ddd0fd0b8f3a44517d2d36ce021a15fc Cupra: fix connected status (#30046)
- 48822fb1256b3f8c79ec4a1ed044da7e42b89b06 Cupra: fix vehicle list (#30047)
- fe02f7fea0b03437229f28e47e8b4355fc022605 Evbox Elvi (OCPP): fix "charger out of sync" (#29809)
- 207fa7984cd5d9aac1f3574b95703a1f94089ad7 Grid charge: fix 0 cost limit (#29817)
- d08a07d826f450f8d4cfc68b52fecd98d316f078 History UI: fix timezone handling (#29819)
- 41c169ee9a7f9eee8bb81d9aaf8662f01078b771 History: fix axis, scale and units (#30042)
- d89c1018e8d4406567a247c6d099d21667a05bf8 History: fix scale for stack batteries (#30044)
- 4bc9ba4ca57698892f42a191918262d343f75bdf Huawei EMMA: fix phase currents (#29845)
- f41ad70ac418ae5dd2fc9503c2990a1ac72347e6 Loadpoint: fix charge meter method decoration (#29912)
- 117276fb6b8b165dd76199653de44181b7d20218 Localization fix for german string (#29891)
- 43860c1e0b4f634030a495d8c9d8ddfeac884f34 OCPP: fix flaky TestOcpp (restore wait() timeout) + speed up (#29941)
- c5d9bccec2636eea0b8c5b4241d52848f8a09b2d Optimizer UI: fix line charts (#29936)
- 394553c1982f1e00c0b2eaa21a91bcd885e7712f Xtherma: fix registers and add dimmer (#29854)
- 1e8169683de6e88c56c1522b3e55a3c8690ab8ca fix: drag & drop stability (#29730)
- 07b009391a00174beebc2513d08624e5ef517bed meter/hybrid: fix pv energy readings in SunSpec hybrid inverter templates (#29955)
0.306.3
Breaking risk
Breaking changes
- Removed deprecated Wallbe support (BC).
- Corrected "intervall" type in templates to the proper spelling and type.
Notable features
- Added ZAR (South African Rand) currency.
- Extended Siemens 7KT with additional voltage options.
Full changelog
Changelog
Breaking Changes 🚨
- 1b26d77b6ca364214d2124c7a25720ca9be02b9c Revert "Templates: fix intervall type (BC) (#29698)"
- 5a5c3d91db3dad42b9840bd7c5ad449db386a4b6 Templates: fix intervall type (BC) (#29698)
- 3a99f7de642674d29ea7c5ecf7e4a404f38f1058 Wallbe: remove deprecated (BC) (#29647)
New Features 💫
- 9d12605154ba30a7cfd0aedc8b1e146d331c8aa8 Add ZAR (South African Rand) to currency list (#29620)
- cf5038cc89b8972ad9f86619f5703ea3318ca0ae Revert "Stiebel WPM: re-add power (#29627)"
- 7303a5b476be7fa3da35807df899651f47b3d2f0 Siemens 7KT: add voltages (#29732)
Other Changes ☀️
- d4d8109a63b9a20f476d3fc05e734c3be8ce718e Battery UI: 100% buffersoc resets bufferstart (#29669)
- 20be86fec826670fcd512a37ade31dc104508aab Bluelink: convert evModeRange and odometer from miles to km when unit=3 (#29731)
- 2a496683ca265e33d5fc3ee7aeeed4fda82a8839 EEBus: drop redundant Scenario middle word from constant names (#29704)
- efe8ee75280db0c62f0b204ef133eb02d769fe06 Energyflow: show all loadpoints (#29677)
- bd651da8ff44cf685bdd6536d795b4d5a8e7c045 HomeAssistant: dispatch CallSwitchService by entity domain (#29700) (#29706)
- 1e614279ae389b2537f0eba1fe4a468e980968c6 Loadpoint UI: improve heatpump status (#29667)
- fd80b7147586eedc473c92a896ca02cac5575f81 Make fatal banner dismissible (#29692)
- 338e8b4a461f5e9b26d615d4921c3c23ae4938ad Session energy: latch baseline late if meter not ready at start (#29656)
- d8730e1a606e4b999c213563d43c2a076784fd37 Sessions API: filter tz handling (#29676)
- d81135700aa573f1e3b907750ea37615d2c7c8db Trydan: pause dynamic mode during charging (#28365)
Bug Fixes 🐞
- 0d3bcfe8dd9252ab2db85c8f6829258ccee3cdeb Bluelink: fix unmarshal float EvModeRange.Value from Hyundai EU API (#29687)
- 3b90182597a2a8c3956d375cbe49cbe627d04fb3 EEBus: fix LPC/LPP CS failsafe-exit path (#29705)
- 4b276a4d9905459838dc946823baaf7f8ecb6243 EEBus: named scenario constants + fix MGCP scenario indices (#29701)
- 2c149b908e5f38ee86de2305231df29a7b2fd365 Fix comment-only yaml in device config validation (#29673)
- 7a24dbd3f7f39c0bd3b887003e8b48f3f685ba25 OCPP: fix flaky test deadlock between trigger handler and WS read loop (#29725)
- 32f838403a35db1df9ceb24f7596885e17b4768a RCT: fix grid energy (#29688)
- 9e2b9071612a76db64b7ec32e7b5eb68dc3f34d5 Revert "EVBox Elvi: fix template (#29652)"
- 948b64675dadf91e751bdef3d9fbd177aeb0a3c0 Tessie: fix wakeup uri (#29726)
- 42b5cb2b49dec6d2d2b1e330db3a16fa5be1a526 Yaml: fix decoding empty stream everywhere (#29690)
- abe86f666aa75236d1436d8a4a0b4ccf3574adea infra: fix demo deploy
- 1414d71e86b8afd13df2c0ab715a3d38ba19f925 sqlite: fix foreign_keys error (#29697)
0.306.1
Bug fix
Fixed sponsor machine ID panic on startup when a plant configuration is present.
Full changelog
Changelog
Other Changes ☀️
- 96f5efd93cf312511236ca921cbba03e4c729dbb Drop unused eebus and mqtt requirement values (#29537)
- 618314be276158edd4820bde91fd74b0aca1eada PSA: update base url
Bug Fixes 🐞
- 516a6841bbc7ee8075332e49996ad0197d7ad4ab Sponsor: fix machine id panic on startup with plant config (#29542)
- 93681522ab9567b8990b229ebfb3236d3509d24c fix: add testid for app menu button (#29539)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.