0.317.0
evcc-io/evcc0.317.0Oct 9, 2026by andig
Upgrading?
AI Summary
This release features extensive new integrations (ABL SURSUM, Schneider MicroLogic, Roche REL261, Mennekes AMTRON), advanced battery modes (discharge/holdcharge for multiple inverters), and significant UI/UX updates including load management configuration and discovery tools, plus a robust issue agent.
Key Highlights
- New integrations: ABL SURSUM, Schneider MicroLogic, Roche REL261, Mennekes AMTRON
- Battery modes: Discharge and holdcharge for Solaredge Hybrid, FoxESS Avocado, RCT
- Issue Agent: extensive automation for bug reports and duplicate detection
- Config UI: Load management configuration
- Discovery: Network scan and report command
Breaking Changes
- Charger (Stiebel Eltron): split WPMsystem and WPM templates
- FoxESS H3 Smart: hold via discharge current limit, fix write order
- Solinteg: unify M-TEC, Wattsonic and Solinteg templates
- Templates: empty param values keep the template default
- Vehicle: remove finish time capability
New Features
- Add ABL SURSUM EVCC controller
- Add Gossen Metrawatt ENERGYMID (via MBMD)
- Add Hyundai/Kia/Genesis Pleos EU Data Act api
- Add Roche Energy REL261 battery
- Add Schneider MicroLogic
- Add enecess ecoMain
- Add lekker dynamic tariff
- FoxESS Avocado: add battery force discharge mode
- Fronius Verto Plus: add curtail support
- Keba UDP: add welcomecharge feature
- Kia/Hyundai/Genesis EU: add Genesis to OneApp/CCI login
- LG ThinQ: add water heater boost
- Mennekes AMTRON 4You/4Business (OCPP): Add 1p3p capability
- RCT: add discharge battery mode
- Solaredge Hybrid: add discharge and holdcharge battery modes
- Sungrow: add pv energy
- Tariff (EPEX): add missing providers
- Tariff: add remaining Energy Price Forecast markets
- UI: add week-start indicator to month charts
- Vehicle (Pleos): add welcomecharge
- Vehicle (Tesla BLE): add odometer
- meter: add Gossen Metrawatt ENERGYMID EM2289
Full Release Notes
## Changelog ### Breaking Changes π¨ * a5a74bac42f5122a2f698501dfc2eef2be1f00bc Charger (Stiebel Eltron): split WPMsystem and WPM 3/3i templates (BC) (#34493) * d77d924f5c728e1fad566e2d412cf5266a7051f4 FoxESS H3 Smart: hold via discharge current limit, fix write order (BC) (#34363) * 4ca3d04242f13de3184a87678ccbb6f979c0a39a Solinteg: unify M-TEC, Wattsonic and Solinteg templates (BC) (#24975) * bcc2060aae8795ada2a230df33f25a6a2e473fbf Templates: empty param values keep the template default (BC) (#34528) * 6ad2f569822811ffc531b2206f62641e3bb2f5f5 Vehicle: remove finish time capability (BC) (#34132) ### New Features π« * cbeed0120e2c24f39337da86748ba94791e2f80f Add ABL SURSUM EVCC controller (#33644) * 9d131717e8f90bbaddb527cec6152e55af65175e Add Gossen Metrawatt ENERGYMID (via MBMD) (#34189) * 0e4e9f186d4a680e9814d7397528176f7e6933cd Add Hyundai/Kia/Genesis Pleos EU Data Act api (#34362) * 86937d4997aa1686f34a59c3f0658992dc38baa3 Add Roche Energy REL261 battery (#33987) * e74f306f877e1dc5ef8314e8ef7bf395c108f3cf Add Schneider MicroLogic (#33770) * 08985c1755cfb4077862d9f147ec3dbbd6f25d08 Add enecess ecoMain (#33717) * 49ace36f9cdf383d19db50f45a95d43483b8f4f8 Add lekker dynamic tariff (#34333) * 42cc3525bf8df708dcaf199dcd6165bd79aed545 Charger (Stiebel Eltron WPM): add note about heating / ISG configuration requirements (#34461) * 8174e23e9ac7fb88732e0557aae5de4642a9246c Discovery: add command for network scan and report (#34376) * 70f3999f5e21266b059a14e4ae673867e3de3c1c FoxESS Avocado: add battery force discharge mode (#33977) * 0fe103e56aa0c156bd5f9652c4a6ae777a09a01d Fronius Verto Plus: add curtail support (#34411) * ae20c49a6060700734a4b96479966e49759eb367 Issue agent: always apply an area label, re-add waiting for feedback after a reply (#34416) * c1da72724f517f5f9eae177c6895c5c184d743b6 Issue report: add missing UI config values (#34201) * e271ab0159dccb4c41b20dacee3fd8977464a61e Keba UDP: add welcomecharge feature (#34123) * 3ae3411c003c1ec3101c970d381202518615e1a9 Kia/Hyundai/Genesis EU: add Genesis to OneApp/CCI login, clarify refresh_token docs (#33991) * 0162a257c4acdaa89044c9dd890d087a03e1233c LG ThinQ: add water heater boost via target temperature (#33621) * 7bf1e85b7698cd6d2a30d45cd542683b23185ec4 Mennekes AMTRON 4You/4Business (OCPP): Add 1p3p capability (#34373) * 4db385719f6186fbe48e4c546a869904b4b7045b RCT: add discharge battery mode (#34107) * e3c101da0c8831e2c6a8318e509e1d92dad0a913 Revert "Add ABL SURSUM EVCC controller (#33644)" * 8b19105adb84176630e7fe0e90fd26274ddc548d Revert "meter: add Gossen Metrawatt ENERGYMID EM2289 (#34171)" * 88dddc840d9305d600bdc90e177cf879ea96ef4e Sigenergy: add energy gateway option (#34094) * 62301ef5ccd8de0b09749df45752a45fa717512e Solaredge Hybrid: add discharge and holdcharge battery modes (#32344) * 7490b723a10e79a79a654cff128ae2efc5918748 Sungrow: add pv energy (#34152) * 2e160daa83a960805116d47768dacc2b1b47baa4 Tariff (EPEX): add missing providers epexprijzen-nl (#34379) * 25b6371189c6e177d61a5ba0a460617bc6ddd31a Tariff: add missing epexprijzen.be providers (#33969) * e2bc3dc1a11f706a4b9d2f94d1c5aea72454312a Tariff: add remaining Energy Price Forecast markets (#34348) * 5d20df4f2cbc7c4d5823911132456a60d93b3c1d Templates: add Zendure and openWB Pro discovery hints (#34377) * 037be43559a18494dfcab9bccdee49a3543527bd UI: add week-start indicator to month charts (#34498) * 6ca65caabae7e14c3f2dcb4f36e4e275346039b6 Vehicle (Pleos): add welcomecharge (#34491) * e82acea19b6e97deaa9dab515e1c1ee99259caeb Vehicle (Tesla BLE): add odometer (#34480) * 9dd69a79c5802aef2f21de31a335db614f9c56d3 bender-icc.yaml: Add Mennekes Amtron 4 You 400, split 11 and 22 kW Variants, correct rfid and 1p3p function (#34324) * d39cdabda204bdc417b82adabf7290afd7bf5249 meter: add Gossen Metrawatt ENERGYMID EM2289 (#34171) ### Other Changes βοΈ * ba510f1c02539891254bddb702e920456f6cb874 About: show full hostname for custom whitelabel website (#34100) * 6e8cd7d657f9282388365019a927d213a4a7cffc Backport command: create the release branch with the deploy token (#34428) * 69b9da5f3a188c9da9e47db6af57969bdb622279 Battery boost: keep boosted power from other loadpoints (#33769) * 4881b701ed69d05f1ce94d560329584dac62d016 Battery: combine limitsoc with batterymode, Solis holds at current soc (#33623) * b4ffb446d6399a4c154a7c036a8d721c2f0fcc21 Battery: end battery-supported charging on grid import (#34128) * 5a6e51b3a0c4534b50f59cc478a8690c7129a8f2 Battery: re-run optimizer when battery settings/grid charge limit changes (#34330) * 6268a13ad8cbd9c11837817ecffd14b9ef3830f2 Battery: release to normal when requested mode is unsupported (#33861) * 9702de93ac20861a0e9418fc291fcb5640563c4d Bender: skip unsupported register 720 on Mennekes 4You/4Business (#34472) * 9202813809a3fed769693a9417849f735b340642 Config UI: Load management configuration via UI (#33077) * e8dd245f939968efea466d1f816f7ea19562d751 Config UI: flag disabled loadpoints referencing an unknown circuit (#34257) * 36bad45d31e0296dbcfd2bc8c1f4214ada86d8e2 Config UI: site country setting and grid discharge confirmation (#34178) * e6e333ab5fd7aae15c00d1bd7cb4658d2e1d4561 Config: redact secrets in custom device yaml for bug reports (#33948) * a2ec4af112d77087c8ba1971e25ea6c4b2726238 Config: retry meter reads in device status (#34246) * aa74aeb1f914e55b479427cf6e65f415d3266759 Config: skip admin password for unchanged script configs (#34119) * 4232e2498742a8972e7e78305c01fb066dbb9122 Config: suggest local network hosts for device templates (#34244) * fd3a6b79d3d095795ba4903e2a8597387d9ac09a Database: respond before shutdown on restore/reset (#34285) * 9922a1d77c02c3b17b10a561e5f62aa6f95923ea Discovery: link collection issue, recognize more devices (#34336) * f4edd3b851b0ac098b9b921fec32d3157114d771 Discovery: report only devices with host param (#34375) * a0a06606af88ecd92a094a5faf33d44adc26f087 EEBus: persist full-list writes to the remote cache (#34125) * daacfa7110fe97180d99bdf508af25238dc58760 EEBus: surface ship-go handshake, transport and mdns discovery debug lines (#34191) * 824b671ebdb4e185da99165c7a246db646f3ef7a EU Data Act: reduce requests (#34042) * 8609d05057243ef09f7b039dc47deef2b2810588 EU Data Act: serialize concurrent logins (#34492) * fb838188e97657820a8de98c2a2bc8ac6a9b1e85 EUDA: change login flow to speedup login (#34313) * 3f62e6c0c7c64bcddb907e86d2ad158c2d99a964 Fixes: Optimize page is slow with multi-day horizons (#34096) * 18d557b7c75154661a20cffdfae64b8acf1ace7c Fritz: renew existing session id before full re-login (#34229) * 17fa21c3a3c5e63f40dcb5b82ab5d0d84c17f1e8 Fronius Ohmpilot: cache SolarAPI response (#33974) * 1dbdad86443e7ec000f48fac6fe32c3bd72abd46 Go plugin: compile script once instead of evaluating per call (#34456) * cee08c344fec8a8cca319a5f2a8bfd4303274efb GoodWe WiFi ET: decode grid power as int16 (#34021) * 697b34f4bc4c3a3806b88a60739a2a8ed7b7ce6d Heating: use active phases for current to power conversion (#34402) * a8a07566ca5b9b0392621fcaa3430ed8e068158b HomeAssistant meter: support plugin-based battery SoC limits (#33863) * 7450be7120f3fd37ae38ab9af620df4aba62dbe4 Issue agent: PR labeler applies bug only for issues typed Bug (#34406) * dd834a375a156dec722c5bc05b558936742dd672 Issue agent: agent job never pushes, open-pr job does from a fresh checkout (#34365) * c55889db6b89d5fb88937d94acf0f9a1d514b657 Issue agent: close incomplete bug reports (#34303) * 6930724503f699748b12a17b599a43d9379ce706 Issue agent: close reports that kept the UI paste placeholder (#34400) * bf217c16497c52dd71763e417e257a877453e5e6 Issue agent: grant pull-requests write to the re-analyze caller (#34382) * ce880ed6cf304774cc0730ac7cca84edb88164da Issue agent: read referenced discussions (#34399) * c9af67cb31ecd4839f26b64cec876c7f64164f36 Issue agent: reopen duplicates when the reporter replies (#34366) * 1610138dbfd8eea7bb4f459014b6929f2056b5eb Issue agent: search similar issues, close duplicates (#34361) * 007582ddefc950264b493d21bf604ef5bb23e154 Loadpoint: accept status C while disabled for continuous devices (#34385) * f2622335d7917fe4d821e982b1071a8e9fd4481e Loadpoint: apply default mode on boot for UI-configured loadpoints (#34160) * c14e9eb6d2c925eafda6e1d9028a4327174ea43f Loadpoint: drop to min current before scaling up phases (#34457) * 40c897372279b671e108b44b8d657b1c3b58d3d8 Loadpoint: keep a vehicle assigned while detection by status is running (#34237) * 9c18d65e312195b15828184b37441a12811e7fe8 Loadpoint: keep pv enable timer running with battery start (#34369) * cd096d14153888f0ac9718d8c9a039f1b4fbc904 Loadpoint: larger solar share slider touch target (#34117) * 77765726f6780f613ec36ebd314ad3638bcee8e4 Loadpoints UI: close always-charge popover when swiping carousel (#34242) * 9d8a05b5758b29d9d48a9190353923ea25dff604 Loadpoints UI: re-snap carousel after layout changes - #34029 * c08529032bc5037a886c3cba60ace10b04800a89 Log price limits with three decimals (#34455) * 3370287baea8ccb38c97ef2c743a6c13a2c8f537 Log: parse the line header without regexp (#34320) * d0763ede3e692491de2cef3056ca39258c3e180f Meter (Solis): drop coarse pv energy register (#34260) * 643b7acb45f52a02216eb5103a7b12794b698471 Meter (Sungrow hybrid): drop calculated phase currents (#34294) * ff20a359f86d1a47fb29b1c9be40f8e318858a91 Metrics: do not rebase energy baseline on a lower meter total (#34218) * 551d98c3370a1e44ee7ae52e68499bf164200678 Mode: don't activate Smart just from opening the Always charge dropdown (#34264) * 77e869cd1949e2c93f4854a85d30c7d6fda76c16 MySkoda: detect saved location by current position profile presence (#34015) * b6f79837b69e0b17b4eac87afdf00dff345c00e6 MySkoda: use plug connection state when charging state is omitted (#34124) * fbc63f4b18cf50cb57adb97767109701731ad132 New Energy UI: historical data, analysis, savings (#33989) * 81306a0e181d9c6cc34aebfae2b58bea1509c10a OCPP: clear stale transaction state on reboot (#33909) * 9b6c028137a1528f87ccb07acc080b7be93b788e OCPP: measure meter value freshness on receipt instead of charger timestamp (#34288) * 76da944ef402ae624aa7dd15dfe7d33711d82dae OCPP: use active phases for watts-based charging power (#34121) * 0e0a9d28c82c0ee531484718564096c4c330b4a5 Optimizer: default battery SMax to capacity without soc limits (#34129) * 6f9b6a0be3a0f5793f132bb04f89158fd2cf74b1 Optimizer: drop near-term PV forecast correction (#34464) * 9dd315cc843481d714fa7cb96397f931d71fcb54 Optimizer: include Continuous heating loadpoints in demand breakdown when in ModeOff (#34262) * 53e4bd87cdf0e62e1017c2c9db689bfc211046c6 Optimizer: treat missing feed-in tariff as zero (#34544) * d935d618fff09d92af79f65b1ece0b1f29691aa2 Optimizer: use planner tariff for battery grid charge limit (#34532) * 399c6bbbb87cb7b00288e0e544f279c71ca5ee57 Phases: allow 1p scale-down while climater keep-alive suppresses disable (#34499) * 8e45824ddb945164e624e0c15cefc885f3ec69c3 Porsche: Porsche Connect vehicle with in-browser login (#31232) * 1b753e4ef757220e61f4bdf4177100dae9fcb727 Revert "chore: upgrade modules" * 8ea1b3f941c5be60211a3019d9158c06fee3762f SENEC.Connect: select system by serial number (#34167) * acca76b8357b54806ddec5a8ab8e158947fcbff7 Schneider: support Charge Pro via FC04/FC16 (#33872) (#34165) * 299b688e1f6872b3590c3526e4d433fdbe01a6a1 Shutdown: floor the wait for shutdown hooks (#34276) * 0c87abe657cba074328d7538abe6c8f4047269f3 Site/Loadpoint: restore debug logging for demand predictors (#34525) * 0e3ddf95a10dafd837942c2d33bb3ae9c3311a13 Solcast: don't waste quota during off-hours (#33771) * 979d95099c3d763510c6294ec0524d4fd3883956 Subaru: retry incomplete status payloads with timeout (#33477) * 8d476c513258df977262b4156d6a28d2a437b915 SunSpec: report not-implemented sentinel as ErrNotAvailable instead of zero (#34217) * cee068c581b160e01d897444dc79c49c214f8ed4 Sungrow hybrid: use shared block reads (#34164) * e271f1c2863a03436c641c033340746d1a345303 Tariff (EKZ, Green Grid Compass, DWD): compute API windows in UTC (#34378) * 3a0ef0c366442b62aee0f21ab8487c38000eeaaa Tariff (ESIOS): apply Canarias prices per local hour (#34384) * 977517c1992072d4e6f1710e6f3057a46c697c03 Tariff (Groupe E): compute API window in UTC (#34180) * 52ab8085be2837507560ed3f5086ee57587a7866 Tariff (Octopus DE): redact credentials in trace log (#34540) * f89d43d1163e2fd12c1f581426a3cb24e037e2ad Tariff: average Energy Price Forecast at source (#34486) * 56486d2e385bd5094c2600752a40da2fa4f03e7a Tariff: keep cached slots leading up to a fresh tariff's first fetch (#34051) * 0e4a79ae73b348541f2ab5ad6bdcb95c0236edd7 Tariff: optimize formula evaluation by compiling at init (#33780) * 211dd26f953d40ed97c2c4b71d8c572315aaf793 Tariff: support multi-statement formulas again (#34485) * d433f76116a4cc12730e6a9f6abe5bafd9a2097c Templates: allow caveats on product level (#34162) * e5b8e602d595970f725e5bd2c0652fcf9e688ff2 Templates: expose modbus delay and timeout for hand-rolled connections (#33947) * 0e1f7cbc5e8d6f635cebf8a0155d11213dbdbb65 Templates: validate modbus host like the plain host param (#34381) * 0cd99593cb13e74d093a65a3b682d953799d2626 Tesla: treat any 408 from the Fleet API as asleep (#34353) * 077c093e5fdc375a9f2b1bc360b4d7ba38eaae46 Tests: search log at info level so the startup line stays in the window (#34215) * a4c60e3e81602b5d42466dd70d239902cf5152df Tests: use local MQTT broker in config-mqtt spec (#34278) * 1f0023b07f3ff7c5fb1c6d1306ee6b44d4d12cca Tests: wait for always charge once state before toggling off (#34273) * 5f84dfa4277cb34336a6bb9dbf433f2a4aa61f47 Tests: wait for modal shown in aux and battery specs (#34279) * c2db48e9d493dbb2413c97cdf8a5c847bf7baed3 Toyota: use phevUsableBatteryLevel for PHEV vehicles (#34196) * d94e5669ef70e56d72a2fd034e3c19ab1615d397 UI (Energy): unify source labels between stat block and modal (#34508) * b5b8a7f56b5aafe17051d635a8e4dc03bedd7243 UI: keep Safari vendor prefixes in production CSS (#34516) * 0972249b9242fc94b11493e7096d080604a353e6 UI: retry websocket quickly after connection loss (#34035) * e76574aea6a7a0d114bd940e0b099a695199f781 UI: show Forecast tab before Energy (#34570) * eea26a7391f253dcc2aedd650919ceb154f23663 UI: show time picker icon on touch devices (#34247) * 0391b406a6eecd276a7a9499f5c5a095b508f508 UI: show vehicle limit in status independent of connection status (#34520) * 20312ac9de8ec4e333baf369148a0cfa5ef6993e UI: unify battery mode icons (#33901) * a35035a861d613ab6650cb9bf96623a925355162 Vehicle (Tesla BLE): expose climater state (#34250) * 2c459aac7ac0d441b41f6983267cbf49f5e6aa7e WARP: wipe stale RFID data (#34052) * 40379bf04985ff1adf260640597ded23d706b52e Weishaupt: derive status from power setpoint (#34134) * cdb09406e9695f765e2ed2417973970d2d02b3fb Weishaupt: remove power reading from unlisted register 33126 (#34251) * e625d6bead45e87ddc5ad60aefee915244573880 Zaptec: detect stand-alone mode (#34184) * b6f6e85dbe3d58a5e59e39d5228dc6dab5285d6d Zaptec: ignore command rejection code 520 (#34506) * a344f74f319d25b902b1276962403b2aaca355af minor * b88d5d9fdb252c6de93172d7c24cc2d7c9dadcce ocpp-mennekes-4you.yaml: Full name and OCPP to clarify (#34327) * 17a86fc880163e4b4ede58ac77e81ab65519b7d2 sqlite: enable WAL mode (#30903) * 05ba977a1050fdf74bb3ef402ee43ec8d1c920fc sqlite: use a connection pool with WAL (#34495) ### Bug Fixes π * 6e8887de1d4be03022b3cdff2aa8f7b42d6be9ba Config UI: fix disabling messenger devices (#34090) * 7f6214109482a03c3bda013d4c1519e3231e330a E3/DC: fix charge and hold charge battery modes (#33721) * 4d8139b425842775fa2a1200aca8a4543b6471a1 Loadpoints UI: fix inactive card on open without lp param (#34144) * 50e4296af315a4ad47afd54eac1aff49e3b3619a Revert "Easee: fix charging stop on scale down (#29464)" (#33964) * a6bae25572e1dace5fd48f0497809624480df604 Sungrow iHM: fix feed-in limitation on/off detection (0x55/0xAA) (#33776) * 19c8e07c6cdda34fada0b96ddcee2b139dea2125 Sungrow iHM: fix voltage registers and use block reads (#34174) * 4f470a9df5e4f152b5e3ad75c21ffc4d52fc3aa2 Tests: fix flaky bool service datalist assertion (#34274) * d6f04686661081cb703beb4d13e3fc81da5aea05 fix: sessions legend grid overflowing card on long labels (#33944)
Related Repositories
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Terminal session manager for AI coding agents. One TUI for Claude, Gemini, OpenCode, Codex, and more.
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
The worldβs fastest framework for building websites.