mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 05:35:30 +02:00
[GH-ISSUE #707] [Bug]: AMS-HT slots incorrectly reported as "External Spool" in Spoolman location #471
Labels
No labels
A1
automated
automated
bug
bug
Closed due to inactivity
contrib
dependencies
dependencies
duplicate
enhancement
feedback
hold
invalid
Notes
P1S
pull-request
security
security
ThumbsUp
user-report
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/bambuddy#471
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @motioneso on GitHub (Mar 14, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/707
Originally assigned to: @shrunbr on GitHub.
Bug Description
When a printer has an AMS-HT unit, Bambuddy incorrectly sets the Spoolman spool location to "[Printer] - External Spool" instead of "[Printer] - AMS HT-A1" (or similar). This also causes Spoolman to either auto-create a new, but incorrect,"External Spool" location entry or place it into the existing External Spool location.
I believe the root cause is in how the AMS IDs are handled for IDs over 128 in the Spoolman services file, specifically at the "convert_ams_slot_to_location()" method.
Expected Behavior
If syncing to Spoolman, the filament should be correctly placed in the AMS Location (for me, P2S - AMS-HT A1) and not in a P2S - External Spool
Steps to Reproduce
Printer Model
P2S
Bambuddy Version
v0.2.2b4
Printer Firmware Version
01.01.03.00
Installation Method
Docker
Operating System
Linux (Ubuntu/Debian)
Relevant Logs / Support Package
No response
Screenshots
No response
Additional Context
I had Claude take a look for fun, here is what it suggested that fixed the issue:
def convert_ams_slot_to_location(self, ams_id: int, tray_id: int) -> str:
if ams_id >= 254:
# True external spool slot (254 = Ext-L, 255 = Ext-R)
return "External Spool"
Checklist
@shrunbr commented on GitHub (Mar 15, 2026):
This can be assigned to me, working on the fix.
@motioneso - Thank you for the report. I've been doing a lot of work on the Spoolman integration recently, I don't have an AMS-HT unit so this is good to know. I did find some information to confirm the ID number usage so I'm working to get this implemented.
@maziggy commented on GitHub (Mar 15, 2026):
https://github.com/maziggy/bambuddy/pull/711
Fixed in branch dev.