Release history
evcc releases
solar charging ☀
All releases
38 shown
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
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.0
Breaking risk
Auth
RBAC
Breaking upgrade
Breaking changes + HoldCharge + OCPP
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.3
Bug fix
Notable features
- Added stromleser.one energy provider integration
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.7
New feature
Notable features
- CKW dynamic tariff
- Xtherma heatpump
- EKZ VAT support
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