Donkie / Spoolman

Keep track of your inventory of 3D-printer filament spools.
MIT License
1.01k stars 93 forks source link

Feature Request: Support Bambu printers #149

Closed funkymonkeymonk closed 1 year ago

funkymonkeymonk commented 1 year ago

Hey I love the project. I wanted to log this feature request so that I could follow along if/when it's picked up and also provide some help.

Donkie commented 1 year ago

I know nothing about Bambu printers. What functionality needs to be implemented? How do you implement it? Does it support plugins/modding?

funkymonkeymonk commented 1 year ago

In this case I think it would be figuring out how to use filament directly from printing much like it seems like you can do with moonraker and octoprint. The Bambu system isn't as open but two ways I was thinking this could possibly be implemented.

  1. A sidecar poling process reaches out to bambu cloud to get print information and extrapolates from there.
  2. A plugin for orca slicer/bambu studio that sends the information to spoolman on start.

Both definitely have drawbacks and I'm not certain if either is actually doable. I also know that there is is an API for the machine itself but it is not yet fully local but may support enough print monitoring that 1 is doable fully locally. I'd have to spend some time researching.

I'm happy to explore how to make this work. Is there an ideal path that should be preferred for feeding usage into spoolman?

Donkie commented 1 year ago

I think I would have a hard time doing something like this with no experience with their ecosystem. An ideal path would be to make some standalone program (docker container) that acts as a bridge between the Bambu's APIs and Spoolman's API. That would be the most maintainable thing, and Spoolman doesn't need to be changed.

Disane87 commented 1 year ago

I think I would have a hard time doing something like this with no experience with their ecosystem. An ideal path would be to make some standalone program (docker container) that acts as a bridge between the Bambu's APIs and Spoolman's API. That would be the most maintainable thing, and Spoolman doesn't need to be changed.

I would second this. The only thing you need is to wrap the bambu lab api and match the returns to the models @Donkie uses.