diff --git a/internal/web/ui.go b/internal/web/ui.go index 5205fd9..4e85412 100644 --- a/internal/web/ui.go +++ b/internal/web/ui.go @@ -2726,12 +2726,26 @@ func (u *UI) apiAlarmExport(w http.ResponseWriter, r *http.Request) { for _, a := range records { devName := a.DeviceID devIP := "" + sourceName := a.Channel if dev, ok := deviceMap[a.DeviceID]; ok { devName = dev.DisplayName() devIP = dev.IP } + // Resolve channel to video source name + if u.preview != nil { + if assignment, err := u.preview.GetDeviceAssignment(a.DeviceID); err == nil && assignment != nil { + for _, ref := range assignment.RecognitionUnits { + if unit, err := u.preview.GetRecognitionUnit(ref); err == nil && unit != nil { + if unit.Name == a.Channel && unit.VideoSourceRef != "" { + sourceName = unit.VideoSourceRef + break + } + } + } + } + } fmt.Fprintf(w, "%s,%s,%s,%s,%s,%s,%s\n", - escapeCSV(devName), escapeCSV(devIP), escapeCSV(a.Channel), + escapeCSV(devName), escapeCSV(devIP), escapeCSV(sourceName), escapeCSV(alarmRuleLabel(a.RuleName)), escapeCSV(a.ObjectLabel), escapeCSV(alarmStatusLabel(a.Status)), escapeCSV(a.Timestamp)) } diff --git a/safesightd-linux-arm64 b/safesightd-linux-arm64 index 54cb532..43a2e27 100644 Binary files a/safesightd-linux-arm64 and b/safesightd-linux-arm64 differ