fix: restore battery settings when battery is removed (#27256)

This commit is contained in:
Michael Geers 2026-02-06 13:17:17 +01:00 • committed by GitHub
parent d5df743d8a
commit 03e641ea80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -303,23 +303,22 @@ func (site *Site) restoreSettings() error {
return nil
}
if v, err := settings.Float(keys.BufferSoc); err == nil {
if err := site.SetBufferSoc(v); err != nil {
if err := site.SetBufferSoc(v); err != nil && !errors.Is(err, ErrBatteryNotConfigured) {
return err
}
}
if v, err := settings.Float(keys.BufferStartSoc); err == nil {
if err := site.SetBufferStartSoc(v); err != nil {
if err := site.SetBufferStartSoc(v); err != nil && !errors.Is(err, ErrBatteryNotConfigured) {
return err
}
}
// TODO migrate from YAML
if v, err := settings.Float(keys.PrioritySoc); err == nil {
if err := site.SetPrioritySoc(v); err != nil {
if err := site.SetPrioritySoc(v); err != nil && !errors.Is(err, ErrBatteryNotConfigured) {
return err
}
}
if v, err := settings.Bool(keys.BatteryDischargeControl); err == nil {
if err := site.SetBatteryDischargeControl(v); err != nil {
if err := site.SetBatteryDischargeControl(v); err != nil && !errors.Is(err, ErrBatteryControlNotAvailable) {
return err
}
}
@ -329,7 +328,7 @@ func (site *Site) restoreSettings() error {
}
}
if v, err := settings.Float(keys.BatteryGridChargeLimit); err == nil {
if err := site.SetBatteryGridChargeLimit(&v); err != nil {
if err := site.SetBatteryGridChargeLimit(&v); err != nil && !errors.Is(err, ErrBatteryControlNotAvailable) {
return err
}
}