Printing diary? Print time estimates?

Hi, new user here with some basic questions.

  • Print queue. Is there a print queue? I sometimes send directly from Prusa Slicer when printer not on. Then go to turn printer on and connect from Octoprint. But it doesn't print. So I then need to send another print. Not sure if the first was received or what is happening exactly.

  • Print Diary. I keep a OneNote file containing all my printer settings and notes for each print, so I can keep track of revisions of the various parts and projects I'm working on. Is there some means within Octoprint to store print history and attach notes?

  • Uploading to memory card. I understand I can export from e.g. PrusaSlicer and drag the file onto Octoprint to choose to upload to file or the server file system. I like to print directly from PrusaSlicer, but I'd prefer the file to eventually get stored on the SD card in the printer as well. I can't find how to move a file from local to SD card, within Octoprint. Is there a way to do that?

  • SD Card filenames. This seems really silly. My printer shows me the whole filename (long filenames) and sorts by date order descending, i.e. latest files first. However the shortened filename is useless in Octoprint, and also I can't sort by descending. How can I view the full filename? I had even hoped to be able to store some notes with each file, i.e. "this is the latest version of the gromit, with a slimmer profile" etc... is that possible somehow?

  • Notifications. I have installed the MQTT extension and hooked it up with Node-RED to inform me by email of when my prints start and finish, by pulling out the status_id="FINISHING" and STARTING. Is there a better way to do this? Are there any other interesting integrations others have done with Node-RED? Obvs the sky's the limit, re graphing, dashboards, etc....

  • Cameras. I've tried an old integrated webcam taken out of a laptop (soldered to a USB cable and tested in Windows), and a USB microscope cam. Neither work right off the bat. It is impossible to purchase a webcam here in the UK at the moment, literally nowhere has them (thanks COVID-19). So I bought a Pi camera. I'd like to have one cam on the bed, and one looking at the whole printer to ensure spools aren't tangling or anything else going wrong. I have seen a video about having multiple cameras - it looks a real hassle. Is there a clever way to do this with the latest version of Octoprint? Any other clever ways?

  • The estimated time is way off. I've seen posts around this and other forums. My current print has 30mins remaining from a 2 hour print, and Octoprint says it has 2h30 remaining! Surely it can't be this inaccurate? Why can't Octoprint read the estimated time from my Prusa Printer? Surely this is one of the whole reasons to have Octoprint, to monitor print progress of a remote printer?

  • Please can you help me understand the gcode visualisation stats? Here it says Model Info > Estimated Print Time = 2.5 hours (correct). Why is this number correct when the estimated time (as mentioned above) is so wildly out? Layers with extrusion = 81. Then under Layer Info, Layer Number = 24 and estimated print time = 00:01:04. What do all these numbers mean? They don't seem to correlate to anything to do with this print, except that 2.5h one. Although my print does have bits that stick out (ie much higher than the rest and will print quickly at the end) it doesn't seem to add up as I know the height of these bits are a maximum of twice as high as the stuff done so far. the below pic will explain:

Thanks!

PrintHistoryPlugin maybe...not sure if it's published yet, but search here for it.

Hi @Mat_Smith,
for "Print Diary" you can also use this release candidate: https://github.com/OllisGit/OctoPrint-PrintJobHistory
BR
Olli

With regards to print time estimates, they are just that, "estimates". There are multiple sources of estimates (i.e. the slicer, the core software, optional software, the firmware, etc.) and asking all these pieces to communicate with each other to find the "best estimate" is a monumental task.

Your example of OctoPrint querying the printer and using its estimate assumes that either there is an "industry standard" for providing this information or that OctoPrint has knowledge of every printer attached and the "printer specific" method used to provide this information (if it has one). Neither of these options is likely to happen.

The human operator, however, can compare all these time estimates and correlate them with the actual time taken to decide which estimate they want to believe and ignore the rest.

Thanks @b-morgan for the explanation. As you say, it's no problem for the user to compare different estimates and make up his/her own mind.

Interesting. I am new to 3D printing and have only used Prusa Slicer which is based on Slic3r, which is able to tell me accurate to the minute and gram exactly how long my print will take and how much filament it will use. Perhaps users of other printers that don't have their own slicer software are well used to the idea that 3D print times are just wild guesses?

I had assumed that other slicer software had knowledge of printers' profiles, which would contain info about a printer's move speed (x/y/z), extrude speed, retract speeds, etc... but as I say, I am pretty new to the world of 3D printing so clearly that was a faulty assumption.

I wonder, could Octoprint plugins be made by printer manufacturers like Prusa, to override the print times? It would be very useful to know what time to expect my printer to finish, without needing to go to the printer?

It's no big deal though, to position a camera onto the printer's display screen.

The best accuracy is obtained when the estimator has intimate knowledge of the physical characteristics of the printer, and can apply that knowledge over the entire set of (gcode) commands.

PrusaSlicer generating estimates for a Prusa printer has a pretty good chance of being accurate. If, however, you configure other printers in PrusaSlicer (or Cura or Simplify3D) I think you will discover that the estimates will be less accurate.

Specific cases are easier to solve than the generic cases. OctoPrint's default estimator just uses a percentage of the gcode file executed. There are OctoPrint plugins that attempt to do better with some gcode analysis. Estimates by the printer's firmware can only be based on the gcode processed so far as they don't buffer the entire file. Many of the "printer display" estimates are just echoing commands embedded in the gcode stream by the slicer.

Great news - I have accurate timing working thanks to a plugin.

I was going to post here saying "wouldn't it be great if the slicer software could add some kind of gcode just for the purposes of saying how long the print would take, for e.g. octoprint to be able to display an accurate ETA" but I decided against it, as I thought gcode was only for directing the printer to do things, rather than metadata about the print.

Anyway turns out that very thing exists and has been implemented already, a plugin called "M73 ETA Override", which picks up on an M73 direction in the gcode.

If anyone else is reading this, the plugin is in the Octoprint plugin repo and can be installed directly from within Octoprint.

Fabulous, now I have an accurate ETA! It also displays correctly in the iphone apps for Octoprint and also the excellent OctoPod app (which seems a little more fully featured than the Octoprint app).

For now I can only help with the camera question.
The same situation is here in my country, with webcams unavailable or sold for ridiculous prices. So I got smart and bought a cheap Action Camera (FWIW it's an E-Boda 6200W), which can be used as a PC Webcam. I have encountered a curious issue with it, but it's something related to Raspbian rather than the camera itself, because it works perfectly under Windows. At any rate, I found a way to make it work (involves some camera menu fiddling at first OctoPrint start) using Motion. I had Motion save snapshot images every minute and also export a timelapse video directly to my NAS, thus keeping the SD Card clean. The Motion web interface is embedded into OctoPrint, I am happy with the result.

So, if you can, look up action cameras and see whether they can also work as webcams. I paid 40 dollars for mine, and I will be able to use it as an action camera further down the road, if regular webcam prices drop to sane levels.

I installed the M73 ETA Override (1.0.1) Plugin, but I'm still not getting accurate time estimates. I have the EZPi from TH3D. Is it possible that one of the stock plugins installed on the pi could be overriding it? Does it make any difference if I start the print from the computer itself or from Octoprint?

I guess it depends on what plugins are bundled on the EZPi. Can you provide a list/screenshot of the list from plugin manager?

Here's what I have installed:

Action Command Prompt Support
Announcement Plugin
Anonymous Usage Tracking
Application Keys Plugin
Backup & Restore
Bed Visualizer (0.1.13)
BetterHeaterTimeout (1.2.0)
Core Wizard
Discovery
DisplayLayerProgress Plugin (1.22.1)
DisplayZ (0.1.0)
EEPROM Marlin Editor Plugin (1.4)
Error Tracking
Extra Distance Buttons (0.1.0)
Fan Speed Control (0.2.1)
Firmware Updater (1.7.0)
Fullscreen Plugin (0.0.5)
ipOnConnect (0.2.3)
Logging
M73 ETA Override (1.0.1)
Navbar Temperature Plugin (0.14)
OctoPod Plugin (0.2.6)
Pi Support Plugin
Preheat Button (0.5.1)
Printer Safety Check
PrinterAlerts (0.7.4)
Simple Emergency Stop (1.0.1)
Software Update
Tab Order (0.5.8)
Terminal Commands (0.1.6)
Themeify (1.2.2)
TP-Link Smartplug (0.9.20)
Virtual Printer

So ETA is based on what octoprint knows about. If you're printing from sd not sure it will work. If printing from octoprint local storage it can vary. I recommend utilizing print time genius for best estimates.