Jump to content

Spoolman - Filament Management


PFarm

Recommended Posts

@adamo000 You are welcome, for a fresh install I'd delete all of the Spoolman files. I run my Spoolman on an Ubuntu Server and point Mainsail to the IP address in Moonraker. Some members here run a separate Pi for Spoolman this way if something happens like in your case it is isolated from your Klipper install.

Link to comment
Share on other sites

  • 1 month later...

Now that I've got both printers updated, I'm looking at this integration again. I noticed that I can once again see the filament type in the Fluidd interface.

Now what I want to do is be able to grab what the current spool is from Spoolman and use that in my macros. Right now I have my own variable stored of what filament type is loaded so my print_start can yell at me if I, say, have ABS flagged as loaded and I try to print a file sliced for PLA. Spoolman has that info, so why not use that? Anyone figured out how to get what the current spool info is from Spoolman?

  • Like 1
Link to comment
Share on other sites

Spoolman originally designed as utilising user permissions. This meant, if running a dedicated server, you had to be logged in, in order to get all the information from the server.  This is since changed, (since latest update) and spoolman is now enabled on a systems level - the server only needs to be up and running, no longer need to be logged in.

8 hours ago, claudermilk said:

Right now I have my own variable stored of what filament type is loaded so my print_start can yell at me if I, say, have ABS flagged as loaded and I try to print a file sliced for PLA.

I do not have any macro’s  specifically integrated with spoolman, but I do get a warning if the slicer reports ASA and I have a ABS spool as per spoolman. My slicer “Start GCode is:

START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] MATERIAL=[filament_type] SIZE={first_layer_print_min[0]}_{first_layer_print_min[1]}_{first_layer_print_max[0]}_{first_layer_print_max[1]} INITIAL_TOOL=[initial_tool]

Although I must say, the Klippain macro is quite comprehensive

  • Like 1
Link to comment
Share on other sites

I did some more poking around and I think that right now the answer is it isn't possible. I found the URL to retrieve the JSON: http://<server_ip>:<port>/api/v1/spool/<spool_id>. But there's no way right now for Klipper of Moonraker to retrieve that spool id that I see. There's some threads from others looking for the same thing. I have no idea how Fluidd or Mainsail is remembering what spool was last used, and there are a couple of auto-generated macros to set the spool. I just want to intercept the currently set spool's id, then send that get request. From there I can figure out how to parse down to the filament/material node and see what type it is. So it looks like this is a project for later.

I do have my own setup to tell me if the printer's stored loaded filament type has a mismatch from what the slicer reports. But it would be nice to have it automatically update that via Spoolman since the data is there.

Link to comment
Share on other sites

  • 3 weeks later...
On 11/3/2023 at 2:44 AM, mvdveer said:

Thanks @PFarm Works brilliantly. Decided to install on a dedicated Raspi Pi 4 (as a server)  as I have 12 printers accessing the database. I installed it directly and not in a docker container.

An example of it in operation on the new Trident 300mm build:

image.thumb.png.1f00759aab83645183b8ca7bef80e830.png

image.thumb.png.b40c2e4155c885aa6763cb5587d92779.png

Spools in use at present:

image.thumb.png.bb4307d69b35b94c7a00887b49918557.png

Slowly building the database of filaments

image.thumb.png.a9f9455692f6808ff9b74c34107c7608.png

and Vendors

image.thumb.png.378ff0a8492fdac0e7a70e4c6cf29a5b.png

Next I will be implementing QR scanning:

Thank you again - you're a champion

I have so many questions lol!  I have 2 printers and after installing both realized that they are separate databases.  I did use docker so how do I go about referencing one?  like you said, have a separate Pi where Spoolman resides and then in each moonraker.conf, reference the IP address of that PI ( server)?

question 2. how did you get your UI to look like that?  looks cool!

Link to comment
Share on other sites

3 hours ago, therm_virtual0y said:

I have so many questions lol!  I have 2 printers and after installing both realized that they are separate databases.  I did use docker so how do I go about referencing one?  like you said, have a separate Pi where Spoolman resides and then in each moonraker.conf, reference the IP address of that PI ( server)?

As an example, my spoolman server's ip address is "spoolman.local". Thus in each of my 11 printer's moonraker.conf files, I have:

[spoolman]
server: http://spoolman.local:7912
#   URL to the Spoolman instance. This parameter must be provided.
sync_rate: 5
#   The interval, in seconds, between sync requests with the
#   Spoolman server.  The default is 5.

The printers then access the single spoolman server.

2. The Mainsail UI can be themed. See here.  The trident from the above is a black and red build, thus the theme. You can create any theme you wish. Here are a few examples from my printers:

image.thumb.png.ace38f6edfa251c521b10fce8080a1d6.png  image.thumb.png.56beeb38f0472b90f926c7b3a437cd69.png image.thumb.png.b9e7687d14eac9ee1026d72f603adefd.png

image.thumb.png.10fba6ee7d351c5c9ca450386eeea164.png image.thumb.png.1d221809541a31230b6ba458090eacf4.png  image.thumb.png.c5aaacc19c6a9cf31ff6dd9884c6f7c9.png

  • Like 2
Link to comment
Share on other sites

Yes, as @mvdveer shows, install Spoolman on a separate server--in my case I'm piggybacking on my Pi-based Plex server. Then reference the server's IP address as shown. Works like a charm.

Also an update on my issue from page 1 of the thread here with the system forgetting how much filament to log being used. I ended up bouncing between a couple of Githubs--of course; it ended up being a logic error in Fluidd. The developer found it, fixed it, and the fix is set to be in the next release.

  • Like 1
Link to comment
Share on other sites

On 4/14/2024 at 11:59 PM, mvdveer said:

As an example, my spoolman server's ip address is "spoolman.local". Thus in each of my 11 printer's moonraker.conf files, I have:

[spoolman]
server: http://spoolman.local:7912
#   URL to the Spoolman instance. This parameter must be provided.
sync_rate: 5
#   The interval, in seconds, between sync requests with the
#   Spoolman server.  The default is 5.

The printers then access the single spoolman server.

2. The Mainsail UI can be themed. See here.  The trident from the above is a black and red build, thus the theme. You can create any theme you wish. Here are a few examples from my printers:

image.thumb.png.ace38f6edfa251c521b10fce8080a1d6.png  image.thumb.png.56beeb38f0472b90f926c7b3a437cd69.png image.thumb.png.b9e7687d14eac9ee1026d72f603adefd.png

image.thumb.png.10fba6ee7d351c5c9ca450386eeea164.png image.thumb.png.1d221809541a31230b6ba458090eacf4.png  image.thumb.png.c5aaacc19c6a9cf31ff6dd9884c6f7c9.png

Appreciate your time 

Link to comment
Share on other sites

7 minutes ago, therm_virtual0y said:

I keep getting an error message saying The material of the active spool (PETG ) does not match the material of the G-Code (PETG)..  not sure what that is about or how to fix it.

Normally happens when your slicer profile has a different filament name than the one's you defined in spoolman. For example - ABS(no space) vs ABS (space after ABS) or ABS+. Had this happen on occasion. It is a feature I like as I have often sliced a print in ASA by accident and when I go to print, I get the warning. I then go back to my slicer, make sure the correct filament is selected and re-slice again.

There is actually nothing wrong - it is just a warning.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...