## Summary
Add printer tracking with parts inventory, maintenance history, spool assignments, and per-printer filament parameters.
## Upstream Issues
- https://github.com/Donkie/Spoolman/issues/550 - Show printer name near spool
- https://github.com/Donkie/Spoolman/issues/573 - Printer-specific process parameters
## Problem
Users with multiple printers want to:
- See which printer is using which spool
- Track printer parts (nozzles, beds, etc.)
- Record maintenance and purchases
- Store printer-specific settings per filament (PA, flow, z-offset)
## Proposed Features
### 1. Printer Registry
- Add/edit/delete printers
- Fields: name, model, manufacturer, purchase date, notes
- Photo/image upload
- Serial number, firmware version
- Nozzle diameter(s)
### 2. Spool-to-Printer Assignment
- Assign active spool(s) to printer
- Show printer name in spool list
- Show active spools on printer detail page
- Support multi-material (MMU/AMS) - multiple spools per printer
### 3. Parts Inventory
- Track parts per printer:
- Nozzles (size, material, brand)
- Build plates/beds
- Hotends
- Extruders
- Belts, fans, etc.
- Fields: part type, name, purchase date, install date, notes
- Track spare parts vs installed
### 4. Maintenance Log
- Record maintenance events per printer
- Types: nozzle change, bed leveling, lubrication, firmware update, repairs
- Date, description, parts used
- Maintenance reminders/schedules
### 5. Per-Printer Filament Parameters
- Store calibration data: Filament X on Printer Y = settings Z
- Parameters:
- Pressure Advance
- Flow rate / Extrusion multiplier
- Temperature offset
- Z-offset
- Retraction settings
- Auto-retrieve via slicer integration (future)
### 6. Usage Statistics
- Total filament used per printer
- Print hours (if integrated with Klipper/Moonraker)
- Parts lifespan tracking
## Data Model
```python
class Printer(Base):
id: int
name: str
model: str
manufacturer: str
purchase_date: date
notes: str
image_url: str
class PrinterPart(Base):
id: int
printer_id: int
part_type: str
name: str
purchase_date: date
install_date: date
is_installed: bool
notes: str
class PrinterFilamentSettings(Base):
id: int
printer_id: int
filament_id: int
nozzle_diameter: float
pressure_advance: float
flow_rate: float
temp_offset: int
z_offset: float
notes: str
class MaintenanceLog(Base):
id: int
printer_id: int
date: datetime
type: str
description: str
```
## UI
- New "Printers" section in nav
- Printer list with cards showing active spools
- Printer detail page with parts, maintenance, filament settings tabs
- Spool list shows printer column (optional)
- Filament page shows per-printer calibration data
## Related
- #24 NFC/RFID - MMU/AMS slot tracking
- #9 Locations - printers could be locations
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add printer tracking with parts inventory, maintenance history, spool assignments, and per-printer filament parameters.
Upstream Issues
Problem
Users with multiple printers want to:
Proposed Features
1. Printer Registry
2. Spool-to-Printer Assignment
3. Parts Inventory
4. Maintenance Log
5. Per-Printer Filament Parameters
6. Usage Statistics
Data Model
UI
Related