Releases: evcc-io/evcc
Releases Β· evcc-io/evcc
0.307.1
Changelog
New Features π«
- d121466 Add Genesis Europe Bluelink (#30158)
- ead7769 Add GoodWe Wallbox (Gen2) charger (#29822)
- a2ebac9 Add Indevolt inverter (#30128)
- 8eb719a Cupra: add missing OLA API request headers (#30105)
- 0847c2a Polestar: add gRPC vehicle implementation (#30119)
- b41dc59 cli: add metrics command (#30099)
Other Changes βοΈ
- 34a0bfc Atmoce: remove rs485 (#30163)
- 18cadfa Cupra: keep plugged "NotReadyForCharging" as connected status (#30140)
- 0b20540 Enphase: modbus interface (SunSpec 700) (#30121)
- 0493103 Enphase: rename IQ Envoy to IQ Gateway (#30122)
- 8dc0edd HEMS: redesign dim and curtail api as tristate (#30116)
- f5cbb12 Hyundai Bluelink (US): expose required PIN (#30054)
- e63196e IAMMETER: split templates, support all devices (#29505)
- 4d80489 Loadpoint: keep mode on integrated device disconnect (#30189)
- 55dd26b MQTT: cancel in-flight publishes on disconnect (#30142)
- 88d0f9c MQTT: cleanup deletes at QoS 0, synchronously (#30139)
- 3d59da4 MQTT: lower parallelInflightLimit from 128 to 32 (#30141)
- 2839f87 MQTT: serialize resubscribe after reconnect (#30138)
- 070e27f Meter (Home Assistant): grid charging via switch entities (#30191)
- 5857cde Metrics: tolerate NULL energy buckets in importProfile (#30169)
- f2a6962 OCPP: survive mid-setup disconnect on buggy chargers (#30113) (#30165)
- a77bbf8 Revert "OCPP: survive mid-setup disconnect on buggy chargers (#30113)" (#30178)
- 14b422d Templates: render template-specific modbus defaults in instance mode (#29852)
Bug Fixes π
0.307.0
Changelog
Breaking Changes π¨
New Features π«
- 9cc0da1 Add Alpine vehicles (#29927)
- e48887e Add Azimut Energy battery (#29890)
- 726bea6 Add DSMR API v2 support (Ethernet P1 Dongle Pro+) (#29871)
- d17e72b Add DSMR API v2 support (Ethernet P1 Dongle Pro+) (#29892)
- 6802975 Add MYR (Malaysian Ringgit) to currency list (#29956)
- 1e9bc6c Add Siemens 7KT1666 (#29801)
- 76a54c6 Add TRY (Turkish lira) to currency list (#29897)
- 8886af1 Add compleo pro (#29925)
- ca386b7 Add dim/curtail features (#29905)
- 92072aa DADAPOWER: add voltages (#29923)
- 6039791 Easee: add cmd for (de)activating local ocpp (#29868)
- b1d5f57 Enphase: add voltages (#29795)
- cae8a2c Fritz Smart Energy 250: add pv
- ef12393 Huawei SUN2000: add curtail (#28549)
- 29a932c Huawei SUN2000: add curtail (#30039)
- 3588040 Ostrom: add sandbox support (#29751)
- 1e40a2a Plugins: add bool2int conversion (#29995)
- ce583cd Plugins: add ifelse plugin (#29988)
- 9badb4e Revert "Huawei SUN2000: add curtail (#28549)"
- eb5fd6d Revert "Huawei SUN2000: add curtail (#30039)"
- 5763051 Sessions/History UI: add left/right swipe gesture (#29944)
- a2ce340 Solinteg: add phase powers and currents (#29749)
- 908e6cf Tariff: add time-based grid fees (#29766)
- 21eefcc Vaillant: add brand support for Saunier Duval, Bulex, Glow-worm, DemirDΓΆkΓΌm (#29874)
- 468dfa6 tariff/epexprijzen-nl: add powerpeers provider (#29829)
Other Changes βοΈ
- 37e5659 Batteries: track energy metrics (#29780)
- cbd253b Battery Grid Charge: allow limit remove
- c37ecd6 Chart: sorted color picker (#30073)
- 62ecd17 Charts: color picker for loadpoints and consumers (#30021)
- 4e42b54 Config UI: replace custom vehicle modal with generic flow (#29575)
- 714c847 Config: enforce required fields when forcing save past a failed test (#29982)
- b76af61 Database: use backup and restore apis (#29511)
- e7a27e5 Energyflow UI: use names instead of placeholders (#29918)
- a74982a Ext/Aux meters: track energy metrics (#29836)
- a628981 History UI: improve tooltips, labels, stacks, units (#29917)
- 65dd010 History UI: optimize production chart (#29946)
- 431b606 History UI: visualization and export (#29846)
- 47132a4 Loadpoint: suppress PV disable timer while climater is active (#29837)
- 177cb19 Loadpoint: tolerate api.ErrNotAvailable on phase switch (#29975)
- 1200fbc Metrics: do not persist a partial first slot (#29977)
- db82557 Metrics: rename import/export to energy/returnEnergy (#29907)
- 84d623a OAuth: expose full upstream error (#29875)
- be1dd84 OCPP: clean up charge point lifecycle between subtests (#29873)
- e07838b OCPP: dispatch RemoteStartTransaction asynchronously to avoid WebSocket deadlock (#29838)
- 960eb11 Ocpp: fall back to confirmed profile limit for GetMaxCurrent (#29783)
- 7e41160 Optimizer: expose forecasted highest/lowest battery SOC (#29564)
- 6b053bf PV: track energy metrics and apply forecast scaling to optimizer (#29784)
- 54e6174 Renault: update api keys (#30031)
- 178cc7a Revert "Battery Grid Charge: allow limit remove"
- d5e6253 Revert "api: split MeterEnergy into MeterImport and MeterExport (#29788)"
- 13c2407 Siemens 7KT1665: remove timeouts (#29800)
- 5506053 VW/Audi/Seat/Skoda: recover from marketing consent prompt (#29980)
- fed9678 Vehicle: accept lat/lon parkingposition keys for VW weconnect (#29981)
- 7a5b1e7 api: split MeterEnergy into MeterImport and MeterExport (#29788)
Bug Fixes π
- c61e3fa Battery: fix stale grid charge limit reset (#30013)
- 8ac2f94 Cupra: fix connected status (#30046)
- 48822fb Cupra: fix vehicle list (#30047)
- fe02f7f Evbox Elvi (OCPP): fix "charger out of sync" (#29809)
- 207fa79 Grid charge: fix 0 cost limit (#29817)
- d08a07d History UI: fix timezone handling (#29819)
- 41c169e History: fix axis, scale and units (#30042)
- d89c101 History: fix scale for stack batteries (#30044)
- 4bc9ba4 Huawei EMMA: fix phase currents (#29845)
- f41ad70 Loadpoint: fix charge meter method decoration (#29912)
- 117276f Localization fix for german string (#29891)
- 43860c1 OCPP: fix flaky TestOcpp (restore wait() timeout) + speed up (#29941)
- c5d9bcc Optimizer UI: fix line charts (#29936)
- 394553c Xtherma: fix registers and add dimmer (#29854)
- 1e81696 fix: drag & drop stability (#29730)
- 07b0093 meter/hybrid: fix pv energy readings in SunSpec hybrid inverter templates (#29955)
0.306.3
Changelog
Breaking Changes π¨
New Features π«
- 9d12605 Add ZAR (South African Rand) to currency list (#29620)
- cf5038c Revert "Stiebel WPM: re-add power (#29627)"
- 7303a5b Siemens 7KT: add voltages (#29732)
Other Changes βοΈ
- d4d8109 Battery UI: 100% buffersoc resets bufferstart (#29669)
- 20be86f Bluelink: convert evModeRange and odometer from miles to km when unit=3 (#29731)
- 2a49668 EEBus: drop redundant Scenario middle word from constant names (#29704)
- efe8ee7 Energyflow: show all loadpoints (#29677)
- bd651da HomeAssistant: dispatch CallSwitchService by entity domain (#29700) (#29706)
- 1e61427 Loadpoint UI: improve heatpump status (#29667)
- fd80b71 Make fatal banner dismissible (#29692)
- 338e8b4 Session energy: latch baseline late if meter not ready at start (#29656)
- d8730e1 Sessions API: filter tz handling (#29676)
- d811357 Trydan: pause dynamic mode during charging (#28365)
Bug Fixes π
- 0d3bcfe Bluelink: fix unmarshal float EvModeRange.Value from Hyundai EU API (#29687)
- 3b90182 EEBus: fix LPC/LPP CS failsafe-exit path (#29705)
- 4b276a4 EEBus: named scenario constants + fix MGCP scenario indices (#29701)
- 2c149b9 Fix comment-only yaml in device config validation (#29673)
- 7a24dbd OCPP: fix flaky test deadlock between trigger handler and WS read loop (#29725)
- 32f8384 RCT: fix grid energy (#29688)
- 9e2b907 Revert "EVBox Elvi: fix template (#29652)"
- 948b646 Tessie: fix wakeup uri (#29726)
- 42b5cb2 Yaml: fix decoding empty stream everywhere (#29690)
- 1414d71 sqlite: fix foreign_keys error (#29697)
0.306.2
Changelog
Breaking Changes π¨
- 1fbe26a Fritz!: optional unit parameter for multi-unit smarthome devices (BC) (#29570)
- d0d6ef0 MCP: make configurable via UI services card (BC) (#29535)
- b4f9081 OpenWB 2.0: manually configure rfid (BC) (#29352)
- 95fa98e sma-hybrid: separate max charge/discharge power (BC) (#29551)
New Features π«
- 4e6716c Add Anker SOLIX X1 (#29548)
- 7611aa9 Add Solinteg meter (#29543)
- 975caea Custom charger: add optional finish timer (#29600)
- f08fa0c HomeAssistant Charger: add heating, integrateddevice (#29632)
- d9cc4ec Nissan: add Micra
- 0f5bfe0 Stiebel WPM: re-add power (#29627)
- 002e55f epexprijzen-nl: add engie to provider choices (#29589)
Other Changes βοΈ
- f5ce6e7 Battery UI: clarify 100% buffersoc (#29658)
- f2505c0 Bluelink: limit climater to defrost (#29622)
- 19cdc8b Charger: tag templates with meter capability (#29536)
- 0178d32 EEBus meter: clear cached entity refs on disconnect (#29628)
- c96dbed Fritz!: refactor session caching (#29574)
- 1ac513c Loadpoints: track metrics (#29143)
- d7414b7 Octopus DE: stop retrying on permanent auth failure (#29631)
- 6c83a1f Optimizer: increase timeout (#29510)
- ba29520 Revert "PSA: update base url"
Bug Fixes π
0.306.1
0.306.0
Changelog
Breaking Changes π¨
- e0c819a Altherma 4: switch template (BC)
- 4d7fa86 Huawei: allow battery charge from PV in hold mode (BC) (#25024)
New Features π«
- afaf409 Add Afore hybrid inverter (#29197)
- 873da67 Add EVSE Master (Besen, Telestar, Morec, Sync chargers) (#28359)
- 1c7cdeb Add Fingrid Co2 tariff (#29329)
- aea4408 Heating: add (limit)temp to custom charger (#29270)
- 90fdd8e Navigation: add version update indicator (#29343)
- 54a1b0c Sessions UI: Add odometer (mileage) column in table view (#29263)
- d37121e Tariff: add stroomprijsprognose.nl grid and co2 (#29320)
- 289bcdb Templates: add duration funcs (#29368)
- 07d2acd Tessie: add coarse current (#29442)
- dad6cbb vzlogger: add energy uuid (#29492)
Other Changes βοΈ
- 4b10abf Config UI: allow custom device type override (#29340)
- 35b0333 Easee: reconcile session energy from charger meter at disconnect (#29350)
- 9b8f29a Ecoflow: use evcc HTTP client for logging (#29530)
- 67588c2 Em2go: improve connection robustness (#29351)
- 63459e1 Forecast: temporarily remove adjustment (2) (#29260)
- fa51376 Fritz: provide AIN dropdown (#29529)
- 087f9bb History UI: group data (#29303)
- 2fb900c History UI: small fixes (#29138)
- f20574a Huawei: use correct maximum power (#29354)
- 7753d88 Indicate cache hits in HTTP trace log (#29533)
- 033d055 Loadpoint UI: finer energy select (#29298)
- 7d2f507 Log UI: sort the log area multiselect naturally (#29289)
- b0126db Navigation UI: make bottom nav standard (#29357)
- 1d3a963 Nibe S-series: update docs (#29293)
- 2d2c953 OCPP: handle firmware management events (#29507)
- 170226d Remote Access: 1y default expiry (#29404)
- 1617f4e Remove YAML-specific device template input hints (#29259)
- f2f7ecf Revert "Cupra: treat "NotReadyForCharging" aus connected (#29030)"
- b9e72b1 Sponsor: prepare for GitHub alternative (#29043)
- 48f9c74 Update HemsModal.vue with correct link to external control documentation (#29410)
- 54ea5c6 epex-predictor: update regions (#29497)
- 4bfc1ba myPV AC Thor: support extra heater on relay (#29266)
- 3f19b6a refactor: use single modal instances for loadpoint (#29109)
Bug Fixes π
- e711cca Config UI: fix editing custom device with type override (#29379)
- 36c5cc2 Easee: fix charging stop on scale down (#29464)
- bd9f690 Optimizer: fix panic in prorate
- e3a6d96 Solax: fix grid energy scale (#29439)
- 551e7ac Stegen Smart EVSE: make charge mode configurable, fix status & keep-alive (#29290)
- 0918c62 Sungrow iHomeManager: fix voltage and per-phase active power decoding (#27985)
- 004cb37 fix: reload website when version changes (#29299)
0.305.1
Changelog
New Features π«
- 2f10657 Add Fritz smarthome REST API support (FritzOS 8.2+) (#29013)
- c968d68 Add domain knowledge docs for AI agents (#29228)
Other Changes βοΈ
- 6414d8a Forecast: temporarily remove adjustment (#29244)
- 4de7791 Optimizer: don't send empty requests
- bb93ebf Optimizer: wording on debug view (#29179)
- a0989c1 Reapply "Config UI: better explain optimizer (#29141)"
- f474245 Revert "Config UI: better explain optimizer (#29141)"
- b751090 Solarprognose: deprecate forecast_days (#29249)
Bug Fixes π
0.305.0
Changelog
New Features π«
- 467c3c5 Add Danfoss inverters using ComLynx RS485 (#29065)
- 61c06fa Add Stegen Smart Evse (REST API) (#28966)
- 9b8ac11 Add remote access (#28688)
- 147dd7b Add support for Connected Cars API (used by Volkswagen Australia) (#28899)
- 2dbd1a5 Custom devices: add device title to logger name (#29075)
- 812ffa4 Forecast UI: add feed-in, edge-to-edge layout, design improvements (#29090)
- e3709a0 Issue UI: add residualpower to essential data (#29018)
- 4b94744 Kostal Pico MP: add grid (#29077)
Other Changes βοΈ
- 81b78db Collect 15min energy metrics (#23185)
- fbc32e9 Config UI: better explain optimizer (#29141)
- ffab2c8 Config UI: don't show "Logout" when started with --disable-auth (#29074)
- 9f39818 Config UI: don't show "Logout" when started with --disable-auth (#29096)
- db11f1d Config UI: make circuits configurable (#27842)
- d5c9db0 Config UI: vehicle priority (#29021)
- 7135ab0 Cupra: treat "NotReadyForCharging" aus connected (#29030)
- 4c7b04c Device Cards: bool value formatting (#29135)
- 4b528cd EEBus: handle negative production limits (#29104)
- d44bc7f Easee: align observation IDs with official developer docs (#29044)
- 2693168 Improve config UI dump key ordering: type before config, template first in config (#29081)
- b45edd2 Mqtt: reset full/empty times (#29050)
- 20de0b9 OCPP: proactively trigger BootNotification after WebSocket connect (#28540)
- f69252e Optimizer: reduce interval to 15min (#29137)
- 884f183 PUN tariff: don't fail if next day data is not available (#29092)
- b59b71f SMA Hybrid: remove wrong solar energy register (#29034)
- 995e004 optimizer: skip disabled loadpoints
Bug Fixes π
0.304.3
0.304.2
Changelog
New Features π«
- f79bddd Add Askoma ASKOHEAT+ (#28827)
- 8144589 Add Lektrico charger (#28195)
- b51891b Add MTEC heat pump (#28880)
- 807fe1a Add OMIE day-ahead tariff for Portugal and Spain (#28768)
- a2dc5ba Config UI: add curtailed device info (#28889)
- ed3f44f Ecoflow: add battery params (#28903)
Other Changes βοΈ
- 3001cfb Energyflow: forecast/battery navigation (#28918)
- e20d765 Forecast UI: compacter, small fixes (#28917)
- e75b5e9 Log UI: progress indicator (#28914)
- 09d319b Mercedes: update application and SDK versions (#28938)
- dec0e7d Optimizer: improve error message for solar forecast (#28934)
- cebe55d Templates: support IPv6 (#28872)
- cf9ea4c UI: prevent multiselect bottomnav overlap (#28901)
- 71185c5 ghosteebus: propagate context to REST API calls during init (#28951)