Skip to content

Feature: Expose Spoolman IDs via HA data bridge macro for Home Assistant tracking#482

Open
BigMcRat wants to merge 21 commits into
paxx12-snapmaker-u1:developfrom
BigMcRat:feature-afc-spoolman-ha-data
Open

Feature: Expose Spoolman IDs via HA data bridge macro for Home Assistant tracking#482
BigMcRat wants to merge 21 commits into
paxx12-snapmaker-u1:developfrom
BigMcRat:feature-afc-spoolman-ha-data

Conversation

@BigMcRat

Copy link
Copy Markdown

Since the switch to AFC-Lite, Spoolman IDs are no longer tracked natively via Spoolman Integration toolhead variables, leaving Home Assistant blind to active spool IDs per Extruder.
This PR introduces a dedicated [gcode_macro HA_SPOOL_ID_PER_EXTRUDER_DATA] block inside afc.cfg to act as a clean data bridge. Moonraker automatically exposes these variables to Home Assistant, allowing users to map active Spoolman IDs per Extruder right alongside their filament sensors from Spoolman. Fully standalone, clean, and tested.

paxx12 and others added 21 commits May 19, 2026 18:00
… RFID cards

- Move filament config methods from AFC_lane to AFC_lane_spoolman
- Auto-detect RFID cards and bind to Spoolman spools via lot_nr field
- Support comma-delimited card_uid values in lot_nr (card_uid:XXX,card_uid:YYY)
- Add SET_SPOOL_ID and REFRESH_SPOOL gcode commands per lane
- Implement webhook callbacks for Spoolman proxy integration
- Remove card_uid from other spools when binding to new spool
- Update afc-lite.md with comprehensive Spoolman auto-binding documentation
- Document RFID card detection flow and lot_nr format
- Add gcode commands reference (SET_SPOOL_ID, REFRESH_SPOOL)
- Add respond_info notifications for card binding/unbinding actions
- Update limitations section to reflect now-supported features
- Add automatic card_uid removal from spoolman when unbinding via SPOOL_ID=0
- Add unbind_spool_callback webhook endpoint for unbinding flow
- Add gcode.respond_info notifications for bind/unbind actions
- Add notification when RFID card is missing but spoolman is available
- Fix SPOOL_ID parsing to handle empty string values
Adds `24_settings_tweaks_spoolman.yaml` to enable/disable Spoolman via
firmware-config, prompting for the server URL on enable and validating
it is a reachable Spoolman instance before writing the moonraker config.

Extends firmware-config to support `inputs` on settings options: each
entry defines a named form field (label, placeholder, regex) rendered in
the confirm modal, validated client-side, and injected as named env vars
into the option `cmd`.
@benk016

benk016 commented Jun 6, 2026

Copy link
Copy Markdown

I've been trying to accomplish this same thing by manually managing the location tag of the spools with the spoolman integration. This would be awesome to have!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants