Repository navigation
Releases
Releases · evcc-io/evcc
0.319.0
Changelog
Breaking Changes 🚨
- 15d06c8 Huawei SmartLogger: remove battery (BC) (#35658)
- 18da91b Huawei: move curtailment to separate devices (BC) (#32451)
- 6f05b23 Optimizer: leave home battery its planned charge when vehicle follows pv surplus (BC) (#35841)
- 8467e10 Volvo Connected: OAuth2 migration (BC) (#35845)
New Features 💫
- 31e8781 Add Mennekes Amtron 4Business 600 (Modbus TCP) (#35427)
- b08a93b Add Mennekes Amtron 4Business 600 (OCPP) (#35426)
- 40a0b15 Add OCI labels to Dockerfile (#35695)
- 63851ad Add Rheidon PC200 Pro (OCPP) (#35511)
- 9f0d5a4 Charger (FoxESS EVC): add mDNS discovery hint (#35891)
- 7a0dd41 Charger (Weidmüller): add MAC discovery hint (#35892)
- 7643087 Config UI: add nested device support (enables SG Ready relays, merged tariff) (#35407)
- 835225b Deye: add SUN-EVSE11K01/22K01 charger (#34202)
- a56206d EEBus: add Buderus and Bosch OHPCF heat pumps (#35936)
- 957a8e3 Energyflow: add "Others" row for unmetered home consumption (#35513)
- b51025e HEMS: add FNN template for Modbus I/O modules (#35580)
- 00bf334 HEMS: add FNN templates for Shelly i3 and i4 (#35842)
- f22b054 Home Assistant: add notification icon and color (#35332)
- e780fe7 HomeAssistant charger: add identify (#35572)
- 86acc79 Loadpoint: add energy counted after charge stop to session (#35559)
- 9404d82 Meter (FoxESS H3 Smart): add holdcharge battery mode (#35398)
- d75e4bc Optimizer: add socToWh helper (#35553)
- 38e1891 SAJ H2: add discovery hint (#35900)
- 943b17f SMA Hybrid: add battery charge energy (#35567)
- cf61975 Schrack i-CHARGE CION: add RFID identification (#35921)
- ad1ccf4 Sofar G3: add holdcharge battery mode (#35303)
- 6f3ae09 SofarSolar G3: add slave option to disable battery control (#35647)
- 7d274c7 Spotový Radar: add Slovakia (OKTE, EUR) (#35751)
- 40cc59c Tariff: add Localvolts (AU) (#35035)
- 5a78163 Tariffs: Add strømligning.dk tariff API template definition (#35767)
- 2a1ef94 Tariffs: add Primeo NetzDynamisch (#35883)
- 898c4f6 Tariffs: add Spotový Radar (CZ price forecast) (#35467)
- 12ce81c UI: add missing config.devices.extMeter translation (#35748)
Other Changes ☀️
- 7b0f3b7 ABL eMH: warn if charging release by group master is required (#35860)
- 96a578c AGENTS.md: template docs are generated by CI (#35882)
- d19524b Battery: warn if only one power limit is configured (#35675)
- 91fa61d CI PR labeler: restrict to existing labels (#35623)
- e1a5891 Cardata: keep newer stream data and age the REST refresh by message time (#35219)
- bb7be58 Cardata: read stream from local MQTT broker (optional) (#35211)
- ed48310 Cardata: use shared mqtt preset and stream source (#35233)
- 2294b9d Charging plan: lock strategy to cheapest while optimizer controls loadpoint (#35557)
- e56c5dc Circuit: reserve offered current for loadpoint during phase switch (#34847)
- 1c125cd CodeQL: align init and analyze action versions (#35674)
- 38ae402 Config UI: assign charging points and heaters to circuits inline (#35127)
- 0880587 Config/Energyflow: sort consumers alphabetically (#35433)
- 3aeb327 Config: require admin password for all script plugin sources (#35423)
- 12bdb04 DaheimLaden: accept raw-ASCII station id from replacement comm modules (#35440)
- 5498ea2 EEBus: support single-phase chargers and dynamic phase limits (#35133)
- b3f2bf5 EEBus: update spine-go and ship-go to current upstream dev (#35831)
- bcea759 EM2Go: integrate charge power for session energy (#35759)
- 8a4edf5 EU Data Act: prefer current battery_state_report.soc key for soc (#35293)
- 8e77086 EU Data Act: prefer current mileage.value key for odometer (#35294)
- e2656e3 EU Data Act: surface persistent update errors (#35186)
- 5b1b033 EU Data Act: template-defined soc key preference, Cupra prefers battery_level_HV (#35686)
- 4b61f45 EU Data Act: wait for Retry-After cooldown on rate limit (#35582)
- 77b3a5f Easee: reset stale session energy on plug-in (#35826)
- 223c48c EcoFlow Stream: detect leader among multiple serials (#35334)
- e7cb5ff Energy: keep hidden small flows in Sankey node totals (#35787)
- 23c4aae Energy: visual improvements, axis alignment (#35282)
- 8789a0e FoxESS H3-Pro/Smart: don't overwrite Off-Grid (EPS) min SoC (#35628)
- 2f371eb FoxESS H3: drop charge mode (#35937)
- 2b5cafe FoxESS H3: hold via max discharge current instead of remote active power (#35639)
- f8d768f Genesis EU: sign OneApp/CCI auth calls with X-Fingerprint (#35652)
- 927ed3c Heating: demand predictor selector in loadpoint settings (#34342)
- 9027d8a Hoymiles OpenDTU: support basic auth (#35739)
- 2f30291 Huawei EMMA: always use modbus id 0 (#35930)
- 7ef3f3a Huawei SUN2000 Inverter: reduce default timeout (#35687)
- 811d77b Huawei SmartLogger: always use modbus id 0 (#35939)
- 8d3b434 Issue agent: cc device contributors on device issues (#35849)
- 1dbf07a Kia/Hyundai EU: send current Android Chrome User-Agent on OneApp login (#35324)
- 9890c9f Kostal Piko MP Plus: cache measurements request (#35404)
- 2e68d8a LG ESS: don't report feed-in energy as grid import (#35926)
- 20bb178 Link docs in the UI language for all translated locales (#35596)
- b51e0fc Loadpoint: adopt charger phases while disabled (#35383)
- aa8fc88 Loadpoint: drop solar share grid allowance while battery discharges below prioritySoc (#35064)
- 75493e6 Loadpoint: estimate remaining charge for plan goal while plan slot is active (#35266)
- f49c757 Loadpoint: keep min current on a full circuit when measuring below the offer (#35245)
- 6e5fac6 Loadpoint: keep welcome charge when switching phases on connect (#35222)
- e6092b3 Loadpoint: refresh session energy on shutdown (#35591)
- 3939abf Loadpoint: reset SoC estimator for new sessions (#35764)
- a7200ca Loadpoint: switch phases of a disabled charger only when enabling (#35189)
- 70ff31c Loadpoint: switch phases with unknown phase state in circuit fast charging (#35361)
- 7e99742 Loadpoint: update immediately on charger status change (#35697)
- 84a06ff MQTT: bound startup cleanup duration (#35310)
- 5141256 MQTT: fail listen on refused subscription (#35235)
- f08d11e Meter (FoxESS H3): leave off-grid min SoC untouched (#35823)
- d741395 Meter (Huawei EMMA): document Modbus TCP requirements and battery control (#34182)
- 15792e6 Modbus: release shared connection for every registration (#35581)
- 519404a OCPP forwarder: read meterInterval under its mutex (#35555)
- 42f3125 OCPP forwarder: stop re-dial loop and back off on instant upstream drop (#34772)
- 6229dc7 OCPP forwarder: track idTag and transaction of relayed transactions (#35244)
- d63afec OCPP: fall back to key-based GetConfiguration on failure (#35207)
- e2f0762 OCPP: ignore zero energy register after non-zero total (#35853)
- 98ac23b OCPP: skip BootNotification wait when trigger is rejected (#35401)
- a0e76ee Onboarding: block tariff checklist items for legacy tariff configuration (#35265)
- 071e072...
0.318.3
0.318.2
0.318.1
0.318.0
Changelog
Breaking Changes 🚨
- 0544a31 Battery limits: expose plugin errors (BC) (#34960)
- 7d61733 Home Assistant: fix battery direction help (BC) (#34745)
- bf5c276 SofarSolar G3: write max charge/discharge power for battery modes (BC) (#35204)
- ed7828c mDNS: stable instance name per installation (BC) (#34691)
New Features 💫
- af5a01e Add A-Tronix AX Plus (#34580)
- f44e6a1 Add CHINT DTSU666 meters (#35094)
- 319ded8 Add Frank Energie tariff (#34835)
- 4766c0b Add Grizzl-E Mini Connect charger (OCPP) (#33908)
- ada38ef Add Tuya chargers (local protocol) (#34036)
- 6ba94d3 Bender: add vehicle SoC for Mennekes 4You/4Business (#34496)
- 5ece63f Config UI: add onboarding flow and setup checklist (#35126)
- 942890d Home Assistant charger: add temperature entity for heating devices (#34614)
- 6cffb6c Kathrein: add watchdog (#34784)
- b12193a Messenger (ntfy): add schema option to allow http (#34843)
- bd3ac4c MySkoda: add wake-up via charging/start (#34686)
- f056979 Optimizer: add automatic mode (#32881)
- b8c43c0 RCT: add S0 external energy (#34890)
- 0306287 SENEC Connect: add .Home V4 product (#34688)
- 35b48d1 Sofar G3: add battery discharge mode (#34684)
- 15b0195 Stiebel WPM: add target temperature (limittemp) (#34991)
- ac13f5e Sungrow Hybrid: Add voltage and power registers for Modbus (#34771)
- 928f2bf Sungrow Hybrid: add currents (#34770)
- 1a61dbe Sungrow hybrid: add phase currents for LAN connection (#34706)
- b4bd05f Sungrow-hybrid: add battery to grid discharging (#34957)
- a6e6609 Tariff: add EDF Tempo (#35192)
- c83d01c Tariff: add Great Britain to Energy Price Forecast (#35092)
- fde07f4 Tariff: add Home Assistant solar forecast (#35067)
- 79b4a8b Vehicle (Mazda): add Mazda 6e and CX-6e (#35096)
- 9ab65fe i18n: add shared terminology glossary (#34787)
Other Changes ☀️
- d4f03e2 App: respect side safe-area insets (iPhone Duo) (#35198)
- bbdccca Battery UI: replace German "Speicher" with "Hausbatterie"/"Ladestand" (#34717)
- 2d2c8c1 Battery: note that always charge ignores buffer setting (#35182)
- d2941ea Battery: only offer grid discharge for batteries supporting discharge (#34685)
- 9c2feb0 Battery: read soc limits once per cycle (#34998)
- 94730e9 Bender: ignore invalid values (#34560)
- f15588c Circuit: drop stale service todo on meter param (#34695)
- f55c2c9 Circuits UI: improve power visualization (unlimited, feed-in), restart hint (#34791)
- 95680c4 Config UI: fill empty optional params in service urls (#34702)
- 4bee189 Config UI: keep auth provider action visible for long titles (#34737)
- d90cffd Config: skip runtime-disabled devices in site loop (#34505)
- 582b9b0 Contributing: ground rules and contributor intro (#34908)
- 09e195f DB: increase SQLite page cache to 16 MB (#35070)
- 319ce7e DemandTemperature: improve heating demand forecast across seasonal transitions (#34647)
- 2919f74 EEBus: rich device suggestions for SKI (#34696)
- dc84e11 Easee: derive total energy from session energy (#34818)
- 1a8eeaf Easee: lock 3p at charger level instead of switching to auto (#34640)
- 4d82901 Energy UI: align KPI card inset with battery view on phones (#34744)
- ef82d6e Energy UI: reorder usage and overview chart stacks (#34756)
- d1dc3a7 Energy: build overview slots from all series (#34618)
- f9285d5 Energy: price consumers and loadpoints per slot (#34943)
- 13124fc Energy: skip zero entity rows, read flow queries in parallel (#35069)
- 3f8fcd2 Energyflow: hide battery status icon when battery label shows it (#34944)
- 17a5715 Fiat: replace aws sdk with plain cognito call and own sigv4 signer (#34901)
- 7d9c733 Fiat: skip deep refresh while not plugged in (#34861)
- af62776 Fritz!DECT: rich device suggestions (#34692)
- 161d3a4 Glossary: format with 4 spaces like Weblate (#34980)
- f740984 Hassio changelog workflow: limit GITHUB_TOKEN permissions (#34973)
- dfc0468 Home Assistant: improved entity suggestions (#34654)
- a0d6564 Issue agent: detect issues already fixed by a merged PR or release (#35071)
- a47a0af Issue agent: fence unformatted logs, configs and code (#35065)
- 2a5b778 Issue: hint to search issues and try nightly before reporting a bug (#34572)
- fab6fad Issue: reduce EEBUS noise (#35183)
- ae4321f Keba P40: fall back to template model for unknown product code (#34574)
- 46d4fed Keba modbus: re-apply disable after phase toggle (#35184)
- f697252 Kia/Hyundai EU: sign OneApp/CCI auth calls with X-Fingerprint (#34898)
- ebe213e Kostal Plenticore: restore manual maxacpower configuration (#34133)
- 2cb2d9a Loadpoint: keep min SoC on config save (#35197)
- 753a3d1 Loadpoint: keep welcome charge alive across charging strategies (#32278)
- 3e89cec Loadpoint: log the pv enable threshold that is actually compared (#34996)
- a758b2a Loadpoint: simplify solar delays, move grid thresholds to advanced (#34593)
- 8802613 Log: show loadpoint title in area filter (#35140)
- 8033d44 MTec: remove energy reading (#35073)
- 8629bb9 Marstek: allow charging in hold mode (#34497)
- dfc41c9 Modbus proxy: forward unknown function codes (#34735)
- fff5c5d Modbus proxy: report upstream timeouts as gateway target failure (#34705)
- c27b74d Modbus: rich serial port suggestions (#34700)
- 447a9dd OCPP: use cached enabled state while connector is available (#34918)
- a866aaa Octopus Energy: Switch UK api url (#34794)
- bc539ee Octopus: rich device suggestions (#34694)
- ced79e3 Optimizer: energy plan goal from remaining plan energy (#34644)
- 5a85a46 Optimizer: explain the plan through the optimizer service (#34920)
- aab4599 Optimizer: hold battery while an uncontrolled loadpoint charges on the smart cost limit (#34826)
- 8060820 Optimizer: hold charge for idle battery at maxsoc bound while exporting (#34903)
- ccdaa25 Optimizer: hold critical planner deadline until end of slot (#34889)
- c4ff64b Optimizer: hourly slots beyond 48 hours (#34738)
- 53da181 Optimizer: hourly slots beyond 48h also for a self-hosted optimizer (#34833)
- f417436 Optimizer: ignore grid solver noise in battery suggestion (#34678)
- f28efb9 Optimizer: ignore prioritySoc on loadpoints it controls (#34689)
- fc35fa4 Optimizer: plot battery SoC forecast at slot end (#34777)
- 8297246 Phases: project the 1p switch from the actual draw (#34755)
- a896b93 Phases: stop 3p min charging within one disable delay when 1p not sustainable (#34752)
- daa6fa5 Planner: only skip short slot if more slots follow (#34604)
- 85dc6a4 Pleos: update api registration instructions (#34913)
- 45a9a83 Powerwall: hide grid charging when the site disallows it (#34963)
- 3f807af Redact: include private params of deprecated templates (#35167)
- 36276b3 Revert "Optimizer: hold charge for idle battery at maxsoc bound while exporting (#34903)"
- e501103 SHM: persist device serial (#34959)
- 769ca20...
0.317.3
0.317.2
Changelog
Other Changes ☀️
- 41b6389 Kia/Hyundai EU: sign OneApp/CCI auth calls with X-Fingerprint (#34906)
- 1d57696 Phases: project the 1p switch from the actual draw (#34758)
- ddb1db8 Phases: stop 3p min charging within one disable delay when 1p not sustainable (#34754)
- ece5b74 SHM: persist device serial (#34962)
- 1d4ab33 WARP (WebSocket): ignore non power manager topics from energy manager (#34895)
Bug Fixes 🐞
0.317.1
Changelog
Other Changes ☀️
- c727ee7 Energy: build overview slots from all series (#34624)
- 259d5fd Kostal Plenticore: restore manual maxacpower configuration (#34642)
- 44a1154 SunSpec: nan option to substitute the not-implemented sentinel (#34638)
- c86caa5 Tariffs (Ostrom): accept fractional numbers in static price response (#34601)
0.317.0
Changelog
Breaking Changes 🚨
- a5a74ba Charger (Stiebel Eltron): split WPMsystem and WPM 3/3i templates (BC) (#34493)
- d77d924 FoxESS H3 Smart: hold via discharge current limit, fix write order (BC) (#34363)
- 4ca3d04 Solinteg: unify M-TEC, Wattsonic and Solinteg templates (BC) (#24975)
- bcc2060 Templates: empty param values keep the template default (BC) (#34528)
- 6ad2f56 Vehicle: remove finish time capability (BC) (#34132)
New Features 💫
- cbeed01 Add ABL SURSUM EVCC controller (#33644)
- 9d13171 Add Gossen Metrawatt ENERGYMID (via MBMD) (#34189)
- 0e4e9f1 Add Hyundai/Kia/Genesis Pleos EU Data Act api (#34362)
- 86937d4 Add Roche Energy REL261 battery (#33987)
- e74f306 Add Schneider MicroLogic (#33770)
- 08985c1 Add enecess ecoMain (#33717)
- 49ace36 Add lekker dynamic tariff (#34333)
- 42cc352 Charger (Stiebel Eltron WPM): add note about heating / ISG configuration requirements (#34461)
- 8174e23 Discovery: add command for network scan and report (#34376)
- 70f3999 FoxESS Avocado: add battery force discharge mode (#33977)
- 0fe103e Fronius Verto Plus: add curtail support (#34411)
- ae20c49 Issue agent: always apply an area label, re-add waiting for feedback after a reply (#34416)
- c1da727 Issue report: add missing UI config values (#34201)
- e271ab0 Keba UDP: add welcomecharge feature (#34123)
- 3ae3411 Kia/Hyundai/Genesis EU: add Genesis to OneApp/CCI login, clarify refresh_token docs (#33991)
- 0162a25 LG ThinQ: add water heater boost via target temperature (#33621)
- 7bf1e85 Mennekes AMTRON 4You/4Business (OCPP): Add 1p3p capability (#34373)
- 4db3857 RCT: add discharge battery mode (#34107)
- e3c101d Revert "Add ABL SURSUM EVCC controller (#33644)"
- 8b19105 Revert "meter: add Gossen Metrawatt ENERGYMID EM2289 (#34171)"
- 88dddc8 Sigenergy: add energy gateway option (#34094)
- 62301ef Solaredge Hybrid: add discharge and holdcharge battery modes (#32344)
- 7490b72 Sungrow: add pv energy (#34152)
- 2e160da Tariff (EPEX): add missing providers epexprijzen-nl (#34379)
- 25b6371 Tariff: add missing epexprijzen.be providers (#33969)
- e2bc3dc Tariff: add remaining Energy Price Forecast markets (#34348)
- 5d20df4 Templates: add Zendure and openWB Pro discovery hints (#34377)
- 037be43 UI: add week-start indicator to month charts (#34498)
- 6ca65ca Vehicle (Pleos): add welcomecharge (#34491)
- e82acea Vehicle (Tesla BLE): add odometer (#34480)
- 9dd69a7 bender-icc.yaml: Add Mennekes Amtron 4 You 400, split 11 and 22 kW Variants, correct rfid and 1p3p function (#34324)
- d39cdab meter: add Gossen Metrawatt ENERGYMID EM2289 (#34171)
Other Changes ☀️
- ba510f1 About: show full hostname for custom whitelabel website (#34100)
- 6e8cd7d Backport command: create the release branch with the deploy token (#34428)
- 69b9da5 Battery boost: keep boosted power from other loadpoints (#33769)
- 4881b70 Battery: combine limitsoc with batterymode, Solis holds at current soc (#33623)
- b4ffb44 Battery: end battery-supported charging on grid import (#34128)
- 5a6e51b Battery: re-run optimizer when battery settings/grid charge limit changes (#34330)
- 6268a13 Battery: release to normal when requested mode is unsupported (#33861)
- 9702de9 Bender: skip unsupported register 720 on Mennekes 4You/4Business (#34472)
- 9202813 Config UI: Load management configuration via UI (#33077)
- e8dd245 Config UI: flag disabled loadpoints referencing an unknown circuit (#34257)
- 36bad45 Config UI: site country setting and grid discharge confirmation (#34178)
- e6e333a Config: redact secrets in custom device yaml for bug reports (#33948)
- a2ec4af Config: retry meter reads in device status (#34246)
- aa74aeb Config: skip admin password for unchanged script configs (#34119)
- 4232e24 Config: suggest local network hosts for device templates (#34244)
- fd3a6b7 Database: respond before shutdown on restore/reset (#34285)
- 9922a1d Discovery: link collection issue, recognize more devices (#34336)
- f4edd3b Discovery: report only devices with host param (#34375)
- a0a0660 EEBus: persist full-list writes to the remote cache (#34125)
- daacfa7 EEBus: surface ship-go handshake, transport and mdns discovery debug lines (#34191)
- 824b671 EU Data Act: reduce requests (#34042)
- 8609d05 EU Data Act: serialize concurrent logins (#34492)
- fb83818 EUDA: change login flow to speedup login (#34313)
- 3f62e6c Fixes: Optimize page is slow with multi-day horizons (#34096)
- 18d557b Fritz: renew existing session id before full re-login (#34229)
- 17fa21c Fronius Ohmpilot: cache SolarAPI response (#33974)
- 1dbdad8 Go plugin: compile script once instead of evaluating per call (#34456)
- cee08c3 GoodWe WiFi ET: decode grid power as int16 (#34021)
- 697b34f Heating: use active phases for current to power conversion (#34402)
- a8a0756 HomeAssistant meter: support plugin-based battery SoC limits (#33863)
- 7450be7 Issue agent: PR labeler applies bug only for issues typed Bug (#34406)
- dd834a3 Issue agent: agent job never pushes, open-pr job does from a fresh checkout (#34365)
- c55889d Issue agent: close incomplete bug reports (#34303)
- 6930724 Issue agent: close reports that kept the UI paste placeholder (#34400)
- bf217c1 Issue agent: grant pull-requests write to the re-analyze caller (#34382)
- ce880ed Issue agent: read referenced discussions (#34399)
- c9af67c Issue agent: reopen duplicates when the reporter replies (#34366)
- 1610138 Issue agent: search similar issues, close duplicates (#34361)
- 007582d Loadpoint: accept status C while disabled for continuous devices (#34385)
- f262233 Loadpoint: apply default mode on boot for UI-configured loadpoints (#34160)
- c14e9eb Loadpoint: drop to min current before scaling up phases (#34457)
- 40c8973 Loadpoint: keep a vehicle assigned while detection by status is running (#34237)
- 9c18d65 Loadpoint: keep pv enable timer running with battery start (#34369)
- cd096d1 Loadpoint: larger solar share slider touch target (#34117)
- 7776572 Loadpoints UI: close always-charge popover when swiping carousel (#34242)
- 9d8a05b Loadpoints UI: re-snap carousel after layout changes - #34029
- c085290 Log price limits with three decimals (#34455)
- 3370287 Log: parse the line header without regexp (#34320)
- d0763ed Meter (Solis): drop coarse pv energy register (#34260)
- 643b7ac Meter (Sungrow hybrid): drop calculated phase currents (#34294)
- ff20a35 Metrics: do not rebase energy baseline on a lower meter total (#34218)
- 551d98c Mode: don't activate Smart just from opening the Always charge dropdown (#34264)
- 77e869c MySkoda: detect saved location by current position profile presence (#34015)
- b6f7983 MySkoda: use plug connection state when charging state is omitted (#34124)
- fbc63f4 New Energy UI: historical data, analysis, savings (#33989)
- 81306a0 OCPP: clear stale transaction state on reboot (#33909)
- 9b6c028 OCPP: measure meter value freshness on receipt in...