After a few weeks of building and testing against my own P1S setup, I’m releasing FilamentIQ as an open source AppDaemon app.
The problem it solves
If you use a Bambu printer with multiple AMS units and Spoolman, keeping spool weights accurate is tedious. Filament gets consumed, spools get swapped, RFID tags don’t always report reliably — and Spoolman falls out of sync.
FilamentIQ automates all of it.
How it works
Five AppDaemon apps work together:
- ams_print_usage_sync — after each print, calculates how much filament each spool consumed and writes it to Spoolman
- ams_rfid_reconcile — maintains spool identity across all AMS slots using RFID tags and color/material fingerprints
- ams_rfid_guard — policy enforcement, detects and flags identity violations
- filament_weight_tracker — periodic weight snapshots for drift detection
- spoolman_dropdown_sync — keeps HA input_selects in sync with your Spoolman library
Consumption allocation (the interesting part)
FilamentIQ uses a three-tier cascade to allocate consumption as accurately as possible:
- 3MF file parsing — FTPs into the printer post-print, extracts per-filament
used_gdirectly from the slicer output - RFID fuel gauge delta — uses start/end weight snapshots from Bambu RFID tray sensors
- Time-weighted estimation — splits total consumption by tray active duration as a final fallback
Requirements
- Home Assistant with ha-bambulab integration
- AppDaemon addon
- Spoolman
- Bambu Lab printer with AMS
Installation
Available as a HACS custom repository:
Category: AppDaemon
### Links
- GitHub: https://github.com/jdempsey77/filament-iq
- Full docs included in the repo (architecture, configuration reference, troubleshooting, dashboard setup)
Feedback and PRs very welcome — this is working well on my setup but I'd love to know how it holds up on others.