OctoFarm - Octoprint multi-instance management and monitoring

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

Nevermind! I didn't have CORS active.

1 Like

Hi, notexpectedyet

Sorry for the delay, yes. I use a small screen device. I am glad you caught this bug. I do not quite understand what do you mean the model is open over the top. I can not see anything.

Another issue is when I imported the printing setup. The printer's name is saved. I have to remap it, which is painful. Any thought!

Jayson

Thanks! Glad you like it :slight_smile:

Yeah I've put notes on the git now for that finally ahaha.

There is a patreon or a donation link through paypal either is fine for support :slight_smile: It will go towards steak currently then a website if it get's popular enough.

Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QGBJML3E7268L&source=url
Patreon: https://www.patreon.com/bePatron?u=19808757

There are two modals, if you open Printer Manager from dashboard you get the first modal. The second modal is the file manager, it's removing the scrolling when the second modal (File manager) opens on the next one. I've got a fix, should possibly have a release for that this afternoon.

Can you let me know if you see any elements out of place on your screen size? I've only got the two extremes of small and very large and haven't tested mid range much yet.

When you import printers it will collect the name from Octoprint, whatever you have set in the appearance tab? Is that what you mean? You can override this permanently and set it in the Printer Manager from the dashboard. Although going off your gcode comment it seems something isn't saving there for you.

I've just pushed v1.0.3 and it should solve your modal woes :slight_smile:

So far so good. Deployed it on the built in web server ISS 7 thats part of windows . I can access it from other computers no problem. However when I save, and export the printer list "printrs.json" in the "root" of the folder when navigated to it doesn't automatically pop up with the printers already installed. It wants me to add them all over again. What am i doing wrong?
snips

I've never used ISS,

Can you access the printers.json file from the URL of octoprint?

So http://{your ip}/printers.json

The script just fires off an fetch request to that url. It's a quick hack to fake a database whilst I get the actual one written but it has worked fine for me and other users so just want to rule out your webserver first.

1 Like

Really great job man. One step closer to my dream of floating docker-containers for octoprint!

1 Like

Got it!! Come to find out, it wouldn't allow me access, giving me this error in IIS when trying to navigate to it " 0x80070032'. Looked it up, and someone stated the .json file type isn't defined under the standard MIME types. I just added ".json" and for the type used "application/json". Worked like a charm after restarting the server. Excited!!

2 Likes

Thanks for figuring that out!

In the future it won't be needed as it will be packaged as a native application with it's own server and database but that's good information to have incase anyone else runs into the issue.

Hey, thanks again for such an awesome bit of code! Question: I have a remote printer that is available via DynDNS, but when adding a printer it won't let me use a domain name, therefore I have to continually re-enter the IP each time it changes. Is there a workaround?

1 Like

I've installed OctoFarm on an Ubuntu laptop which is adjacent to my printers that I use for setting up and managing locally - its a recycled Fujitsu Lifebook S, with Ubuntu 18.04 LTS and only 4G of RAM. I used the Debian installation instructions with MongoDB locally installed. Now I've tried it out on that, its going on a Mac mini Debian box which is underused. I'll report back on success or otherwise, but the installation went sweetly on the laptop. I'll post instructions for making OctoFarm run as a service.

JUST AWESOME, I shall be becoming a Patreon for your work, unbelievably useful, might even save me having a web gui open on each one - which I customise with a different colour so its more clear which printer I am looking at.

1 Like

If it's DYNDNS and you want to use the DNS hostname, so long as it's http accessible for now you can export your printer list. Replace all the IP's with the URL names, and then change all the ports to 80. Those will connect for you.

I'm currently preping for 1.1.5 and that will allow DNS name resolution :slight_smile: