Skip to content

Feature request: per-write SKU override for Spoolman integration #9

@Idskov

Description

@Idskov

First off, great app. It has already made it much easier to manage my stack of Sunlu spools with my ACE Pro on a Kobra S1 running vanilla Klipper (tunneled). Thanks for building and maintaining it.

Use case

I'm using it together with Spoolman to track filament inventory. Spoolman looks up spools by SKU, and each physical spool needs a unique identifier (I use the Spoolman spool ID as the SKU).

Current workflow

To write a unique SKU to each tag, I have to create a new FilamentProfile for every single spool, even when the brand, material, color, and temperatures are identical. Over a year of printing that adds up to dozens of near-duplicate profiles that clutter the picker and only differ by one string.

Proposed solution

A "SKU override" text field in the write flow, placed next to where the color is set in SpoolConfigCard. When non-empty, it overrides profile.sku for that single write without mutating the stored profile. When empty, behavior is unchanged.

Implementation notes

Poked around the code a bit and it looks like it should be small:

  • FilamentProfile.sku is already a first-class field, and RFIDTagData.toBytes() writes it directly (no payload or byte-layout changes needed)
  • Add a @State var skuOverride: String in ContentView and a TextField in SpoolConfigCard
  • At write time, if !skuOverride.isEmpty, build a temporary copy of the profile with the overridden SKU before calling toBytes()

No datamodel migration, no persistence changes.

Happy to submit a PR if you prefer that over doing it yourself. Just wanted to check interest, and confirm that the UX (extra field in the write card) matches how you'd want it exposed, before I start.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions