Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help to fix please: Spoolman docker needs to get restart to start reading the filament from the printer #937

Open
ducati1198 opened this issue Jan 15, 2025 · 0 comments

Comments

@ducati1198
Copy link

ducati1198 commented Jan 15, 2025

What happened

Describe the bug
Ok i have a anycubic kobra 3 rooted. We we were able to get pool man working on the goklipper by modifying spoolman.py. Now the issue is that i need to restart spoolman docker to start reading the filament consumption after the print start. In the spoolman docker log it show get instead of put, after restarting it shows put and the start transferring the info to spoolman. Below will be the the link to how we got it working with anycubic, picture of docker log and picture of what got change in spoolman.py, macros.
Im not sure if we need to change something else in spoolman.py.

BTW Anycubic klipper doesn’t have set_active_spool so we modify the .py and use M555 S=0 to chose and clear the spool. i tested every thing to try to fix it, i know it not my network i check and try difference router and always the same issue. I try difference computer dockers and standalone and alwys ame problem
Anyhelp ill be appreciated
thanks

moonraker log (this log is after i restart spoolman docker:

moonraker.log

Anycubic 10.11.88.40 issue
Creality 10.11.88.30 Everything works good
Screenshot 2025-01-14 at 23 46 29
Screenshot 2025-01-15 at 01 31 14

Github to kobra 3 spoolman solution:
utkabobr/DuckPro-Kobra3#54

In printer.cfg add:
[gcode_macro SET_SPOOL]
gcode:
{{ action_call_remote_method("spoolman_set_active_spool", params) }}

[gcode_macro M555]
gcode:
SET_SPOOL SPOOL_ID={{ params.S }}

In moonraker.conf, add:
[spoolman]
server: http://:
sync_rate: 5

SSH inside the printer and get to /useremain/home/ytka/moonraker/moonraker/components/spoolman.py. Change the following lines:
diff --git a/moonraker/components/spoolman.py b/moonraker/components/spoolman.py
index d8a3e1d..51728c1 100644
--- a/moonraker/components/spoolman.py
+++ b/moonraker/components/spoolman.py
@@ -277,7 +277,9 @@ class SpoolManager:
else:
self.pending_reports[spool_id] = used_length

def set_active_spool(self, spool_id: Union[int, None]) -> None:
def set_active_spool(self, spool_id: Union[int, None] = None, SPOOL_ID: Union[int, None] = None) -> None:
if spool_id is None:
spool_id = int(SPOOL_ID)
assert spool_id is None or isinstance(spool_id, int)
if self.spool_id == spool_id:
logging.info(f"Spool ID already set to: {spool_id}")

Client

Mainsail, Fluidd

Browser

Chrome, Safari

How to reproduce

just install on kobra 3

Additional information

No response

@ducati1198 ducati1198 added the bug Something isn't working label Jan 15, 2025
@Arksine Arksine added user help request and removed bug Something isn't working labels Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants