OctoFarm - Octoprint multi-instance management and monitoring

Hi all,

New here but been using Octoprint for an age now. Love it, so big thanks to everyone whose put some work in.

Over the past 8 or 9 months I've been working on an interface to unify Octoprint instances into 1 interface which I've called OctoFarm.

It started from a user called Quilford on github, and his PrinterView.

I've since completely re-wrote the thing in an attempt to learn more about javascript and api's.

There's a Youtube preview here:

Can be downloaded from here:
https://OctoFarm.net

Screenshots are also on the git.

I've just released version 1.0.2. I won't be putting updates here though so just to keep them in one place you can grab my email off my git to be included in that. Or sign up to my discord channel where they will also be posted.

10 Likes

Great work based on what the YouTube video shows. Very elegant/clean solution.

Thanks nice of you to say. It's all responsive on mobile too and the majority still looks clean on it :).

Great work, this is exactly what I am looking for. I am running a 3d printing farm precision-3dprinting.com and am suffering with commercial printerOS. They have good UI but charge too much subscription fee. I found your project on GitHub. Is this a good starting point? Can I download and try it? If you need an early tester, please let me know. I am glad to help. My email address is dingjienantju@gmail.com. Thanks

It looks attractive and seems to run in a responsive way.

A typical printer farm would likely have different classes of printers with different capabilities. Many might have a single extruder. Some might have two. Others might have an MMU2/Palette sort of thing which allows a full spectrum of color options from primary colors as inputs. They will likely have different print volumes. Some might be deltas which possibly produce better-looking cylindrical parts perhaps.

One might separate the printers in those groups by filament type. If the customer wants ABS for this part, you'd need it to go to a printer which is set with ABS, has a heated print bed and has the correct color loaded and sufficient filament on the spool for this job.

Some of the printers might be more like CNC machines as well.

Jobs should be tracked by an ID which goes back to an invoice, usually. This is so that customer-facing emails might notify him/her of the progress or to weigh in with the "rush" aspect of some jobs or to identify post-processing work to be performed. So any production system needs to also think in terms of fulfillment requirements.

There probably should also be an error statistics tracking piece. If the system could recognize that the last three print jobs sent to printer #AB45 had a high failure rate then this could suggest maintenance actions.

You might look into opc-ua as a means of advertising printer capabilities and for printer selection.

2 Likes

nice work

BUT

you should rename it ...

Why?

because there are several projects which are called octofarm

i was also so dumb to check it so my github and all repos will deleted soon
(fresh clean git history yip yip hurray )

offline i have many code code to push but this will now not happen under the octofarm organisation anymore because there are too much projects already.

just saying ...

Feedback on your project:

REALLY GREAT WORK !!!!!!!!!!!

looks amazing.

i fixed some bugs on the original code and it is garbage.

So the choice of the name is thumbs down / but your result thumbs up

2 Likes

1 Like

rename it

"Old McPrinter"?

2 Likes

PrintyMcOctoface

1 Like

As in, "Old McPrinter... had a farm"...?

Okay, name it EIEIO.

I thought of this :smiley:
https://en.wikipedia.org/wiki/Boaty_McBoatface

I learn something new every day.

Man I checked over all those before starting and they all seem dead. No commits within the last year or so. I will consider it but I don't see the point. I think OctoFarm is rather fitting and I'm having trouble thinking of anything I like.

Thanks for the praise though :slight_smile:

1 Like

I will support CNC's, oother extruder setups and I'm hoping to leverage Filament Manager in the future for filament. This doesn't work without octoprint so regarding the metric's I'm limited to that. Printer groups will be coming but I'm not sure about using that for monitoring. If you wanna discuss any of this further I'm open to it, fire me an email @ info 'at' notexpectedyet.com

Hello notexpectedyet

I got your OctoFarm worked with my printers. I really like it. It supports basic octoprint tasks including connect/disconnect, start cancel jobs and most important is support multiple printer profiles. I can specify different printer. Now I can cancel astroprint subscription. I also find some small issues during the setup, hope it can help you improve your next build.

  1. when start printing, the sliding down button will not work. I can not even click close button at the bottom.
  2. Sometimes, the connection to the printer is automatically closed for no reason. I have to reboot the octoprint to get them back to OP mode.

Speaking of functionalities. I think you have the most important functionalities. If I can put the wish list, I would like to see it can integrate with slicing software like cura or simplify3d.

I think you use json to write this project. I do not know this language. It will take me sometime to start contributing the project.

Anyway, great work, keep going and let me know if I can help you at any point. thanks.

Jayson

Hi @ding_jienan

Glad you like it :slight_smile:

Yeah it's all HTML, CSS and Javascript so far. Managed to do quite a lot with just those so don't think I'll be changing it.

Could you help me and explain issue number 1 a little better? What do you mean the sliding down button?

For number two, do you have any indication of when this happens as I've not yet experienced it myself and your the first report of it. Like maybe there is a chain of events, or is it just random? I'm currently working through adding more error checks to the code base as it's lacking there just want to see if I can at least figure it out for you.

Sure, I am glad to help.

The first issue is after I click print, I can not slide down the windows anymore. It is frozen, I can not click neither save it nor close it button at the bottom.

for the 2nd issue, I think sometimes when I start the script, it does not connect automatically. I have to manually connect. It does not happen to me all the time. I will do more test to see if I still have this issue.

Jayson

The first one I can't repeat, the menu's and modals are still active for me after clicking print.

Could you fire the exact steps you took to reproduce that and a screen shot of the console in "right click + inspect" in chome when it happens, to this email: info @ notexpectedyet.com and I'll try and investigate more with you if you don't mind.

That's really odd.

The second one, if I understood you correctly. Basically if Octoprint isn't connected then Octofarm won't show connected. The only time it runs a connection command is when you click the button, nothing fires that function other than that. Otherwise your printer will show closed. There is no auto connect feature unless you enable a plugin on octoprint to do it.

Figured out the first one,

I'll get it in the next release.

It's due to the modal been opened over the top, I can still click the buttons to change into Control/Tune and the rest though. I just can't slide the modal around after. Guess your using this on a small screen? as I just discovered it on my mobile.

This is perfect! Thank you. How can I support your efforts?
I've been looking for something like this for a while. I've got 7 printers running all the time and sneaker-net is wearing me out.

Where do I add my login credentials? When I add a printer and API key, they seem to work but not connect. and the connect button is not active.

1 Like