This release includes 2 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+8 more
ReleasePort's take
Moderate signalReleaseβ―0.312.0 removes the atoom alliantie (BC) and makes curtail optional for modelβ―123/704, while deprecating the solarprognose tariff. Several bugβfixes and new features are also included.
Why it matters: Breaking changes affect Epexprijzen-nl and SunSpec integrations; deprecation of solarprognose tariff triggers service shutdown. Operators must review configurations before upgrade.
Summary
AI summaryUpdates Other Changes βοΈ, New Features π«, and Bug Fixes π across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | High |
remove atoom alliantie (BC) remove atoom alliantie (BC) Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Breaking | High |
make curtail (model 123/704) optional (BC) make curtail (model 123/704) optional (BC) Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Feature | Medium |
Add Voltcast tariff Add Voltcast tariff Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Feature | Medium |
Add pvnode Solar Forecast API V2 Add pvnode Solar Forecast API V2 Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Feature | Medium |
Add Anker SOLIX Solarbank Max AC Add Anker SOLIX Solarbank Max AC Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Feature | Medium |
Add Solplanet AIβDongle LAN (local HTTP API) Add Solplanet AIβDongle LAN (local HTTP API) Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Deprecation | Medium |
deprecate solarprognose tariff (service shut down) deprecate solarprognose tariff (service shut down) Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Bugfix | Medium |
Fix DoJSON error on empty-body 2xx response Fix DoJSON error on empty-body 2xx response Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Bugfix | Medium |
Fix vehicle mode reset on RFID re-identification of already-active vehicle Fix vehicle mode reset on RFID re-identification of already-active vehicle Source: llm_adapter@2026-07-17 Confidence: high |
β |
| Bugfix | Medium |
Fix Ankerβsolixβx1 energy scale (0.01β―kWh/LSB) and revert PV changes Fix Ankerβsolixβx1 energy scale (0.01β―kWh/LSB) and revert PV changes Source: llm_adapter@2026-07-17 Confidence: high |
β |
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)
Breaking Changes
- Removed Epexprijzenβnl atoom alliance (BC)
- Made SunSpec modelΒ 123/704 curtail optional (BC)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v0.312.1 Home Assistant: add plugin source, support temp for heating switch devices
- v0.309.0 Refactors dim/curtail handling, splits hems and circuit (BC)
- v0.309.0 Adds long-lived API key (BC)
- v0.308.0 Route VW/Audi vehicles through drivesomethinggreater service.
- v0.307.2 Migrates VW/Audi token endpoint to /auth/v1/idk/oidc/token.
Beta — feedback welcome: [email protected]