Skip to content

Releases: evcc-io/evcc

0.317.2

Choose a tag to compare

@andig andig released this 17 Oct 10:05
ece5b74

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 ๐Ÿž

  • 53561ff Forecast: fix price chart drawing prices one slot early (#34798)
  • 61fe041 Huawei SmartLogger: fix swapped grid import/export energy registers (#34800)
  • 05bd613 Loadpoint: fix fractional min current on circuit (#34761)

0.317.1

Choose a tag to compare

@andig andig released this 11 Oct 10:24
259d5fd

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

Choose a tag to compare

@andig andig released this 09 Oct 09:29
e76574a

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 ๐Ÿ’ซ

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...
Read more

0.316.2

Choose a tag to compare

@andig andig released this 04 Oct 12:09
7db1259

Changelog

Other Changes โ˜€๏ธ

Bug Fixes ๐Ÿž

  • 7db1259 E3/DC: fix charge and hold charge battery modes (#34013)
  • f56b493 Loadpoints UI: fix inactive card on open without lp param (#34145)

0.316.1

Choose a tag to compare

@andig andig released this 27 Sep 19:10
5c27c36

Changelog

Other Changes โ˜€๏ธ

  • f692112 GoodWe WiFi ET: decode grid power as int16 (#34033)
  • 4ec1028 MySkoda: use plug connection state when charging state is omitted (#34126)
  • 58f7650 OCPP: use active phases for watts-based charging power (#34130)
  • 5c27c36 Optimizer: default battery SMax to capacity without soc limits (#34131)

0.316.0

Choose a tag to compare

@andig andig released this 22 Sep 09:35
a577637

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 ๐Ÿ’ซ

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...
Read more

0.315.2

Choose a tag to compare

@andig andig released this 17 Sep 06:59
f9cf626

Changelog

Other Changes โ˜€๏ธ

  • f9cf626 Modbus proxy: keep default device port after serial round-trip (#33745)

0.315.1

Choose a tag to compare

@andig andig released this 14 Sep 10:56
a02b38f
Revert "Zaptec Go 2: disable phase switching with APM active" (#33617)

0.315.0

Choose a tag to compare

@andig andig released this 31 Aug 16:15
a565f2d

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 ๐Ÿ’ซ

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...
Read more

0.314.5

Choose a tag to compare

@naltatis naltatis released this 27 Aug 14:42
2f8462f

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)

Bug Fixes ๐Ÿž