Skip to content

Sunsynk/Deye Freeze Export fixes

Latest

Choose a tag to compare

@springfall2008 springfall2008 released this 20 Aug 13:30
· 12 commits to main since this release
9012dd9

What's Changed

Sunsynk and Deye cloud

Freeze Export was a silent no-op on both Sunsynk and Deye. Predbat signals it by turning the forced-export window off and zeroing the charge rate, but that rate maps to a per-window control that a disabled window never reads — so the inverter was left in ordinary self-use and surplus solar charged the battery instead of being exported. The freeze state meant to catch this was unreachable, and would have written Predbat's internal "99" freeze marker as a battery SoC target, telling the inverter to drive the battery to 99%.

A freeze export now writes Selling First with the per-slot Sell flag on, a zero sell rate and the cap at the reserve — verified against live hardware, including the controlled pair that identifies the slot rate as the sell-rate cap (at full rate the battery drained to the grid at up to 4.7 kW; at zero it held while surplus solar still exported).

  • fix(sunsynk): make Freeze Export actually reach the inverter
  • fix(deye): apply the same fix to the same registers
  • docs(sunsynk,deye): correct what a zero slot rate actually does
  • Resolves the Sunsynk grid_power sign verification — no behaviour change, now pinned to a live sample and a regression test

Both components' freeze charge behaviour is unchanged.

Note for Deye users: the Deye half is applied on register parity with Sunsynk (both clouds drive the same Deye registers) but has not itself been confirmed against live Deye hardware. If your Deye battery exports during a Freeze Export slot, please raise an issue.

Full Changelog: v8.49.1...v8.49.2