Jump to content

Spoolman - Filament Management


PFarm

Recommended Posts

https://github.com/boodaah3d/spoolman-install

https://lemmy.world/post/6872890

You will still need to reference the Moonraker docs to enable it in klipper but that's fairly easy. And you will need to go through creating your spool inventory database.
 
Moonraker doc for Spoolman
 
Got it installed but still figuring out how to configure it all.
 
 
 
 
Screenshot2023-10-09at12_46_07PM.thumb.png.5c897219393a9f049454509ed41231cd.png

 

Screenshot 2023-10-09 at 11.52.25 AM.png

Edited by PFarm
  • Like 1
Link to comment
Share on other sites

 

Setting the active spool from Klipper

The spoolman module registers the spoolman_set_active_spool remote method with Klipper. This method may be used to set the active spool ID, or clear it, using gcode macros. For example, the following could be added to Klipper's printer.cfg:

# printer.cfg

[gcode_macro SET_ACTIVE_SPOOL]
gcode:
  {% if params.ID %}
    {% set id = params.ID|int %}
    {action_call_remote_method(
       "spoolman_set_active_spool",
       spool_id=id
    )}
  {% else %}
    {action_respond_info("Parameter 'ID' is required")}
  {% endif %}

[gcode_macro CLEAR_ACTIVE_SPOOL]
gcode:
  {action_call_remote_method(
    "spoolman_set_active_spool",
    spool_id=None
  )}

With the above configuration it is possible to run the SET_ACTIVE_SPOOL ID=1 command to set the currently tracked spool ID to 1, and the CLEAR_ACTIVE_SPOOL to clear spool tracking (useful when unloading filament for example).

Setup the above macro to get access to Spoolman server via Klipper

Screenshot2023-10-09at11_22_51AM.thumb.png.0a0c2636a42e551c10cd40831619b89a.png

 

 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 4 weeks later...

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

  • Like 1
Link to comment
Share on other sites

On 11/2/2023 at 8:00 AM, R0bnex said:

Do i have to activate this seperatly?

Two things: 

1. You need to point your moonraker.conf to the IP address of the Spoolman server. This is the IP address of the computer/raspi you installed it on. (e.g http://spoolman.local:7912 or http://192.168.131.32:7912 - whatever that address may be - this goes in the moonraker.conf file: (SUBSTITUTE with YOUR IP address)

This is my entry in moonraker,conf:

[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.

 

 

2. You need to activate the macros for klipper to execute. I created a spoolman.cfg file and added this to it:

 

[gcode_macro SET_ACTIVE_SPOOL]
gcode:
  {% if params.ID %}
    {% set id = params.ID|int %}
    {action_call_remote_method(
       "spoolman_set_active_spool",
       spool_id=id
    )}
  {% else %}
    {action_respond_info("Parameter 'ID' is required")}
  {% endif %}

[gcode_macro CLEAR_ACTIVE_SPOOL]
gcode:
  {action_call_remote_method(
    "spoolman_set_active_spool",
    spool_id=None
  )}

and then added:

[include spoolman.cfg] in my printer.cfg file

AdditionalConfigs.thumb.png.52f37b6bc6f9d84c3aa533235e6b2af7.png

Hope this helps

 

  • Like 1
Link to comment
Share on other sites

I've been thinking about a spoolman implementation myself. I didn't want it installed on one of the printer Pis since I have multiple, and that would depend on the printer being always on. Well, I have a CM4-based Home Assistant server that is always on. Just threw a quickie search, and sure enough, there appears to be a HA integration! 😁 Available in HACS even (if you run HA you know what I mean, if not it doesn't matter). Now to do some serious research.

  • Like 2
Link to comment
Share on other sites

16 minutes ago, WessPless said:

Do I need to add some gcode for every single print or just have to remember to Activate / Deactivate spool when changing them ? 

Just eject the spool and select another one from the Spoolman Gui.Screenshot2023-11-04at12_52_07PM.png.8c15aa224b1df7bca8f8c06b628271b2.png

 

Edited by PFarm
  • Like 1
Link to comment
Share on other sites

I finally got a server installed. I didn't want it on the printer Pi, so had to find another server. The Home Assistant Yellow turned out to be a no go. It's Alpine Linux and some of the updates that need to happen are locked out by the HAOS install. I'm ok with that, so ditched that idea. Next up is my Plex server currently on a Pi4. It's a straight Debian Linux install so we're good there. First failure was trying to install in Docker; there's a library that has versioning issues and I was pointed to some kind of backdating method that utterly failed on me. I had to back it out to allow apt update to work again. So finally just a straight full install as a service and it's up. I have the Spoolman page being served so I can start taking inventory. Then I'll look at how to get the printers to talk to it. After that look at the Home Assistant integration and see how that can help. Because why not?

  • Like 1
Link to comment
Share on other sites

On 11/14/2023 at 8:41 AM, PFarm said:

is there a way to add ASA filament in Superslicer

Sorry, I am using Orcaslicer exclusively now and don't have super slicer installed on my MacBook which I use at work.

The only way, if I remember correctly,  is to create your own profile. I started with an ABS profile, then adjusted it to the values for ASA from the spool packaging and saved it as an ASA profile.

@Buurman posted his profiles way back in April - just did a search and have attached it if it may be of use. I opened it in VSCode and there is an ASA profile in it.

SuperSlicer_config_bundle-MK-04-2023.ini

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...
41 minutes ago, PFarm said:

@mvdveer You mentioned installing the QR code scanning feature for Spoolman any luck getting that up and running, install Spoolman on my workshop server and look at adding that feature.

Briefly looked into it, but have not yet implemented it. Life gets in the way. Too many projects/mods/builds, etc. This one is on the list but not priority as spool man is working pretty well at present the way it is. Don't want to screw up the install and then not have time to fix it.

  • Like 1
Link to comment
Share on other sites

@PFarm - I installed it and gave it a trial run - ran into an error which I will need to debug. 

My setup: Spoolman on a dedicated Raspi Pi server

ZBar and scripts installed on printer.

Code is scanned and recognised but processing causes:

image.thumb.png.622f5b7a6463708d087aa6ec813dc02d.png

When I have time I will look into this. Maybe you have more luck.

Link to comment
Share on other sites

  • 3 weeks later...

Guys - have you same issue as I have - still have half of the filament while spoolman showing it's supposed to be empty 😞 I do not see any options where I can change/adjust setting - I'm using Octoprint for Prusa printer and have Octoprint plugin for filament management - use the same density and it's very accurate 

image.png

  • Like 1
Link to comment
Share on other sites

6 hours ago, WessPless said:

Guys - have you same issue as I have - still have half of the filament while spoolman showing it's supposed to be empty 😞 I do not see any options where I can change/adjust setting - I'm using Octoprint for Prusa printer and have Octoprint plugin for filament management - use the same density and it's very accurate 

Mine works very well. Only difference to my setup is that I do not have the spool weight set. Mine is at 0

image.thumb.png.a9e5de4161ebb5fd0fc10807837fc3ea.png

Link to comment
Share on other sites

I have spool weights set and that part is working ok.

I do have an annoying issue with it though. Mine is installed on a separate Pi (my Plex server on Debian) and right now only the V0 is accessing it. Almost every print I am having to do a firmware restart because it gets stupid and forgets how to access the estimated usage. I get this pop up message: "The amount of filament required to print the selected file is unknown. Do you want to continue?" Sometimes literally seconds after completing a print and reprinting the same file. 🤦‍♂️ I'm not even sure which Github to log an issue: Spoolman, Klipper, or Moonraker.

  • Like 1
Link to comment
Share on other sites

6 hours ago, PFarm said:

Mine works great only suggestion is maybe try re-installing it.

Yeah I did three times - even decided to switch to docker version ...Spoolman is running on separate VM as I though it might overload my Raspi but still have the same issue 😞 

 

Edited by WessPless
  • Like 1
Link to comment
Share on other sites

I agree, it can be fiddly. What I have noticed is that mainsail will not start if the spoolman server is offline.

I have mine installed on a standalone Raspi pi 3B running mainsail os, not in a docker container.

Currently have all 9 of my printers accessing it without any problems. And it seems to be quite accurate up to this point.

  • Like 1
Link to comment
Share on other sites

What is your extruder setting ? Maybe that is th issue ?

just wondering if the 

microsteps: 32 and /or full_steps_per_rotation: 200    

is doing that ??

[extruder]
step_pin: can0: PD0
dir_pin: !can0: PD1
enable_pin: !can0: PD2

nozzle_diameter: 0.400
filament_diameter: 1.75

heater_pin: can0: PB13
min_temp: 0
max_temp: 335
max_power: 0.8
min_extrude_temp: 170

sensor_type:MAX31865
sensor_pin: can0:PA4
spi_bus: spi1
rtd_nominal_r: 100
rtd_reference_r: 430
rtd_num_of_wires: 2

##  Update value below when you perform extruder calibration
##  If you ask for 100mm of filament, but in reality it is 98mm:
##  rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100
##  22.6789511 is a good starting point
##  rotation_distance: 22.440

  rotation_distance: 21.7668

##  Update Gear Ratio depending on your Extruder Type
##  Use 50:10 for Stealthburner/Clockwork 2
##  Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio)
##  Use 80:20 for M4, M3.1
gear_ratio: 50:10               
microsteps: 32
full_steps_per_rotation: 200    #200 for 1.8 degree, 400 for 0.9 degree

max_extrude_cross_section: 5 
max_extrude_only_distance: 150
pressure_advance: 0.040   

 

Link to comment
Share on other sites

  • 1 month later...

 

@PFarm In the first words I'd like to thank you a great job for allowing us to use such a great tool management.

I spotted a problem after updating spoolman to the newest version.

I lost most of the labels and now, in fulidd I don't see the materials type (where they are added to spoolman database).

Here is my question. Is it enough to delete /spoolman directory inside /pi folder or should I delete more files to prepare a clean install?

Thanks in advance for your answer.

 

Spoolman1.png

Spoolman2.png

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...