Skip to content

Release history

evcc releases

solar charging ☀

All releases

38 shown

Review required
0.312.1 Breaking risk
Auth Breaking upgrade

HoldCharge + Battery visualization

0.312.0 Breaking risk
Breaking changes
  • Removed Epexprijzen‑nl atoom alliance (BC)
  • Made SunSpec model 123/704 curtail optional (BC)
Notable features
  • Added Ambibox ambiCHARGE Home integration
  • Added Anker SOLIX Solarbank Max AC support
  • Added Mennekes PnC variants
Full changelog

Changelog

Breaking Changes 🚨

  • d4430248a9f34af3607211087598ecad8e053407 Epexprijzen-nl: remove atoom alliantie (BC) (#31700)
  • 7c7a74b390e1a48dae4df4d3449ecfd06d18e6ca SunSpec: make curtail (model 123/704) optional (BC) (#31607)

New Features 💫

  • b2068fb764c518c37dfb3a4906f15999fa21d06c Add Ambibox ambiCHARGE Home (#31464)
  • 3158ff16efb266581ab282ac7466a54b623723a6 Add Anker SOLIX Solarbank Max AC (#31696)
  • db77790145655722ff6f2ca20bc773c5aa5a10ba Add Mennekes PnC variants (#31806)
  • 5216c88cb8128a09ee73472815fb4d8016b12b94 Add Solplanet AI-Dongle LAN (local HTTP API) (#31732)
  • 92c89adf6b547908b2eb5fa77b9dc4ce59061ff0 Add Voltcast tariff (#31848)
  • 62ed1c4710a82bab8fb90e0d743c5585f33b51d7 Add pvnode Solar Forecast API V2 (#31178)
  • 20a1c0886e40baafecb4728acdbbeecec9b0aea9 Atmoce: add curtail and dimming, add holdcharge and rework normal/hold/charge (#31632)
  • 58bda986421266a8b3395ff9c36630ea771641b7 Config (Remote): add title to app deep-link QR code (#31746)
  • 36c422f7a8c791301e2f9ccba2867bdd15283637 EEBus: add MGCP, MPC, LPC and LPP conformance tests (#31384)
  • 0d76c1277e7232d9b67d762036df14af9e51cc18 Indevolt: add battery control (#31741)
  • 3bb943cbe53524427e37e9cea1221a099b3becd4 Loadpoint: add min temperature for heating devices (#31749)
  • 49b93c6f4d424617dedada5a01556d540642fb69 Marstek Venus: add holdcharge battery mode (#31831)
  • 3a3d7ad36bf2a0c0f68eb19c86d294c74e941869 Phoenix EV-ETH: add millicurrentsupported option (#31860)
  • d68e5e58093613d3d2813572e96ee657bbf0ad8b Tariffs: add outdoor temperature type and OpenMeteo (#27780)
  • 023a48dd2483b9dd161689f7a47c8f21e4e87664 Templates: add capabilities on product level (#31588)
  • d495d3e44232424be27290a912fa2731dfde9b49 Tinkerforge WARP: add WARP4 support with vehicle SoC via ISO 15118 (#31446)
  • cc5ba51c3158128a15d7e2ed99daca12d60d8a70 Vehicle: add charge mode in arrival tab (#31330)
  • cc0b5acafbf139e3e5b428c998d755fb1efeb0ac askoheat: add aux meter template (#31683)
  • 3ce6600143c1dd028bff4c66a3af18247d0b7a7f feat: add xlsx export wherever csv export exists (#31690)

Other Changes ☀️

  • 6d2ed7d2aceffc45577b903245dc8d4c4724e488 Battery UI: history chart polish, axis consistency (#31661)
  • b1f35fbaa7c3979ce217230163f248e10d09bc76 Battery UI: show fully visible day as history window title (#31663)
  • 5120c8d94310a056b9b22ed92849db03ee335d39 Battery: optimizer suggestion state icons (#31748)
  • 69f817d78cf8042527725bbc817ee0987b213c34 Bender: extract Spelsberg Smart Pro (#30493)
  • 83a2b7de2363ec2fff1e07106857979518957a90 Circuit: apply HEMS consumption limit even without configured maxPower (#31751)
  • b900237a8b047ccb1fc427fe9de7f015b6e51359 Config UI: streamline loadpoint creation and unify wording (#31658)
  • 857a93f83ea1c610bf72fe390f712f311d58d244 Config: persist settings immediately on device delete (#31755)
  • 43627f66492d691be9aa00f2a874e3235416d1c6 Config: persist settings immediately on site update (#31754)
  • eed3aece143221c714bcd31c6bb0500939cdfca4 Config: show vehicle asleep state instead of value errors (#31859)
  • fc565af2b4310c7bfcb9ad0ff883f11d7fde8112 Daheimladen: check stationid
  • 7e3da98630b336b8cea8652f733ad9f66e0721cd Daheimladen: restore safe current limit after charger reset (#31729)
  • 469d659fe99f2cdf51983bcbe7d5cc5c814ddccf Drivesomethinggreater: update description (#31723)
  • df5dc0e74f1db4cb9ed5fa9cb66b73d17935941b EEBus: ignore IEC61851 default current limits, honor loadpoint minCurrent (#31737)
  • 333bdcb93181318f2cbe126bd50432ff4a36fad0 EEBus: skip flaky TestShipPairing in CI
  • 20c8c3b0d799ed0d068d4cebbd7b698a5dd4d2b7 EM24: drop kWh(-) export register, not available on all devices (#31736)
  • 276629732920a4cf17129c36475a6070a83a534e Energyflow: remove battery SoC forecast (#31611)
  • 668c163663ce210c89ae62771d3c6419d6ecdaff Epexprijzen-nl: added 'essent' and 'samenom' (#31699)
  • a95a5595aeead647b89e6d42b93f781f5d736007 Forecast: make solar adjustment a server-side setting (#31862)
  • ecb9cb05e243e740e546b9a29c16feb58b378350 IDM: remove thermal energy register (#31701)
  • 9ad5120c988d5c5745d6cde05862aef7ada612af Loadpoint: release priority PV reservation when car reached charge goal (#31759)
  • ba279718d2ffc1be60587139f383b703fe3931d9 Meter (Home Assistant): support return energy entity (#31857)
  • e7a49bc9388d3927cc565b53d98f98db8f64910b Metrics: fixed grid entity title, merge series of swapped grid meters (#31739)
  • c52b4a79ea11d6614885e14912819f7f93ee16fa OCPP: clear failed charge point registration on init error (#31652)
  • ab3220c47543d387a3c01d63e206da1be4c8693f Optimizer: derive per-device action suggestions from result (#30834)
  • 60af1de1e8176065661b2ffb05ae1f309976756d Planner: log the rate window and fallback triggers used for planning (#31621)
  • ac08a53e0e4cf81026744d07874e8ea60e90b657 Remote Access: user agent and status display fixes (#31667)
  • 9ab2be9b10dd93692dda7ad72986a86b42d863a7 Revert "Energy Flow UI: Chrome (Skia Graphite) rendering bug workaround" (#31623)
  • 4f71e9675cf096ca0ce45f6b7a8ce0849aa3e6ec Site: base solar forecast scale on produced energy (#31612)
  • 142c93a47b128c537b37cda5289e71c636a78ec8 Solarmax MAX.STORAGE: remove grid charging (#31589)
  • 8b243c2a2519c144ec81ee667b65366424bc13e7 Sponsor: remove Creem license key activation (#31824)
  • 09b0d9cb25b146934cd7e3ce5120d17f2422c2d0 Sponsor: trim pasted token in UI (#31841)
  • 7e564b058c7c6ac2c10318daf3216cf6e257ace2 SunSpec: curtailed false when limit is 100% (#31610)
  • 661af417a1005ca7120ead37e571651e1f5b7ab2 Tariffs: persist tariff values in 15min intervals (#31845)
  • 56bd94e7713774293089662e27348040e11f3b13 Tinkerforge WARP: correct capabilities per generation and variant (#31590)
  • 50e81a0726f1e2fd63f2f617f98b5006a9bb853d UI: darker dark mode, card layout, battery card polish (2) (#31593)
  • 9325ed4f9e95e7258abe5abe1202546a01379032 UI: update docs links to new notifications and external limit pages (#31628)
  • 75cb289a618fb9987e97c7a4e5906604131942c8 Zaptec: detect cable swap between vehicles via session identifier
  • 88b7621d90a9033b557f37816fafaaddb38fb07d Zaptec: propagate Enable errors other than 528 (#31803)
  • 00d6d9bc1dcc9e9b9ed3c7f44e550db60521609e fixes #31671 esphome dlms/slimmelezer-luxembourg: address sensors by name on firmware 2026.1+ (#31676)
  • 5b77c109c1779dda571a50c253d3bbf9eadc8bb8 octopus-it: drop unused ItAgreement.ID (GraphQL ID scalar is a string)
  • 8a42b0d74a294a6adb6a5479fb259804d2d6d99c open-meteo: use icon_seamless model (#31570)
  • fd88c8069b215edc228f3197f88d5931a003a1ee optimizer: flag suggestions actionable only when they change the current mode (#31693)
  • 04d4f4b0913b242c716c4858bebb4b891af68cd5 optimizer: only suggest actions for controllable batteries (#31715)
  • df437d536f52bb144c9f62d9a70f5dc452499490 plugin: cache http responses from devices that omit the Date header (#31675)
  • 623427e72841a80b892d47690a1c425029b4d898 plugin: watchdog must assume a reset write may have just happened after restart using defer (#31635)
  • c3f2b054ef3e9d6e3cdd34a5da03ee7240a505ba pv: reserve surplus for higher-priority loadpoints starting up (#31194) (#31684)
  • ad4324bb66db411fa697918d1f0008b28f79a9c9 sqlite: serialize access on a single connection (#30902)
  • 44bc075cd20c95e07ec550994476d97de95448c3 tariff: deprecate solarprognose tariff (service shut down) (#31770)

Bug Fixes 🐞

  • 68db0b7727901d8b89530b1c3c7f9a62b5d92762 Anker-solix-x1: fix energy scale (0.01 kWh/LSB) and revert PV changes (#31787)
  • 78e2ec9514b4921afb93b1e68444abfa4da8073a Config: fix loadpoint modal reusing previous charger on repeated add (#31614)
  • 226622893fa19801953db393170c1899f07f3892 EEBus: fix test cleanup regression breaking TestShipPairing (#31617)
  • 526d17ff4a74a02376a7c4c792bbd03ffa316ca6 Fix DoJSON error on empty-body 2xx response (#31801)
  • 0e62646cd8978dc316c3e3e9ecaa8f36d70b4341 Fix instantiating meters referenced only by circuits (#31788)
  • 4dc9775ea383a6cb61d6174b0003b95b3e4ae038 Fix vehicle mode reset on RFID re-identification of already-active vehicle (#31654)
  • 1074db922d5748c0b6b7510e047979938371ca2b Huawei SUN2000: fix curtailed false-positive at 100% feed-in limit (#31695)
  • 884956f3cf9e021f09258e3a0425a3ed7541c030 IBC HomeOne: fix battery SoC scale and grid meter word order (#31591)
  • 999bed78c5de5da79917d2b98fc1b357a82481a4 Loadpoint: fix coarse power-limited chargers never enable on fractional current (#31685)
  • bf4e6e8974116eb80a755e143ed8e70ce74c09a5 Loadpoint: fix minSoc config error on restart (#31819)
  • 8fe199dc268ebdec33f23377650a03bc0199e9f6 fix: prevent infeasible optimizer result from battery soc outside configured limits (#31821)
  • 5246b84f942a7916e7635442e51adf5a42afdbde meter/anker-solix-x1: fix wrong Total PV Generation register address (#31771)
  • 017d77d0be8511a5baab38d14902991a87b44e36 octopus-it: fix account query for Italy's Kraken schema (#31656)
  • 3a2711cc4f817ace3414e4455daea0f34e199388 optimizer: fix pause suggestion for idle-but-enabled loadpoints (#31792)
  • 48606017b41ecd0fb3e3126ecbe8afe614d6ebbf server: fix TestSessionHandlerTimezoneFilter on UTC CI runners (#31688)
0.311.1 Breaking risk
Breaking changes
  • Consumer meter config key 'meter' changed from plural to singular
Notable features
  • Add Octopus Energy Italy tariff support
  • Kostal Plenticore: add feed‑in curtailment (SunSpec model 123)
  • V2C Trydan: add 1p/3p charge mode switching
Full changelog

Changelog

Breaking Changes 🚨

  • 73841bad325e179ffb497fdfbb07bb4987261337 Site: consumer meter config key singular (BC) (#31573)

New Features 💫

  • de976b7aa2932a1a4e249e0f6612e9d13156fb61 Add Octopus Energy Italy tariff (#31505)
  • fe272afbff5e1bab5a2c37f2be8d31481c0eaa07 Kostal Plenticore: add feed-in curtailment (SunSpec model 123) (#31487)
  • 4fc0a131d9f0566d6eb99000d3828e8507f6d121 V2C Trydan: add 1p/3p charge mode switching (#31526)

Other Changes ☀️

  • 8e98389395949b0bdef5b61b5d99a8111b4ec590 EEBus OHPCF: react to consumption state events instead of polling (#31553)
  • feff7d8ae6162f42eeb0aa532e2cd877ecf3bea5 EEBus: update eebus-go/ship-go, drop ship-go fork (#31550)
  • 744b649b946b58008afaf5b1fd24601271e20185 Energy Flow UI: Chrome (Skia Graphite) rendering bug workaround (#31571)
  • 8a771d5fb3ca47cba35c851dcc22639d095cfca6 Solis Hybrid S: clear Allow Grid Charge bit in normal mode (#31554)
  • 5c7732ad31b8dc673c2320d5232415076d6c0fad Sunspec: let curtail fall back to model 123 (#31539)
  • 84bd0717ad9df3a27a7102d5fe1c794e07937b10 Tariff (energy-charts): document EUR-only pricing for non-EUR bidding zones (#31544)
  • 5e25ed4b0218d1577a9c68464bb4061a892223af UI: darker dark mode, card layout, battery card polish (#31515)

Bug Fixes 🐞

  • 7dc1aa34c167180fa0a11f0215b07b23609e6fae Config UI: fix product name mixup for multi-product templates (#31548)
  • 82a3f643a633824c7a364d4dd24a9d47584cb5a4 EEBus: fix GridGuard entity type removed from LPC/LPP (#31568)
  • 3e5183754c9067ac88599101f2fb7b1a37e841d0 EEBus: fix paired device not routed to consumer (flaky TestShipPairing) (#31560)
  • ab31938daaa474b62c4137c1cf5600886692d825 RCT: fix batteryhold grid-charging and BatteryNormal nil pointer panic (#31294)
  • 02c081d9a7c8aed85a825f16e71ef6d5fcbb90ce Solarmax MAX.STORAGE: fix max power default
  • 1a1a67971e1fff031bb5dc7eb7405338cf65bd8c deye-hybrid-3p: fix energy scaling for LV with firmware1098 (#31543)
Review required
0.311.0 Breaking risk
Breaking upgrade Auth RBAC

EEBus breaking + new features + bugfixes

No immediate action
0.310.1 Breaking risk

SOC/Temp metrics, deprecated flag, energy spike fix

Review required
0.310.0 Breaking risk
Auth Breaking upgrade

New meters, watchdog removal, bug fixes

Review required
0.309.2 Breaking risk
Auth Crypto / TLS Dependencies

Battery param break, holdcharge mode, Energyflow fixes

Review required
0.309.1 Mixed
Auth

OVUM MIRA + ioBroker + Template caveats

Review required
0.309.0 Breaking risk
Auth RBAC Breaking upgrade

Breaking changes + HoldCharge + OCPP

No immediate action
0.308.1 New feature

returnEnergy support + UI fixes

Review required
0.308.0 Breaking risk
Auth

drivesomethinggreater routing + new features

No immediate action
0.307.2 New feature

Neutral colors + OCPP skip + UI fix

No immediate action
0.307.1 Mixed

Genesis Bluelink + GoodWe Wallbox + Indevolt + bugfixes

0.307.0 Breaking risk
Breaking changes
  • Fritz: unit indexing changed to 1‑based (BC)
Notable features
  • Add Alpine vehicles
  • Add DSMR API v2 support for Ethernet P1 Dongle Pro+
  • Add MYR and TRY currencies
Full changelog

Changelog

Breaking Changes 🚨

  • 2b16c415bbb1a588638645a668e4c09be657dd7e Fritz: make unit 1-based (BC) (#29741)

New Features 💫

  • 9cc0da1a86e0d6b8d7633c811e67c45c4f5552e1 Add Alpine vehicles (#29927)
  • e48887e04b816107c9a74bfaeca7024c680e1706 Add Azimut Energy battery (#29890)
  • 726bea60760cff9889cb30341fc4561082f4dd4f Add DSMR API v2 support (Ethernet P1 Dongle Pro+) (#29871)
  • d17e72b89c697e4ce5fda2b41696eecdf3ff2272 Add DSMR API v2 support (Ethernet P1 Dongle Pro+) (#29892)
  • 68029759b1723e00a67beeee47f5adb35f55105e Add MYR (Malaysian Ringgit) to currency list (#29956)
  • 1e9bc6cd5d5a919ba7c447b06b4999953dd7948d Add Siemens 7KT1666 (#29801)
  • 76a54c6c7449d6b29e2a7f31c98040934002b7aa Add TRY (Turkish lira) to currency list (#29897)
  • 8886af10adabf9080dd5f16c5d9b64afc2fad8ff Add compleo pro (#29925)
  • ca386b72f23a0c243c7d51c2f37764c622355daa Add dim/curtail features (#29905)
  • 92072aac40d034c8a8ff9cd3274472df8fce84f9 DADAPOWER: add voltages (#29923)
  • 603979167cf0750140a82e230f6ee5ed89b34c12 Easee: add cmd for (de)activating local ocpp (#29868)
  • b1d5f576eaeb3c31e839ba5f6acec8613368eba2 Enphase: add voltages (#29795)
  • cae8a2cdd6472a137b70482ba989ef90350a82b9 Fritz Smart Energy 250: add pv
  • ef12393ffe1d09c32b86bc9d7c2d1a71d45e5860 Huawei SUN2000: add curtail (#28549)
  • 29a932ce21f77c8dc4cc8b1b1761f1b51c3d9dbd Huawei SUN2000: add curtail (#30039)
  • 3588040e710b6b6c74ddccd8510016ec7b259053 Ostrom: add sandbox support (#29751)
  • 1e40a2aa9dfbf7e2bec35eb33578f76b928106e0 Plugins: add bool2int conversion (#29995)
  • ce583cde3c0e0cb689856e542aa2ecce02d8b822 Plugins: add ifelse plugin (#29988)
  • 9badb4efb6d5d498edb01b1ad9ce15a141f46f74 Revert "Huawei SUN2000: add curtail (#28549)"
  • eb5fd6d50ca7a84523a7eb7f5d0c77e0d15ea250 Revert "Huawei SUN2000: add curtail (#30039)"
  • 57630514e520d2872989c09448bab838ab22fa42 Sessions/History UI: add left/right swipe gesture (#29944)
  • a2ce340210f9d13a6df39ab922d29ce21aed9f68 Solinteg: add phase powers and currents (#29749)
  • 908e6cf6f332f6dccf6876630bc96f414a62fdbd Tariff: add time-based grid fees (#29766)
  • 21eefccf1a1c7b7fa3d059cf077efd1712260c51 Vaillant: add brand support for Saunier Duval, Bulex, Glow-worm, DemirDöküm (#29874)
  • 468dfa69af88732ebc99275f0dc8f30bb18aab28 tariff/epexprijzen-nl: add powerpeers provider (#29829)

Other Changes ☀️

  • 37e565993624e6938f9abc36ba02e97a4af43ae6 Batteries: track energy metrics (#29780)
  • cbd253b579736e73f1f2eb16f6b97b702f9b0297 Battery Grid Charge: allow limit remove
  • c37ecd66ac9711ab043d909b4d3b565d7e498c72 Chart: sorted color picker (#30073)
  • 62ecd175a679db3a8b215010e2ac92cdcfd30744 Charts: color picker for loadpoints and consumers (#30021)
  • 4e42b54589532c501f1dded16344c200d5d61d8f Config UI: replace custom vehicle modal with generic flow (#29575)
  • 714c847e2e86ab3a12fbeae4d26ec616eee0adff Config: enforce required fields when forcing save past a failed test (#29982)
  • b76af6101d6d986b600c0908e564f29f70afd9cf Database: use backup and restore apis (#29511)
  • e7a27e5d5d07cc1390e539e5cc4df7fcf23e4617 Energyflow UI: use names instead of placeholders (#29918)
  • a74982acc5f96cfc5509d09c0f4ef50dee328f69 Ext/Aux meters: track energy metrics (#29836)
  • a628981d8dcb2b77a7e0e3fbac2ef6323baf18d3 History UI: improve tooltips, labels, stacks, units (#29917)
  • 65dd010227a9be05e855ee07d47360f9d1af47a3 History UI: optimize production chart (#29946)
  • 431b606230ade64d795a0de24348815aa88cd423 History UI: visualization and export (#29846)
  • 47132a4af2f9f157a468ced8762bff53137c5ebb Loadpoint: suppress PV disable timer while climater is active (#29837)
  • 177cb19d5d2e3e53fc06d3e8cc5640c72ddde2a1 Loadpoint: tolerate api.ErrNotAvailable on phase switch (#29975)
  • 1200fbc2f9f76e0685ff4c6b5ff4a29d97801bd6 Metrics: do not persist a partial first slot (#29977)
  • db82557423b8f4aae01d3e08bac04b217e0d0d7c Metrics: rename import/export to energy/returnEnergy (#29907)
  • 84d623ae127dcbd57380ed50416d3b8282cea738 OAuth: expose full upstream error (#29875)
  • be1dd8443d6f10a5d9cf2cc207f902d47d5f1e86 OCPP: clean up charge point lifecycle between subtests (#29873)
  • e07838bb8ea97b98238403aceeff022d6cc6a4ca OCPP: dispatch RemoteStartTransaction asynchronously to avoid WebSocket deadlock (#29838)
  • 960eb1153240d44ab5c710a332b6bcb9cd7662b1 Ocpp: fall back to confirmed profile limit for GetMaxCurrent (#29783)
  • 7e41160acfd26e013d2496187afae545d0fa3476 Optimizer: expose forecasted highest/lowest battery SOC (#29564)
  • 6b053bf77126c3d62fa289c45ad0dc6b032dca76 PV: track energy metrics and apply forecast scaling to optimizer (#29784)
  • 54e61745aa60ae5f6f742df62b8cc76fc670b8c4 Renault: update api keys (#30031)
  • 178cc7a694e9f7f082f2a2f84aa6f1b950a73144 Revert "Battery Grid Charge: allow limit remove"
  • d5e6253d35586d3f48c5c30366b67ca404ac2c61 Revert "api: split MeterEnergy into MeterImport and MeterExport (#29788)"
  • 13c24073b6de49c0631260036d8a248f0cf76fa3 Siemens 7KT1665: remove timeouts (#29800)
  • 5506053dd3686d8f8687c6241e73c0db308fa8a5 VW/Audi/Seat/Skoda: recover from marketing consent prompt (#29980)
  • fed967856f8eeb1820ca403bbfd28ba33700c116 Vehicle: accept lat/lon parkingposition keys for VW weconnect (#29981)
  • 7a5b1e756065138460a3e3f6ddd73aa585c20a9c api: split MeterEnergy into MeterImport and MeterExport (#29788)

Bug Fixes 🐞

  • c61e3faac99ce91adbdf834befd16aee0d5f9ece Battery: fix stale grid charge limit reset (#30013)
  • 8ac2f944ddd0fd0b8f3a44517d2d36ce021a15fc Cupra: fix connected status (#30046)
  • 48822fb1256b3f8c79ec4a1ed044da7e42b89b06 Cupra: fix vehicle list (#30047)
  • fe02f7fea0b03437229f28e47e8b4355fc022605 Evbox Elvi (OCPP): fix "charger out of sync" (#29809)
  • 207fa7984cd5d9aac1f3574b95703a1f94089ad7 Grid charge: fix 0 cost limit (#29817)
  • d08a07d826f450f8d4cfc68b52fecd98d316f078 History UI: fix timezone handling (#29819)
  • 41c169ee9a7f9eee8bb81d9aaf8662f01078b771 History: fix axis, scale and units (#30042)
  • d89c1018e8d4406567a247c6d099d21667a05bf8 History: fix scale for stack batteries (#30044)
  • 4bc9ba4ca57698892f42a191918262d343f75bdf Huawei EMMA: fix phase currents (#29845)
  • f41ad70ac418ae5dd2fc9503c2990a1ac72347e6 Loadpoint: fix charge meter method decoration (#29912)
  • 117276fb6b8b165dd76199653de44181b7d20218 Localization fix for german string (#29891)
  • 43860c1e0b4f634030a495d8c9d8ddfeac884f34 OCPP: fix flaky TestOcpp (restore wait() timeout) + speed up (#29941)
  • c5d9bccec2636eea0b8c5b4241d52848f8a09b2d Optimizer UI: fix line charts (#29936)
  • 394553c1982f1e00c0b2eaa21a91bcd885e7712f Xtherma: fix registers and add dimmer (#29854)
  • 1e8169683de6e88c56c1522b3e55a3c8690ab8ca fix: drag & drop stability (#29730)
  • 07b009391a00174beebc2513d08624e5ef517bed meter/hybrid: fix pv energy readings in SunSpec hybrid inverter templates (#29955)
0.306.3 Breaking risk
Breaking changes
  • Removed deprecated Wallbe support (BC).
  • Corrected "intervall" type in templates to the proper spelling and type.
Notable features
  • Added ZAR (South African Rand) currency.
  • Extended Siemens 7KT with additional voltage options.
Full changelog

Changelog

Breaking Changes 🚨

  • 1b26d77b6ca364214d2124c7a25720ca9be02b9c Revert "Templates: fix intervall type (BC) (#29698)"
  • 5a5c3d91db3dad42b9840bd7c5ad449db386a4b6 Templates: fix intervall type (BC) (#29698)
  • 3a99f7de642674d29ea7c5ecf7e4a404f38f1058 Wallbe: remove deprecated (BC) (#29647)

New Features 💫

  • 9d12605154ba30a7cfd0aedc8b1e146d331c8aa8 Add ZAR (South African Rand) to currency list (#29620)
  • cf5038cc89b8972ad9f86619f5703ea3318ca0ae Revert "Stiebel WPM: re-add power (#29627)"
  • 7303a5b476be7fa3da35807df899651f47b3d2f0 Siemens 7KT: add voltages (#29732)

Other Changes ☀️

  • d4d8109a63b9a20f476d3fc05e734c3be8ce718e Battery UI: 100% buffersoc resets bufferstart (#29669)
  • 20be86fec826670fcd512a37ade31dc104508aab Bluelink: convert evModeRange and odometer from miles to km when unit=3 (#29731)
  • 2a496683ca265e33d5fc3ee7aeeed4fda82a8839 EEBus: drop redundant Scenario middle word from constant names (#29704)
  • efe8ee75280db0c62f0b204ef133eb02d769fe06 Energyflow: show all loadpoints (#29677)
  • bd651da8ff44cf685bdd6536d795b4d5a8e7c045 HomeAssistant: dispatch CallSwitchService by entity domain (#29700) (#29706)
  • 1e614279ae389b2537f0eba1fe4a468e980968c6 Loadpoint UI: improve heatpump status (#29667)
  • fd80b7147586eedc473c92a896ca02cac5575f81 Make fatal banner dismissible (#29692)
  • 338e8b4a461f5e9b26d615d4921c3c23ae4938ad Session energy: latch baseline late if meter not ready at start (#29656)
  • d8730e1a606e4b999c213563d43c2a076784fd37 Sessions API: filter tz handling (#29676)
  • d81135700aa573f1e3b907750ea37615d2c7c8db Trydan: pause dynamic mode during charging (#28365)

Bug Fixes 🐞

  • 0d3bcfe8dd9252ab2db85c8f6829258ccee3cdeb Bluelink: fix unmarshal float EvModeRange.Value from Hyundai EU API (#29687)
  • 3b90182597a2a8c3956d375cbe49cbe627d04fb3 EEBus: fix LPC/LPP CS failsafe-exit path (#29705)
  • 4b276a4d9905459838dc946823baaf7f8ecb6243 EEBus: named scenario constants + fix MGCP scenario indices (#29701)
  • 2c149b908e5f38ee86de2305231df29a7b2fd365 Fix comment-only yaml in device config validation (#29673)
  • 7a24dbd3f7f39c0bd3b887003e8b48f3f685ba25 OCPP: fix flaky test deadlock between trigger handler and WS read loop (#29725)
  • 32f838403a35db1df9ceb24f7596885e17b4768a RCT: fix grid energy (#29688)
  • 9e2b9071612a76db64b7ec32e7b5eb68dc3f34d5 Revert "EVBox Elvi: fix template (#29652)"
  • 948b64675dadf91e751bdef3d9fbd177aeb0a3c0 Tessie: fix wakeup uri (#29726)
  • 42b5cb2b49dec6d2d2b1e330db3a16fa5be1a526 Yaml: fix decoding empty stream everywhere (#29690)
  • abe86f666aa75236d1436d8a4a0b4ccf3574adea infra: fix demo deploy
  • 1414d71e86b8afd13df2c0ab715a3d38ba19f925 sqlite: fix foreign_keys error (#29697)
0.306.1 Bug fix

Fixed sponsor machine ID panic on startup when a plant configuration is present.

Full changelog

Changelog

Other Changes ☀️

  • 96f5efd93cf312511236ca921cbba03e4c729dbb Drop unused eebus and mqtt requirement values (#29537)
  • 618314be276158edd4820bde91fd74b0aca1eada PSA: update base url

Bug Fixes 🐞

  • 516a6841bbc7ee8075332e49996ad0197d7ad4ab Sponsor: fix machine id panic on startup with plant config (#29542)
  • 93681522ab9567b8990b229ebfb3236d3509d24c fix: add testid for app menu button (#29539)
0.306.0 Breaking risk
Breaking changes
  • Altherma 4: template switch (BC)
  • Huawei: allow battery charging from PV while in hold mode (BC)
Full changelog

Changelog

Breaking Changes 🚨

  • e0c819a921a69b1479c09fb22defd573e881d3fc Altherma 4: switch template (BC)
  • 4d7fa86b55fbad9eb4c552b1b6a5f8888cee594e Huawei: allow battery charge from PV in hold mode (BC) (#25024)

New Features 💫

  • afaf409914db08ab578fac2e9ade52c90baa1ffa Add Afore hybrid inverter (#29197)
  • 873da67448a60f3378a83957757b3cdaaf0f9666 Add EVSE Master (Besen, Telestar, Morec, Sync chargers) (#28359)
  • 1c7cdeb87ad9d82bf5e2910055988a17d2812a62 Add Fingrid Co2 tariff (#29329)
  • aea44089ac4fd1427b113fd5fce5f2685411df49 Heating: add (limit)temp to custom charger (#29270)
  • 90fdd8ee6b3f8150a554feac257e330355f84a04 Navigation: add version update indicator (#29343)
  • 54a1b0cc0baba657a0672cc22f026b2ef12c474c Sessions UI: Add odometer (mileage) column in table view (#29263)
  • d37121efd99e7ce114eadb2c0b221824b1539e3a Tariff: add stroomprijsprognose.nl grid and co2 (#29320)
  • 289bcdb185c07a47ea96a53b048d3ea414ecb218 Templates: add duration funcs (#29368)
  • 07d2acdc5d8785273fd454da637c9a6b9d4b8b66 Tessie: add coarse current (#29442)
  • dad6cbb303e3e43478b2226a5d29fb07ba7b7d5c vzlogger: add energy uuid (#29492)

Other Changes ☀️

  • 4b10abf5fbcca07dd68e0ed0ff90979b90d32864 Config UI: allow custom device type override (#29340)
  • 35b033324b053a0cf36e8ea00878ed381c7e45fe Easee: reconcile session energy from charger meter at disconnect (#29350)
  • 9b8f29a6bd4f22c095d5b364da4c8e111da6a755 Ecoflow: use evcc HTTP client for logging (#29530)
  • 67588c2d660baf75d379030b80e10e40cc0a6b6d Em2go: improve connection robustness (#29351)
  • 63459e18e99a16eac473b49625425d820cd318d8 Forecast: temporarily remove adjustment (2) (#29260)
  • fa5137668abea36539caeed009365257efd9ded0 Fritz: provide AIN dropdown (#29529)
  • 087f9bb10ba4f1b123c2a8cc1258747f90928efc History UI: group data (#29303)
  • 2fb900c8eae7dc06482384a64d7c3dd30c4d2390 History UI: small fixes (#29138)
  • f20574ae48a90b64fe7ecca9228014f04a0ea454 Huawei: use correct maximum power (#29354)
  • 7753d888091d62b2de0b2ccbd88e071a512f82a8 Indicate cache hits in HTTP trace log (#29533)
  • 033d055d66c7c3d0b99c0a4412864ace78be9c63 Loadpoint UI: finer energy select (#29298)
  • 7d2f507f3a15647446a0270d406b680a222cce3c Log UI: sort the log area multiselect naturally (#29289)
  • b0126db57a3109827d5f2fb3d246d6ef3cc567c6 Navigation UI: make bottom nav standard (#29357)
  • 1d3a963dc82d3f8fd540daa147b7b8f4e71d90fb Nibe S-series: update docs (#29293)
  • 2d2c953039038b0de952d162d4f15d64f9d82689 OCPP: handle firmware management events (#29507)
  • 170226d6c67dcee04a63a866774d3900573ef54c Remote Access: 1y default expiry (#29404)
  • 1617f4ef544b767705b727f48af544f6c0b65cf0 Remove YAML-specific device template input hints (#29259)
  • f2f7ecf5cfdfbaa2a878995e8b29b881f2e79136 Revert "Cupra: treat "NotReadyForCharging" aus connected (#29030)"
  • b9e72b1278ee8aa8958a757569d832c2fbfff535 Sponsor: prepare for GitHub alternative (#29043)
  • 48f9c74e3b56f884b242b6bf89a43bd7d8036d20 Update HemsModal.vue with correct link to external control documentation (#29410)
  • 54ea5c645c9f4de5dc8dcf03b7608bd89286e8d8 epex-predictor: update regions (#29497)
  • 4bfc1ba6e9b95b6be6546bcdcf25e0c437e9d6ea myPV AC Thor: support extra heater on relay (#29266)
  • 3f19b6a6de7a91bfd8549521fec63642c95ddb77 refactor: use single modal instances for loadpoint (#29109)

Bug Fixes 🐞

  • e711ccaa862e94984b373743b5f6be7d77e5e74e Config UI: fix editing custom device with type override (#29379)
  • 36c5cc250eec33a20620879d4c02d4fe28a7d3a1 Easee: fix charging stop on scale down (#29464)
  • bd9f6901076a1c596e6c2a1c4b4f68cb0fe1f1ac Optimizer: fix panic in prorate
  • e3a6d96736d746dbf3afdab5688abb6a9cc1d0f6 Solax: fix grid energy scale (#29439)
  • 551e7ac0bd7921af9c43772ae0af847d5b7c11ed Stegen Smart EVSE: make charge mode configurable, fix status & keep-alive (#29290)
  • 0918c62b44ecb7f698a5ae946f04af247ce7779a Sungrow iHomeManager: fix voltage and per-phase active power decoding (#27985)
  • 004cb373965dc5ea85f3a01a386a9f2726d667c6 fix: reload website when version changes (#29299)
0.305.1 New feature
Notable features
  • Fritz smarthome REST API support (FritzOS 8.2+)
  • Domain knowledge documentation for AI agents
Full changelog

Changelog

New Features 💫

  • 2f106579e78e38c2f88e3c031c50dc942255bfaa Add Fritz smarthome REST API support (FritzOS 8.2+) (#29013)
  • c968d68947e71f6b2368ca75afbe4972e97ade09 Add domain knowledge docs for AI agents (#29228)

Other Changes ☀️

  • 6414d8add33b2f5d08e18797917ff69fdda37e95 Forecast: temporarily remove adjustment (#29244)
  • 4de7791abf6cdbaba17188dfcf8bf71beea29546 Optimizer: don't send empty requests
  • bb93ebf98bcff1b197ff3cb467746a3ac9c85483 Optimizer: wording on debug view (#29179)
  • a0989c18b4001220abdd528c7d68ed2a9bf16129 Reapply "Config UI: better explain optimizer (#29141)"
  • f474245bd9b8b0c6a9cbc12b419ab365a28b4fd5 Revert "Config UI: better explain optimizer (#29141)"
  • b751090b03828aa2ca346820e0b5684e68d0b7bd Solarprognose: deprecate forecast_days (#29249)

Bug Fixes 🐞

  • 9138ef81f6c80dccba4b4ab2e952cfcbcabb2ae9 Fix metrics table migration (#29250)
0.304.2 New feature
Notable features
  • Added Askoma ASKOHEAT+ support
  • Added Lektrico charger support
  • Added MTEC heat pump support
0.304.1 Mixed
⚠ Upgrade required
  • Optimizer is now enabled by default
Breaking changes
  • Deye-hybrid-3p: merged LV and HV templates
Notable features
  • Added GhostEEBus charger support
  • Added Lexus vehicle support
  • Added switch devices and DaheimLaden firmware update handling
0.304.0 Breaking risk
Breaking changes
  • Goodwe Wifi DT series support via aa55 pseudo-modbus
  • Decorator registry replacement
  • Vaillant multi-country support
Notable features
  • EcoFlow Stream integration
  • Teslamate energy/climate/GPS features
  • Tessie charged energy and position
0.303.2 New feature
Notable features
  • IoTaWatt meter support
  • EpexPredictor hourly averaging
0.303.1 Bug fix

Fixed HomeAssistant changelog processing, optimizer battery capacity miscalculation, and SGReady panic crash.

0.303.0 New feature
Breaking changes
  • HEMS production/feedin limits refactored
  • Optimizer migrated with new API
Notable features
  • RAEDIAN NEO and NEX chargers
  • Audi vehicle features
  • Heating continuous mode
0.302.0 New feature
Breaking changes
  • Removed invalid grid usage for Zendure Solarflow 800 Pro
Notable features
  • HomeAssistant notification plugin
  • Tesla climater and location features
  • Grid import limit optimizer
0.301.2 New feature
Breaking changes
  • MQTT phasesConfigured topic corrected
Notable features
  • Daikin Altherma 4
  • Mennekes Amtron OCPP
  • Mitsubishi Outlander PHEV
0.301.0 Breaking risk
Breaking changes
  • Messengers now configurable
  • Experimental flag persisted
  • Tinkerforge WARP WebSocket API changed
Notable features
  • E.G.O. Smart Heater
  • EpexPredictor forecast
  • Location service
0.300.6 Breaking risk
Breaking changes
  • Bosch battery params changed
  • Green Grid Compass API upgraded
  • SMA battery params changed
Notable features
  • Atmoce MG100 devices
  • epexprijzen.nl tariff
  • Solax currents/voltages
0.300.5 New feature
Breaking changes
  • Config UI now validates host parameters
  • Sungrow Hybrid uses configured discharge power
Notable features
  • Voltie charger (Modbus TCP)
  • Tesla BLE caching
  • Zaptec mA regulation and phase switching
0.300.4 New feature
Breaking changes
  • HomeAssistant unit detection changed
  • Removed unmaintained allinone/linked templates
  • Removed configure CLI command
Notable features
  • ADA P1 meter
  • ChargeX charger
  • Pstryk.pl tariff and meter
0.300.3 New feature
Notable features
  • MBMD battery capabilities
  • RCT curtailment API
  • 2024 CO2 data for Belgium

Beta — feedback welcome: [email protected]