Release history
evcc releases
solar charging ☀
All releases
27 shown
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)
0.306.0
Breaking risk
Breaking changes
- Altherma 4: template switch (BC)
- Huawei: allow battery charging from PV while in hold mode (BC)
Full changelog
Changelog
Breaking Changes 🚨
- e0c819a921a69b1479c09fb22defd573e881d3fc Altherma 4: switch template (BC)
- 4d7fa86b55fbad9eb4c552b1b6a5f8888cee594e Huawei: allow battery charge from PV in hold mode (BC) (#25024)
New Features 💫
- afaf409914db08ab578fac2e9ade52c90baa1ffa Add Afore hybrid inverter (#29197)
- 873da67448a60f3378a83957757b3cdaaf0f9666 Add EVSE Master (Besen, Telestar, Morec, Sync chargers) (#28359)
- 1c7cdeb87ad9d82bf5e2910055988a17d2812a62 Add Fingrid Co2 tariff (#29329)
- aea44089ac4fd1427b113fd5fce5f2685411df49 Heating: add (limit)temp to custom charger (#29270)
- 90fdd8ee6b3f8150a554feac257e330355f84a04 Navigation: add version update indicator (#29343)
- 54a1b0cc0baba657a0672cc22f026b2ef12c474c Sessions UI: Add odometer (mileage) column in table view (#29263)
- d37121efd99e7ce114eadb2c0b221824b1539e3a Tariff: add stroomprijsprognose.nl grid and co2 (#29320)
- 289bcdb185c07a47ea96a53b048d3ea414ecb218 Templates: add duration funcs (#29368)
- 07d2acdc5d8785273fd454da637c9a6b9d4b8b66 Tessie: add coarse current (#29442)
- dad6cbb303e3e43478b2226a5d29fb07ba7b7d5c vzlogger: add energy uuid (#29492)
Other Changes ☀️
- 4b10abf5fbcca07dd68e0ed0ff90979b90d32864 Config UI: allow custom device type override (#29340)
- 35b033324b053a0cf36e8ea00878ed381c7e45fe Easee: reconcile session energy from charger meter at disconnect (#29350)
- 9b8f29a6bd4f22c095d5b364da4c8e111da6a755 Ecoflow: use evcc HTTP client for logging (#29530)
- 67588c2d660baf75d379030b80e10e40cc0a6b6d Em2go: improve connection robustness (#29351)
- 63459e18e99a16eac473b49625425d820cd318d8 Forecast: temporarily remove adjustment (2) (#29260)
- fa5137668abea36539caeed009365257efd9ded0 Fritz: provide AIN dropdown (#29529)
- 087f9bb10ba4f1b123c2a8cc1258747f90928efc History UI: group data (#29303)
- 2fb900c8eae7dc06482384a64d7c3dd30c4d2390 History UI: small fixes (#29138)
- f20574ae48a90b64fe7ecca9228014f04a0ea454 Huawei: use correct maximum power (#29354)
- 7753d888091d62b2de0b2ccbd88e071a512f82a8 Indicate cache hits in HTTP trace log (#29533)
- 033d055d66c7c3d0b99c0a4412864ace78be9c63 Loadpoint UI: finer energy select (#29298)
- 7d2f507f3a15647446a0270d406b680a222cce3c Log UI: sort the log area multiselect naturally (#29289)
- b0126db57a3109827d5f2fb3d246d6ef3cc567c6 Navigation UI: make bottom nav standard (#29357)
- 1d3a963dc82d3f8fd540daa147b7b8f4e71d90fb Nibe S-series: update docs (#29293)
- 2d2c953039038b0de952d162d4f15d64f9d82689 OCPP: handle firmware management events (#29507)
- 170226d6c67dcee04a63a866774d3900573ef54c Remote Access: 1y default expiry (#29404)
- 1617f4ef544b767705b727f48af544f6c0b65cf0 Remove YAML-specific device template input hints (#29259)
- f2f7ecf5cfdfbaa2a878995e8b29b881f2e79136 Revert "Cupra: treat "NotReadyForCharging" aus connected (#29030)"
- b9e72b1278ee8aa8958a757569d832c2fbfff535 Sponsor: prepare for GitHub alternative (#29043)
- 48f9c74e3b56f884b242b6bf89a43bd7d8036d20 Update HemsModal.vue with correct link to external control documentation (#29410)
- 54ea5c645c9f4de5dc8dcf03b7608bd89286e8d8 epex-predictor: update regions (#29497)
- 4bfc1ba6e9b95b6be6546bcdcf25e0c437e9d6ea myPV AC Thor: support extra heater on relay (#29266)
- 3f19b6a6de7a91bfd8549521fec63642c95ddb77 refactor: use single modal instances for loadpoint (#29109)
Bug Fixes 🐞
- e711ccaa862e94984b373743b5f6be7d77e5e74e Config UI: fix editing custom device with type override (#29379)
- 36c5cc250eec33a20620879d4c02d4fe28a7d3a1 Easee: fix charging stop on scale down (#29464)
- bd9f6901076a1c596e6c2a1c4b4f68cb0fe1f1ac Optimizer: fix panic in prorate
- e3a6d96736d746dbf3afdab5688abb6a9cc1d0f6 Solax: fix grid energy scale (#29439)
- 551e7ac0bd7921af9c43772ae0af847d5b7c11ed Stegen Smart EVSE: make charge mode configurable, fix status & keep-alive (#29290)
- 0918c62b44ecb7f698a5ae946f04af247ce7779a Sungrow iHomeManager: fix voltage and per-phase active power decoding (#27985)
- 004cb373965dc5ea85f3a01a386a9f2726d667c6 fix: reload website when version changes (#29299)
0.305.1
New feature
Notable features
- Fritz smarthome REST API support (FritzOS 8.2+)
- Domain knowledge documentation for AI agents
Full changelog
Changelog
New Features 💫
- 2f106579e78e38c2f88e3c031c50dc942255bfaa Add Fritz smarthome REST API support (FritzOS 8.2+) (#29013)
- c968d68947e71f6b2368ca75afbe4972e97ade09 Add domain knowledge docs for AI agents (#29228)
Other Changes ☀️
- 6414d8add33b2f5d08e18797917ff69fdda37e95 Forecast: temporarily remove adjustment (#29244)
- 4de7791abf6cdbaba17188dfcf8bf71beea29546 Optimizer: don't send empty requests
- bb93ebf98bcff1b197ff3cb467746a3ac9c85483 Optimizer: wording on debug view (#29179)
- a0989c18b4001220abdd528c7d68ed2a9bf16129 Reapply "Config UI: better explain optimizer (#29141)"
- f474245bd9b8b0c6a9cbc12b419ab365a28b4fd5 Revert "Config UI: better explain optimizer (#29141)"
- b751090b03828aa2ca346820e0b5684e68d0b7bd Solarprognose: deprecate forecast_days (#29249)
Bug Fixes 🐞
- 9138ef81f6c80dccba4b4ab2e952cfcbcabb2ae9 Fix metrics table migration (#29250)
0.304.3
Bug fix
Notable features
- Added stromleser.one energy provider integration
0.304.2
New feature
Notable features
- Added Askoma ASKOHEAT+ support
- Added Lektrico charger support
- Added MTEC heat pump support
0.304.1
Mixed
⚠ Upgrade required
- Optimizer is now enabled by default
Breaking changes
- Deye-hybrid-3p: merged LV and HV templates
Notable features
- Added GhostEEBus charger support
- Added Lexus vehicle support
- Added switch devices and DaheimLaden firmware update handling
0.304.0
Breaking risk
Breaking changes
- Goodwe Wifi DT series support via aa55 pseudo-modbus
- Decorator registry replacement
- Vaillant multi-country support
Notable features
- EcoFlow Stream integration
- Teslamate energy/climate/GPS features
- Tessie charged energy and position
0.303.2
New feature
Notable features
- IoTaWatt meter support
- EpexPredictor hourly averaging
0.303.1
Bug fix
Fixed HomeAssistant changelog processing, optimizer battery capacity miscalculation, and SGReady panic crash.
0.303.0
New feature
Breaking changes
- HEMS production/feedin limits refactored
- Optimizer migrated with new API
Notable features
- RAEDIAN NEO and NEX chargers
- Audi vehicle features
- Heating continuous mode
0.302.0
New feature
Breaking changes
- Removed invalid grid usage for Zendure Solarflow 800 Pro
Notable features
- HomeAssistant notification plugin
- Tesla climater and location features
- Grid import limit optimizer
0.301.2
New feature
Breaking changes
- MQTT phasesConfigured topic corrected
Notable features
- Daikin Altherma 4
- Mennekes Amtron OCPP
- Mitsubishi Outlander PHEV
0.301.0
Breaking risk
Breaking changes
- Messengers now configurable
- Experimental flag persisted
- Tinkerforge WARP WebSocket API changed
Notable features
- E.G.O. Smart Heater
- EpexPredictor forecast
- Location service
0.300.7
New feature
Notable features
- CKW dynamic tariff
- Xtherma heatpump
- EKZ VAT support
0.300.6
Breaking risk
Breaking changes
- Bosch battery params changed
- Green Grid Compass API upgraded
- SMA battery params changed
Notable features
- Atmoce MG100 devices
- epexprijzen.nl tariff
- Solax currents/voltages
0.300.5
New feature
Breaking changes
- Config UI now validates host parameters
- Sungrow Hybrid uses configured discharge power
Notable features
- Voltie charger (Modbus TCP)
- Tesla BLE caching
- Zaptec mA regulation and phase switching
0.300.4
New feature
Breaking changes
- HomeAssistant unit detection changed
- Removed unmaintained allinone/linked templates
- Removed configure CLI command
Notable features
- ADA P1 meter
- ChargeX charger
- Pstryk.pl tariff and meter
0.300.3
New feature
Notable features
- MBMD battery capabilities
- RCT curtailment API
- 2024 CO2 data for Belgium