From 857a93f83ea1c610bf72fe390f712f311d58d244 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Mon, 13 Jul 2026 14:11:38 +0200 Subject: [PATCH] Config: persist settings immediately on device delete (#31755) --- server/http_config_device_handler.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/http_config_device_handler.go b/server/http_config_device_handler.go index f370245e0..e81fdf3a6 100644 --- a/server/http_config_device_handler.go +++ b/server/http_config_device_handler.go @@ -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"` }{