Config: persist settings immediately on device delete (#31755)

This commit is contained in:
Michael Geers 2026-07-13 14:11:38 +02:00 • committed by GitHub
parent 43627f6649
commit 857a93f83e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -621,6 +621,7 @@ func deleteDeviceHandler(site site.API) func(w http.ResponseWriter, r *http.Requ
{site.GetBatteryMeterRefs, site.SetBatteryMeterRefs},
{site.GetAuxMeterRefs, site.SetAuxMeterRefs},
{site.GetExtMeterRefs, site.SetExtMeterRefs},
{site.GetConsumerMeterRefs, site.SetConsumerMeterRefs},
} {
cleanupSiteMeterRef(name, fun.get, fun.set)
}
@ -680,6 +681,12 @@ func deleteDeviceHandler(site site.API) func(w http.ResponseWriter, r *http.Requ
site.Publish(keys.Hems, HemsStatus(false))
}
// persist immediately to keep cleaned-up refs consistent with device config on unclean shutdown
if err := settings.Persist(); err != nil {
jsonError(w, http.StatusInternalServerError, err)
return
}
res := struct {
ID int `json:"id"`
}{