mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 08:25:54 +02:00
[GH-ISSUE #162] [Feature]: Display Printer from Slice #100
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
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-maziggy-1#100
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 @cadtoolbox on GitHub (Jan 27, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/162
Originally assigned to: @maziggy on GitHub.
Problem or Use Case
When I upload a file to the archive, the filament used in the slice is displayed but nowhere does it display what printer model was used to slice the file.
Proposed Solution
It would be great if when you upload a sliced file it shows the model# used to slice the file and only allow you to send it to matching printers.
Alternatives Considered
No response
Feature Category
Print Archiving
Priority
Critical for my use case
Mockups or Examples
No response
Contribution
Checklist
@maziggy commented on GitHub (Jan 27, 2026):
You can select the printer in upload modal.
@cadtoolbox commented on GitHub (Jan 27, 2026):
@maziggy If that was "Associate with printer model" and not a specific printer, that field would be more meaningful.
@maziggy commented on GitHub (Jan 27, 2026):
But it associates with a specific printer. You want to associate with just a model? What's your workflow? Would like to understand it.
@cadtoolbox commented on GitHub (Jan 27, 2026):
@maziggy If you have multiple users submitting jobs to the queue, the queue should manage where the print goes based on printer availability. If you pick a specific printer, you now have to wait for that print to finish instead of picking up the next available matching model#.
Being able to identify the model# used for the slice would help manage this better without needing to manually pick a specific printer for the print.
@maziggy commented on GitHub (Jan 27, 2026):
Got it!
@maziggy commented on GitHub (Jan 28, 2026):
When queueing to "Any [Model]", how should filament mapping work?
Display: Show filament requirements (what the file needs) and allow setting preferred tray assignments (e.g., "Slot 1 → Tray 2").
When the scheduler assigns a printer, if you've set explicit tray mappings:
Default when no mapping is set: Auto-map based on what's loaded in the assigned printer.
Which validation behavior do you prefer for explicit tray assignments?
@maziggy commented on GitHub (Jan 28, 2026):
BTW: you can check the current implemention status by using branch feature/printer_model_queue.
@cadtoolbox commented on GitHub (Jan 28, 2026):
Option 2 is the ideal scenario that would separate Bambuddy how some of the other queue software applications work.
Example:
Which AMS has which filament is nice to see on the dashboard but should never be the driver for how the queue works. If you pick a printer when you submit the job based on what filament you see at the time, there is no guarantee that printer will have the same filament loaded in the same slot when it's time to print your job.
@maziggy commented on GitHub (Jan 28, 2026):
Makes sense. Let me complete the feature.
@maziggy commented on GitHub (Jan 28, 2026):
Can you please test? Please use branch feature/printer_model_queue.
Docs:
https://wiki.bambuddy.cool/features/print-queue/?h=queue#model-based-queue-assignment
https://wiki.bambuddy.cool/features/print-queue/?h=queue#queue-notifications
@cadtoolbox commented on GitHub (Jan 28, 2026):
I must be doing something wrong.
Command:
docker build -t bambuddy:branch-feature \ "https://github.com/maziggy/bambuddy.git#feature/printer_model_queue"Error:
`[+] Building 8.7s (3/3) FINISHED docker:default
=> CACHED [internal] load git source https://github.com/maziggy/bambuddy.git#feature/printer_model_queue 0.4s
=> ERROR [internal] load metadata for docker.io/library/python:3.13-slim 8.2s
=> CANCELED [internal] load metadata for docker.io/library/node:22-bookworm-slim 8.2s
Dockerfile:17
15 |
16 | # Production image
17 | >>> FROM python:3.13-slim
18 |
19 | WORKDIR /app
ERROR: failed to build: failed to solve: python:3.13-slim: failed to resolve source metadata for docker.io/library/python:3.13-slim: failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com/registry-v2/docker/registry/v2/blobs/sha256/ad/ad5c6f60a17a768317e4c806f6deeb16ad2240805d85545898f0fb626c0d4c6d/data?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=f1baa2dd9b876aeb89efebbfc9e5d5f4%2F20260128%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20260128T135803Z&X-Amz-Expires=1200&X-Amz-SignedHeaders=host&X-Amz-Signature=75e3c5818e30ba442a33046069b90b2ebbd322a2857f27ea2f89229beefb0b90": read tcp 10.235.124.193:44212->172.64.66.1:443: read: connection reset by peer`
@maziggy commented on GitHub (Jan 28, 2026):
Mhhh...works for me
$ docker build -t bambuddy:branch-feature "https://github.com/maziggy/bambuddy.git#feature/printer_model_queue"
[+] Building 47.8s (18/18) FINISHED docker:default
=> [internal] load git source https://github.com/maziggy/bambuddy.git#feature/printer_model_queue 2.1s
=> [internal] load metadata for docker.io/library/python:3.13-slim 1.2s
=> [internal] load metadata for docker.io/library/node:22-bookworm-slim 0.9s
=> [frontend-builder 1/6] FROM docker.io/library/node:22-bookworm-slim@sha256:f86be15afa9a8277608e141ce2a8aa55d3d9c40845921b8511f4fb7897be2554 0.0s
=> => resolve docker.io/library/node:22-bookworm-slim@sha256:f86be15afa9a8277608e141ce2a8aa55d3d9c40845921b8511f4fb7897be2554 0.0s
=> [stage-1 1/8] FROM docker.io/library/python:3.13-slim@sha256:51e1a0a317fdb6e170dc791bbeae63fac5272c82f43958ef74a34e170c6f8b18 0.0s
=> => resolve docker.io/library/python:3.13-slim@sha256:51e1a0a317fdb6e170dc791bbeae63fac5272c82f43958ef74a34e170c6f8b18 0.0s
=> CACHED [stage-1 2/8] WORKDIR /app 0.0s
=> CACHED [stage-1 3/8] RUN apt-get update && apt-get install -y --no-install-recommends curl ffmpeg && rm -rf /var/lib/apt/lists/* 0.0s
=> [stage-1 4/8] COPY requirements.txt ./ 0.5s
=> CACHED [frontend-builder 2/6] WORKDIR /app/frontend 0.0s
=> [frontend-builder 3/6] COPY frontend/package*.json ./ 0.5s
=> [frontend-builder 4/6] RUN --mount=type=cache,target=/root/.npm npm ci 11.0s
=> [stage-1 5/8] RUN --mount=type=cache,target=/root/.cache/pip pip install --root-user-action=ignore -r requirements.txt 29.6s
=> [frontend-builder 5/6] COPY frontend/ ./ 1.0s
=> [frontend-builder 6/6] RUN npm run build 17.4s
=> [stage-1 6/8] COPY backend/ ./backend/ 0.3s
=> [stage-1 7/8] COPY --from=frontend-builder /app/static ./static 0.1s
=> [stage-1 8/8] RUN mkdir -p /app/data /app/logs 0.1s
=> exporting to image 13.3s
=> => exporting layers 10.9s
=> => exporting manifest sha256:7434b92788d873cd5f6a3c34799e8e652a7744120b25495909e8d27de91727ef 0.0s
=> => exporting config sha256:2c3ca5a6be42bacf923a2f8be34734492bd5fc6d40879dc8c9e29881d7eeb421 0.1s
=> => exporting attestation manifest sha256:cf1327f6c8b9a0f6891135d5ce59e9583f582b5d512f849c833560e526fedc6d 0.1s
=> => exporting manifest list sha256:586294aa1e637df443a417534193dad34ad52d4f0a15847e381ee2e06eeb6bd0 0.1s
=> => naming to docker.io/library/bambuddy:branch-feature 0.0s
=> => unpacking to docker.io/library/bambuddy:branch-feature
@maziggy commented on GitHub (Jan 28, 2026):
docker build -t bambuddy:branch-feature \ "https://github.com/maziggy/bambuddy.git#feature/printer_model_queue"Backslash?
@maziggy commented on GitHub (Jan 28, 2026):
read tcp 10.235.124.193:44212->172.64.66.1:443: read: connection reset by peer`
@cadtoolbox commented on GitHub (Jan 28, 2026):
@maziggy That makes sense. I'm back in the office where the network is restricted. Thanks.
@maziggy commented on GitHub (Jan 29, 2026):
Unfortunately I cannot test due to "not enough printers error" ;) Any chance to get this tested? Would like to inlcude it into the upcoming final release. Thanks!
@cadtoolbox commented on GitHub (Jan 29, 2026):
@maziggy Working on installing and testing now. I'll let you know shortly.
@Locxion commented on GitHub (Jan 29, 2026):
Question:
If you upload via the Virtual Printer API ... could it be done that the printer that is configured in the Virtual Printer settings is automaticly set as the printer in the file?
Maybe add a suffix to the filename? (untitled_h2d.gcode)
@cadtoolbox commented on GitHub (Jan 29, 2026):
@maziggy Let me start by saying the UI and workflow is spot on with what was missing. Great job there!
I added an X1E and uploaded a Bambu slice which Bambuddy recognized that it was a X1E file without any issues.
Sending it to the queue set to ASAP for "Any X1E" worked but it's been in the queue now for several minutes without any activity. The job is stuck on 'Pending'. I attached the logs if that is helpful.
bambuddy-support-20260129-071342.zip
Also note: The live camera feed isn't working as well. That may be unrelated.
@maziggy commented on GitHub (Jan 29, 2026):
For camera support you need to install ffmpeg.
There should be a warning in settings, if ffmpeg is not installed.
Regarding printing from queue:
Do you really have no AMS connected to the printer? If at least one AMS is connected, then the X1E's MQTT stream differs from other printer models (it's not the first time I would need to add a workaround for a specific model).
@cadtoolbox commented on GitHub (Jan 29, 2026):
There are 4 AMS Pro 2's attached to that X1E. I tried our H2D also with 4 AMS's and had the same issue.
The old method of printing direct to a selected printer also didn't work fully. It says "Printing" but then nothing ever happens.
Note: Our H2D is H2D Pro which really doesn't look supported.
@maziggy commented on GitHub (Jan 29, 2026):
I'm using Bambuddy with a H2D and have no issues. Ahhh a Pro. I've already learned, that all models have their specifics. Unfortunately.
OK, so you're using the feature branch now, right? Please send me a support package -> Please use branch 0.1.6-final and create a support package -> https://wiki.bambuddy.cool/features/system-info/?h=debug#enable-debug-logging
@cadtoolbox commented on GitHub (Jan 29, 2026):
I changed the branch from feature/printer_model_queue back to 0.1.6-final. Attached is the support package.
bambuddy-support-20260129-090315.zip
@maziggy commented on GitHub (Jan 29, 2026):
Now I see AMS data. Is the 0.1.6-final branch working? Can't see any errors.
Both versions are running on Docker or native?
@cadtoolbox commented on GitHub (Jan 29, 2026):
Both are running native. For 0.1.6 I can get the H2D to start printing (after I force it to say use the H2D even though it's sliced for H2D Pro). The X1E says it's printing but nothing ever starts.
I'm trying to figure out if our network is blocking something but since 1 printer works, I'm thinking not. I'm going to try the other X1E's and see if any of those work.
@maziggy commented on GitHub (Jan 29, 2026):
I'm quite sure that this is a specific for the Pro version. That's not good.
@cadtoolbox commented on GitHub (Jan 29, 2026):
Well, I did cancel the print before it started. I wanted to see if it would start. The X1E's just don't respond at all.
@maziggy commented on GitHub (Jan 29, 2026):
If you want, subscribe to the MQTT stream of the X1E, print something very short and send me the MQTT + Bambuddy debug logs. I can try to find out blindfolded ;)
@cadtoolbox commented on GitHub (Jan 29, 2026):
@maziggy I made some progress but first let me apologize for not reading the documentation. I forgot to enable developer mode on the X1E. Once I did that, I can now send jobs to the printer itself without issues.
However, when I pick the new "Any X1E" option, the logs have an error:
Schedule Error: 'PrinterState' object has no attribute 'ams_units'The print job never gets started.
@maziggy commented on GitHub (Jan 29, 2026):
Yeah, the X1E seems to have a different MQTT format. I'm sorry, don't know what to do without the possibility to test.
@maziggy commented on GitHub (Jan 30, 2026):
Received an email notification with X1E MQTT details. Where is it gone?
@maziggy commented on GitHub (Jan 30, 2026):
I think I've found the problem.
Please again use branch feature/printer_model_queue, do a git pull and try again.
@cadtoolbox commented on GitHub (Jan 30, 2026):
Let's compare notes. I was able to fix the issue and test it with an X1E. I attached the MQTT details and the 2 files I needed to update to resolve.
In print_queue.py:
# Normalize target_model (e.g., "Bambu Lab X1E"/"C13"/"x1e" -> "X1E") target_model_norm = None if data.target_model: target_model_norm = ( normalize_printer_model(data.target_model) or normalize_printer_model_id(data.target_model) or data.target_model )Same with print_scheduler.py:
# Normalize and perform a case-insensitive match in the DB normalized_model = normalize_printer_model(model) or model result = await db.execute( select(Printer) .where(func.lower(Printer.model) == normalized_model.lower()) .where(Printer.is_active == True) # noqa: E712 )There are a few other changes in both files as a result. I attached both so you can run a comparison. Does this match up with what you changed?
print_queue.py
print_scheduler.py
X1E-MQTT.json
I'll try your version now.
@maziggy commented on GitHub (Jan 30, 2026):
You indetified one additional bug. Thanks for that!
Merged all together in branch origin/feature/printer_model_queue.
Please test and let me know.
@cadtoolbox commented on GitHub (Jan 30, 2026):
@maziggy Success! The branch feature/printer_model_queue updates were tested, and the print job using "Any X1E" now starts on an available X1E as expected. Thanks for all your help on this.
@maziggy commented on GitHub (Jan 30, 2026):
Hurray! Thanks!
@cadtoolbox commented on GitHub (Jan 30, 2026):
@maziggy I did another refresh of feature/printer_model_queue after you merged in '0.1.6-final' just now and the printer_model_queue functions now seem to be missing. Can you double check?
@maziggy commented on GitHub (Jan 30, 2026):
Do you use branch 0.1.6-final and did a git pull? If you are using Docker, then you have to rebuild the image.
@maziggy commented on GitHub (Jan 30, 2026):
If you are not using Docker, it may need a "cd frontend && npm run build" after git pull.
@cadtoolbox commented on GitHub (Jan 30, 2026):
Ok, I got it. Switch to '0.1.6-final' and it's all good. Sorry for the confusion. Thanks again.