Show Spoolman fill level for AMS Lite and external spools (#293)

AMS Lite units (A1 series) have no weight sensor and always report 0%
fill level. When a spool is linked to Spoolman with weight data, use
Spoolman's remaining weight as a fallback. External spools also show
fill level from Spoolman data instead of always showing unknown.

Backend: Enrich GET /spoolman/spools/linked response with
remaining_weight and filament_weight alongside spool ID.

Frontend: Add getSpoolmanFillLevel() helper. Update regular AMS, HT
AMS, and external spool fill computations to use Spoolman fallback
when AMS reports 0%. Show "(Spoolman)" indicator in hover card when
fill data comes from Spoolman.
This commit is contained in:
maziggy
2026-02-08 08:47:18 +01:00
parent e073e494c7
commit 9cbd66593e
16 changed files with 819 additions and 439 deletions
+7 -1
View File
@@ -1622,8 +1622,14 @@ export interface UnlinkedSpool {
location: string | null;
}
export interface LinkedSpoolInfo {
id: number;
remaining_weight: number | null;
filament_weight: number | null;
}
export interface LinkedSpoolsMap {
linked: Record<string, number>; // tag (uppercase) -> spool_id
linked: Record<string, LinkedSpoolInfo>; // tag (uppercase) -> spool info
}
// Update types