Spoolman

Hallo. Hier zeige wir euch, wie ihr den Service „Spoolman“ installiert, um eure Filamentspulen mit Klipper zu verwalten.

Original Dokumentation

Link zum Spoolman Repo:
https://github.com/Donkie/Spoolman

1. System Updaten

sudo apt-get update
sudo apt-get upgrade -y

2. Curl installieren

sudo apt-get install -y curl jq

3. Sourche URL festlegen:

source_url=$(curl -s https://api.github.com/repos/Donkie/Spoolman/releases/latest | jq -r '.assets[] | select(.name == "spoolman.zip").browser_download_url')

4.  Spoolman Repo downlload

curl -sSL $source_url -o temp.zip && unzip temp.zip -d ./Spoolman && rm temp.zip

5. Spoolman installieren

cd ./Spoolman
bash ./scripts/install_debian.sh

6. Aktueller Fix

sudo systemctl stop Spoolman.service
rm /home/biqu/.local/share/spoolman/spoolman.db
sudo systemctl start Spoolman.service

7. Prüfen ob spoolman läuft
http://<IP>:7912
Beispiel: http://192.168.1.10:7912

sudo systemctl stop Spoolman.service
sudo systemctl disable Spoolman.service
image.png
sudo rm /etc/systemd/system/Spoolman.service

moonraker.conf:

[spoolman]
server: http://192.168.0.123: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.

printer.cfg | macros.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
  )}

image.png

1.  Per SSH auf den Pi verbinden
2. moonraker.conf bearbeiten

cd ~
nano printer_data/config/moonraker.conf

3. Nach der Bearbeitung Dienst neustarten:

sudo service moonraker restart

Es gibt aktuell noch folgenden Issue: (Stand 05.11.2023)
Problem:
In der Standalone Version beendet sich der spoolman Service wenn er mit –user Parameter unter dem User pi gestartet wird.
Lösung:
Links zum Issue
(root user notwendig)

systemctl --user stop Spoolman
systemctl --user disable Spoolman
sudo su 
cd /home/pi/.config/systemd/user/
mv Spoolman.service /etc/systemd/system/
nano /etc/systemd/system/Spoolman.service

Folgendes unter [Service] eintragen:

User=pi
Group=pi

Dienst speichern und neustarten:

systemctl daemon-reload
systemctl enable Spoolman
systemctl start Spoolman

Prüfen ob es geklappt hat:

ps -axu |grep spoolman

-> pi 246703 0.3 1.9 686968 72340 ? Sl 15:55 1:28 /home/pi/Spoolman-0.13.1/.venv/bin/python /home/pi/Spoolman-0.13.1/.venv/bin/uvicorn spoolman.main:app –host 0.0.0.0 –port 7912