Repository navigation
Releases: evcc-io/evcc
Releases ยท evcc-io/evcc
Release list
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...
0.316.2
0.316.1
Changelog
Other Changes โ๏ธ
0.316.0
Changelog
Breaking Changes ๐จ
- 9490029 Home Assistant charger: make milliamp current control optional (BC) (#33858)
- ddbc8f3 Home Assistant: drop battery minsoc/maxsoc preset (BC) (#33707)
- 54403e6 Mode Redesign: rename pv to smart, replace minpv with always charge (BC) (#32490)
- 8160673 Tariffs: reject slots shorter than 15min (BC) (#33865)
- db12193 Templates: move phases1p3p param to defaults.yaml (BC) (#33588)
- 064e585 Zendure Solarflow: consolidate battery templates (BC) (#33505)
New Features ๐ซ
- c591a67 Add battery forced discharge to grid mode (feed-in arbitrage) (#31995)
- 515cb14 Anker Solarbank Max AC: add discharge (#32365)
- 5ece95b Atmoce: add battery discharge (#33437)
- 2791792 EcoFlow Stream: add battery control (#33433)
- cc3feb4 Home Assistant: add holdcharge and discharge battery modes (#33841)
- 61ddada Hoymiles OpenDTU: add cache (#33669)
- 0daa1fe Huawei SUN2000: add force-discharge (#32307)
- 4bccfd3 Issue page: add copy-as-markdown button and menu shortcut (#33699)
- 41fc386 Kostal Plenticore: add forced discharge mode (#32396)
- e5611ad Loadpoint: add fast charging phase upscale delay (#28174)
- 3938f43 Loadpoint: add solar share setting (#32104)
- 77e8284 Meter (Deye): add HTTP micro inverter logger template (#33485)
- c2683e2 Meter: add Solarman V5 transport and Deye micro inverter template (#33502)
- 8dd67f1 Meter: add verifybatterymodes command (#33857)
- 8fca47d Polestar: add official Data Portal M2M API (#33814)
- 7c2f4c5 Script plugin: add float setter (#33426)
- 825573b Spelsberg: add meter capability (#33823)
- cf0fd9f Sungrow: add holdcharge battery mode (#32932)
- 03d12af Tariff: add epexprijzen-be template for Belgium (#33762)
- 51a95cb Tariffs: add spotovaelektrina.cz (#33581)
- 691c77e Tesla BLE: add charged energy (#33585)
- c28a1f6 UI: add missing German date format translations (#33347)
- 68d2f49 Vehicle: add LiveWire S2 motorcycle (#33683)
- c161933 Viessmann: add power and temperature (#32219)
- e11cdef Weishaupt: add heat pump (Modbus TCP) (#33193)
- b79e469 Zendure Solarflow: add forced discharge mode (#33801)
- 50572d9 go-e: add status reason for access control (#33661)
- c140fc8 my-PV HEA: add 5s heartbeat to rewrite active relays (#33626)
- cca3f09 my-PV: add HEA THOR 3.5 and 9.0 support (#33500)
Other Changes โ๏ธ
- c9fa4d9 API: raise the jq query limit to 8k (#33394)
- 87f7613 Battery UI: make new battery page default, remove classic layout (#33434)
- 8796395 Battery: report supported modes per device (#32648)
- bab3970 Charger (Stiebel Eltron WPM): optional inverter power (#33367)
- 9582e96 Chargers: use verify enabled helper (#33811)
- 3e0464e Charging plan: disable optimization when late charging covers everything (#33422)
- f7c4852 Charts: consistent y-axis unit scaling for small values (#33334)
- b34a989 Config UI Loadpoint: rework min/max current inputs (#33418)
- a1a4b2c Config UI: clarify battery soc limit help texts (#33414)
- 50345cd Config UI: improve modal slide transitions (#33833)
- 212dd03 Config UI: raise device test timeout to 15s (#33118)
- 296f6f1 Config UI: untranslated 'continuous' in device card and test result (#33487)
- 53061f7 Config UI: usage-specific energy labels for device tags (#33402)
- e7a8e4d EEBus: capture vehicle identification from update event (#33458)
- c04cf61 EEBus: expose LPC and LPP capabilities only when supported (#33525)
- 32c86ab EEBus: make milli amp current control optional (#33739)
- 3d38f43 EEBus: replay use case support to devices registering after discovery (#33423)
- 0fd6548 EEBus: replay use case support to devices registering after discovery (#33430)
- c90b7d0 EEBus: wait for use case data before returning the device (#33386)
- 535e655 Energy demand profile: improve prediction accuracy for heating loadpoints (#28232)
- db2841e Ghost (Elli): re-login when the REST API rejects the token (#33785)
- 266fe27 HEMS Pro: also probe I2C bus 0 for RTC (#33639)
- 078efa1 HTTP digest: accept X-WWW-Authenticate challenge header (#33793)
- eddfca3 History: remove energy netting, unify bidirectional detection (#33338)
- a611309 Keba modbus: switch back to 1p on disable (#32665)
- a0a96ef Keep access and refresh tokens out of the logs (#33339)
- 556d874 Loadpoint: derive remaining energy and duration from energy limit (#33637)
- a3490cd Loadpoint: do not send zero power values to estimator (#33846)
- 0c6250e Loadpoint: don't fail setup when the charger has lost phase switching (#33619)
- 2e6873c Loadpoint: honor configured phases in minimum active phases (#33462)
- 197043e Loadpoint: ignore dimmer not available (#33486)
- 4e3a60e Loadpoint: log when circuit limit falls below min current (#33671)
- 219cdf1 Loadpoint: recompute charge plan immediately on vehicle-side plan changes (#33467)
- a306d05 Loadpoint: resolve charge meter capabilities once at boot (#33672)
- ef937f4 Loadpoint: resume charging during phase switch (#33552)
- efa9bf6 Loadpoint: seed unknown phases from charger on startup (#33701)
- 10c5d48 Loadpoint: test that persisted settings remain valid config (#33450)
- fc15910 Loadpoint: treat alwaysCharge as dynamic config (#33444)
- d15b1dc MQTT: sanitize map keys used as topic levels (#33819)
- 4e129aa Make diagnostics more discoverable (2) (#33734)
- 39f01db Marstek Venus A/D: derive battery power from AC power minus MPPT (#33473)
- f73c2bd Merge remote-tracking branch 'origin/master'
- 2034523 Merge remote-tracking branch 'origin/master'
- 6512758 Merge remote-tracking branch 'origin/master'
- 5323314 Merge remote-tracking branch 'origin/master'
- 33ab916 Merge remote-tracking branch 'origin/master'
- 2ea2154 Merge remote-tracking branch 'origin/master'
- acd0087 Merge remote-tracking branch 'origin/master'
- 54aa6ab Merge remote-tracking branch 'origin/master'
- 4a335df Merge remote-tracking branch 'origin/master'
- 1be861a Merge remote-tracking branch 'origin/master'
- 23286bd Merge remote-tracking branch 'weblate/master'
- 0df8641 Meter: default battery minsoc/maxsoc to 0/100 (#33589)
- 945ecf7 Modbus proxy: keep default device port after serial round-trip (#33744)
- 4f4f3ea Mode UI: smart mode label and popover alignment (#33479)
- 31d0745 MySkoda: prefer charge limit of current saved location (#33612)
- 75b5b7c Myล koda: expose welcomecharge (#33570)
- a577637 NIU E-Scooter: use vehicle-common preset (#33945)
- 0f9c74c NRGkick Connect: write current and enable state in a single request (#33675)
- 15b5744 Nordpool tariff: cache day-ahead price requests (#33655)
- a83118d OAuth: persistent token source (#33370)
- 871817b OCPP: allow transaction-specific charging profiles (#33512)
- 11ffab1 OCPP: keep live meter reading when duplicate measurand contexts collide (#33257)
- a779067 Op...
0.315.2
0.315.1
0.315.0
Changelog
Breaking Changes ๐จ
- 8661c66 Curtailment devices: new device class for feed-in limitation (BC) (#32416)
- 0812904 Mqtt: always render preset timeout (BC) (#33084)
New Features ๐ซ
- 7c0ddf1 Add 1SINQ OneKey heat pump (sgready via MQTT) (#33069)
- 7dd4007 Add BYN, UAH, RUB and KZT to currency list (#33259)
- dfad373 Add CHINT ECH10K-TH-EU inverter (#32858)
- 36614fe Add SENEC.Connect cloud API (#33029)
- bc38df1 Add Solplanet hybrid inverter (Modbus TCP) (#32888)
- 9a87bd1 Add StecaCharger (#32990)
- c745672 Afore hybrid: add RS485 (#32961)
- 469ccb8 EEBus OHPCF: add disablepowerlimiter option (#33071)
- 62cca5e Energy Price Forecast CO2: add regions (#33080)
- f216a44 Energy Price Forecast: add api key (#33081)
- 8cf5a44 Marstek: add discharge and optimise batterymode (#32571)
- e7ab19d SMA EV Charger: add setup instructions (#32862)
- 7549bea Services: add sunspec/read for reading a point value from a device (#33230)
- ea8e2a7 Site: add returnEnergy to aggregated battery state (#33241)
- 887ec9e Solax X1/X3-HAC: add CurrentLimiter (#33181)
- 8edf92a Sonoff: add switch socket charger (#33058)
- 45f49aa Sungrow: add curtailment (#32976)
- 56eccb0 Sungrow: add grid and battery returnenergy (#33129)
- 28bb5ba Tariff: add Energy Price Forecast regions and currencies (#33051)
- fb35c09 Templates: add ErrNotAvailable default to battery mode switches (#33023)
- 0ae8529 Templates: add http service for parameter choices (#32951)
- 63c8265 Templates: add integration provider link (#32008)
- a8c4dfd UI Customize: add custom-theme flag for default theme (#33042)
- 37d8aec UI: Add date format preference in user interface settings (#29321)
- a66fa2f Youless: add return energy (#33155)
- be4f4b8 Zendure SolarFlow 800 Pro: add battery control (#33272)
- f693454 openWB Pro: add return energy (#33216)
- fb12025 ล koda: add Myล koda public api vehicle (#33234)
Experimental Features ๐งช
Other Changes โ๏ธ
- 769a6a1 API: bound jq evaluation on /api/state against unauthenticated DoS (#33028)
- 8905c27 About modal: powered by footer for branded installations, update status badge (#33233)
- e7b694e Afore: remove Modbus TCP option (#32964)
- 13db309 Battery boost: resume from hold when limit is lowered (#32999)
- 859c905 Battery control: apply battery mode per battery and only on change (#32967)
- 0d08159 Charging plan: show strategy settings without dynamic tariff (#33168)
- 9f70a18 Charts: prevent long-press text selection (#33012)
- 7f33bb9 Config UI: hide disabled vehicles from loadpoint default-vehicle dropdown (#33125)
- 1a0a05c DaheimLaden: improve error handling (#33010)
- 063088c Demo tariffs: increase forecast to 5 days (#33174)
- c28f2ff Digest auth: reuse challenges across requests (#32842)
- 490f209 EEBus: apply the configured failsafe limits consistently (#33288)
- d379b78 EEBus: clamp the curtailment percent to the documented maximum (#33300)
- 829f11f EEBus: don't deny pairing while devices are still being configured (#32966)
- eeb2f59 EEBus: keep pairing requests pending while devices are being configured (#33046)
- 27bbdce Energyflow: clip collapsed details to remove phantom scroll area (#33229)
- e4e5c2d Enovates: verify EMS mode and use actually offered current (#33163)
- 9beca9b Go plugin: keep float parameters typed (#33162)
- eec0a8f GoodWe: list ESA series under hybrid template (#32884)
- 2b87fe2 Grรผnstromindex: fall back to co2_g_oekostrom when co2_g_standard is null (#33164)
- e24ec1a History: keep charge and discharge apart in entity legend sums (#33299)
- a565f2d History: show both directions for all entities of a bidirectional section (#33335)
- 6715711 Home Assistant: auto-detect Supervisor instance and token (#33000)
- f193eb1 Home Assistant: link charge status docs (#33260)
- dbe100b HomeWizard: support 1p kWh meters (#33293)
- f6e6db9 Issue: remove obsolete number input spinner styles (#33006)
- c314e8e Keep permanent sentinel errors distinguishable (#33194)
- ebe064a Loadpoint: disable PV mode when idle integrated device lacks surplus (#33073)
- c106711 Loadpoint: don't reserve surplus when paused by feed-in priority (#33072)
- 3159126 Loadpoint: ignore charge interruption during phase switch (#33109)
- bf57d39 Loadpoint: project continuous device min power shortfall into PV disable gate (#33075)
- 72b7e27 Loadpoint: sync charger phases on vehicle connect (#32962)
- e2c59fc Meter (SunSpec): read max AC power from nameplate (#32732)
- c1960b3 Metrics: fall back to power integration when a meter loses its energy register (#33103)
- 24498ad Modbus templates: share block reads (#32887)
- b305af0 Nissan: switch to MyNISSAN OneID authentication (#33316)
- af4d14f OCPP: keep websocket alive between heartbeats (#33099)
- 6b94ac6 OneKey: make mqtt timeout configurable, default 90s (#33120)
- 8abae0f OpenDTU: tolerate missing radio_stats in energy filter (#33279)
- ba8596b Optimizer chart: day boundaries with weekday at 00:00 (#32894)
- 4cc75b1 Optimizer: extend horizon to 48h plus end of day (#32893)
- 5960e9f Optimizer: limit precondition demand to required charging duration (#33137)
- bb6854b Optimizer: respect session energy limit when vehicle soc is unknown (#32895)
- 8d425d3 Phases: allow 1p scale-down when the loadpoint never disables (#33214)
- 748d36d Phases: disable instead of scaling down to 1p without sufficient surplus (#32991)
- 4adbf14 Provider auth: require authenticated session for OAuth login/logout (#33115)
- d22b67f Reapply "Optimizer: respect session energy limit when vehicle soc is unknown (#32895)"
- fa6f757 Revert "Optimizer: respect session energy limit when vehicle soc is unknown (#32895)"
- 6d27652 Revert "PV: reserve only min power for higher-priority loadpoints starting up" (#32947)
- f7b3f39 Shelly: no return energy register on gen1 relay and plug meters (#33111)
- 47fd73b Site: feed the optimizer a trailing percentile solar scale (#32849)
- a578893 Site: separate measurement from power calculation in update cycle (#32770)
- b15f81a Soc: extrapolate from charged energy when vehicle api is unavailable (#33122)
- 41319df SolarMax MAX.STORAGE: drop the whole-kWh energy register (#32986)
- f4b289f Sponsor: include device serial in hardware check metadata (#32927)
- 5120f26 Sungrow: remove coarse energy reading from inverter template (#33321)
- 1b909ed Sunspec: serialize access to a shared device tree (#33014)
- de0bac2 Sunspec: share block reads across values on the same connection (#33011)
- defe940 Tariff (solar): resample sub-slots along the source curve (#33105)
- 9600fc5 Tariff: make Energy Price Forecast cacheable (#33049)
- de3f899 Templates: support class-local include files (#32871)
- 8ccd72e UI: show inactive phases as dots in phase indicator (#33173)
- cba812d Vehicle settings: compact rows layout (#33169)
- adfbd05 V...
0.314.5
Changelog
Other Changes โ๏ธ
- 1210b36 Grรผnstromindex: fall back to co2_g_oekostrom when co2_g_standard is null (#33165)
- 2aad760 Keep permanent sentinel errors distinguishable (#33197)
- 6616939 Optimizer: limit precondition demand to required charging duration (#33139)
- bafcd4f Soc: extrapolate from charged energy when vehicle api is unavailable (#33149)
- 2f8462f warp-ws: use wss when charger URI is https (#33198)