Will investigate when I am back from my vacation.
Proost, have a Nice holliday
@Jeroen_Tebbens Enjoy your vacation.![]()
@micke_011 thank you for your donation ![]()
Latest Updates (v3.15.37) test/beta
Battery Policy β PV Forecast & Learning
- Yield-factor normalisation (v1 + v2) β Yield factors learned while
radiation_bias_factor > 1.5was active were systematically under-calibrated (biased radiation as baseline). One-time reset so they re-learn against unbiased radiation. v2 also resets the bias factor itself, which had been artificially inflated to the cap by the miscalibrated yield factors - (optional) Solcast moved to
_updateWeatherβ Solcast forecast is now fetched on every weather update (including when policy is disabled), keeping the PV chart current at all times. If you have no Solcast API key it will stick to Open Meteo without adjustments. - Intraday PV scaling tuned β Lower learning weights for intraday correction; prevents overreaction to temporary deviations early in the day
- Cycle recorded on dischargeβcharge transition β Battery cycles are now also recorded when SoC never reaches 0% (typical on PV-heavy days): trigger is the transition from discharging to charging once β₯ 0.3 kWh has been discharged
Battery Policy β Battery Mode Camera
- Predictive modes visible in camera β In predictive mode (Homewizard Slim Laden active) modes were not recorded because the policy does not run. The slot interval now also records mode + SoC when policy is disabled, so switches between predictive_charge, predictive_discharge, predictive_zero and predictive_standby become visible in the Battery Modes webcam
Memory & Stability
- Startup crash fix (v3.15.35) β
homey.settings.setallocates ~30 MB V8 heap per call regardless of payload size. With multiple devices initialising concurrently, heap peaked at 70+ MB β Memory Warning. All drivers now use a serialised write queue (8 s between writes). Rebuildable UI state (planning, explainability, weather) lives in_liveStatein memory and is served viaapi.jsβ never written tohomey.settings - Settings page live-state β
Homey.geton the settings page now automatically merges in-memory live-state via a GET/getLiveStateAPI call. Existing render code requires no changes - SDM230_v2 / SDM630_v2 polling spread (v3.15.36) β When multiple SDM devices are present, the first poll is spread across the polling interval to avoid simultaneous HTTP requests
- Initial weather and policy deferred β Weather fetch deferred to T+30 s, first policy check to T+45 s after startup. Prevents a cumulative heap peak of 70+ MB during the onInit cascade on setups with many devices
- Device-type counter in memory log β
[MEM]log line now shows instance counts per driver type (energy_v2=2 plugin_battery=1 β¦) to speed up triage of crashes from users with different device configuration - Heatlink fix β User reported issue heatlink not properly detecting target temperature changes (due to long polling interval)
Latest Updates (v3.15.38) test / beta
Battery Cycle Tracking
- Cycle accumulators survive restarts β
_cycleKwhDischarged,_cycleRevenueand_cycleCostare now persisted to device store (alongside_costEnergy/_costAvg). Previously a restart during an active discharge silently reset all accumulators to zero, causing the evening discharge to be missing from cycle history and ROI tracking - RTE learning cycle fix β Balance guard lowered from 1.45 β 1.40. The old threshold (1.45) meant the minimum measurable RTE at guard-passage was 1/1.45 = 68.9%, just below the 70% floor β so every measurement that barely passed the guard was immediately discarded. With 1.40 the minimum is 71.4%, ensuring a valid measurement every time the guard passes
Battery Policy
- Negative price β always charge to full β When spot price is negative, the mapper now returns
to_fullregardless of PV state. Charging at negative prices earns money, so PV-mode guards (zero_charge_only,pvStoreWins) are bypassed
UI
- Learning status always current β
learning_statusis now written on every_updateWeathercall (hourly), not only when the optimizer runs. Previously, with policy disabled or in predictive mode, the Leerdagen/coverage/PV-accuracy pills in the settings UI would show stale values
41cca1ef-9cf1-4569-bb4c-6c0893c8ebc0
If I change my heatlink temperature automatically or manually, it will be adjusted first and then reset back to the old temperature. And then he goes to the fixed value.
Use test version. Heatlink fix has been added there.
Hey Jeroen, quick questionβI canβt figure out how to change the P1 meter to the 3-phase meter data in the battery policy. Which repair tool should I be using for this?
No support added for 3 phase. Not sure even why it needs 3 phase as battery policy should act on overall self usage and if that is 1 or 3 phases that doesnβt matter. The battery policy looks at grid usage and batteries and your solar.
Installed the test version.
Tested it and for now it is working.
Thanks.
Yes am aware, yet HW plugin battery is mostly dutch users at this moment. But Iβll put it on my to do list.
Hi Jeroen, as of yesterday the Battery app remains in stand-by although there is a large export to the grid.
=== HomeWizard Battery Policy β Support Info ===
Tijdstip: 2026-04-30T08:39:17.054Z
-β Batterij β
Aantal: 3 Capaciteit: 8.06 kWh
Max laad: 2400W Max ontlaad: 800W
SoC nu: 9% Modus nu: standby
-β PV β
Capaciteit: 6500W Geleerde slots: 56/96
PR instelling: 0.75 PV actief: true
-β Instellingen β
Beleidsmodus: balanced-dynamic Tarieftype: dynamic
Strict min/max: true
Max laadprijs: β¬0.120 Min ontlaadprijs: β¬0.160
Min SoC: 0% Max SoC: 100%
EfficiΓ«ntie: 0.78 Cycluskosten: β¬0.075/kWh
-β Laatste policy run (v3.15.52) β
Tijdstip: 2026-04-30T08:36:58.369Z
Prijs: β¬0.133 SoC: 9% Huidig verbruik: 0W
Scores: laden=0 ontladen=0 behoud=0
Beslissing: standby β standby
Break-even: β¬0.000 Gem. kostprijs: β¬-0.024
Optimizer: standby
Prijsrange 12h: β¬0.088 β β¬0.355
Yes there is a bug in the test version that blocks the planning. Where it should either charge or discharge but it doesnt. I also have another user facing same issues.
I am currently a bit blocked fixing as I am part of the closed beta for Homewizard SlimLaden so my battery and P1 set up is not controlled by the code so hard troubleshooting/fix the problem.
For now turn the battery policy off and make it zero or perhaps you have your own flows to put the battery in your desired state. When I got the fix done I will communicate.
Will do, Thanks and succes with testing.

