Git Product home page Git Product logo

octoprint-printtimegenius's Introduction

OctoPrint-PrintTimeGenius

Crowdin

Provide better estimations on print time in OctoPrint.

In the chart, we see that the print time remaining is never off by more than 3 minutes using the GeniusEstimator, under 3%. The estimator built-in to OctoPrint is off by 19 minutes at worst, which is a 16% error.

total time graphs in minutes actual vs estimated vs geniusestimator

Setup

Install via the bundled Plugin Manager or manually using this URL:

https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip

Configuration

After first installing, you must run M503 in order to import your printer's configuration:

  1. Open OctoPrint
  2. Make sure your printer is connected and turned on.
  3. Click on the "Terminal" tab in Octoprint to get to the GCode Terminal.
  4. You will see an area under the terminal window where you can enter the Code and click the "Send" button.
    In that text box, type M503 and click send.

Next, you should test that the plugin works by going into settings and analyzing a file. Then look at the log and make sure that there are no errors. If you see errors, report them here.

octoprint-printtimegenius's People

Contributors

billiam avatar brandstaetter avatar calipee avatar commod0re avatar dominikpalo avatar doug-a-brunner avatar draeath avatar eschreiner avatar eyal0 avatar flaviut avatar foosel avatar htxf-g avatar jneilliii avatar jonnykl avatar kii-chan-reloaded avatar l1z3 avatar maludwig avatar manuelmclure avatar onovy avatar plasmasoftuk avatar stevereno30 avatar triodes avatar victor7376 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

octoprint-printtimegenius's Issues

Plugin missing?

I installed via the plugin manager install from URL section, and everything seemed to install properly (according to the terminal window.) I then restarted Octoprint, but the plugin appears to be nowhere to be found. So I tried installing again, and it told me it was already installed, but re-installed. I then restarted the entire RaspberryPi to make sure it wasn't something that needed a full restart, but I still cannot find the Plugin anywhere (Either in the plugin manager list or elsewhere). I'm sure I probably missed some instruction somewhere, but I'd greatly appreciate your help figuring out what went wrong.

Thanks!

Installation fails on OctoPrint 1.3.9rc2

Installation fails with error:

Installing plugin "OctoPrint-PrintTimeGenius" from https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip...
/home/pi/oprint/bin/python2 -m pip install https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip --no-cache-dir
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip
Downloading https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip (1.4MB)
Collecting OctoPrint==1.3.9rc1 (from OctoPrint-PrintTimeGenius==1.0.4)
Could not find a version that satisfies the requirement OctoPrint==1.3.9rc1 (from OctoPrint-PrintTimeGenius==1.0.4) (from versions: )
No matching distribution found for OctoPrint==1.3.9rc1 (from OctoPrint-PrintTimeGenius==1.0.4)
Error!
Could not parse output from pip, see plugin_pluginmanager_console.log for generated output

Allow option to analyze a file as soon as it starts printing?

Maybe we need to a way to analyze files when they start printing. That should be rare, though, because usually we analyze files as soon as as they are uploaded or sliced and I think that people probably aren't printing old gcode. And anyway, old gcode already will often already have a successful print time stored which is the most accurate option so no point in trying to improve on that.

No such file for marlin-calc estimate?

My PrintTimeGenius logs contain:

2018-07-14 16:04:24,127 Failed to run '/home/octoprint/src/OctoPrint/venv/bin/python2 /home/octoprint/src/OctoPrint/venv/lib/pytho
n2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py marlin-calc "/home/octoprint/.octoprint/uploads/wheel
_inner.gcode"'
Traceback (most recent call last):
  File "/home/octoprint/src/OctoPrint/venv/local/lib/python2.7/site-packages/octoprint_PrintTimeGenius/__init__.py", line 193, i
n _do_analysis
    results_text = subprocess.check_output(shlex.split(command))
  File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['/home/octoprint/src/OctoPrint/venv/bin/python2', '/home/octoprint/src/OctoPrint/venv/lib/python2.7/
site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py', 'marlin-calc', '/home/octoprint/.octoprint/uploads/wheel
_inner.gcode']' returned non-zero exit status 1

Running that command manually yields:

Traceback (most recent call last):
  File "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py", line 53, in <module>
    main()
  File "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py", line 18, in main
    output = subprocess.check_output(cmd)
  File "/usr/lib/python2.7/subprocess.py", line 212, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 390, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Any suggestions for debugging further?

[edit] As this is a 32-bit, non-raspberry pi linux system, perhaps marlin-calc hasn't been built for this platform?

Bad interaction with "Exclude region" plugin

OctoPrint Version: 1.3.9rc3

PrintTimeGenius Version (if you know): current as of 2018-07-18

Exclude Region allows to exclude regions of a print, typically when one part of a multi-part print comes loose.

That means the real print time no longer matches with any estimate, not only for this print, but also for future prints.

Example: I had one part of a two-part print come loose and excluded it, halving the effective print time. In the post-print analysis, PTG seems to have decided that the original estimates are about double of the real print time, and in later prints (without using "exclude region") estimates are very much off.

This effect may be increased by the fact that I hadn't done many prints with PTG before that problematic print, and only one print after.

I think the problem could be solved by either ignoring print jobs that had regions excluded for tuning the estimation parameters, or by limiting the size of factors used for tuning (that would also help in cases like when the user changes the print speed multiplier directly on the printer during a print).

Support for Simplify3D

Hi, I'm trying this plugin to get more accurate estimated time and time left.

I have done a test print,
at the end of the GCODE I've got:

; Build Summary
;   Build time: 0 hours 23 minutes
;   Filament length: 1495.4 mm (1.50 m)
;   Plastic volume: 3596.78 mm^3 (3.60 cc)
;   Plastic weight: 4.50 g (0.01 lb)
;   Material cost: 0.11

The estimated time report by Simplify3D is 23 min.

The log for PrintTimeGenius is:

2018-07-14 08:53:29,240 Running: /home/pi/oprint/bin/python2 /home/pi/oprint/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_gcode_comments.py "/home/pi/.octoprint/uploads/test.gcode"
2018-07-14 08:53:29,465 Result: {}

2018-07-14 08:53:29,493 Merged result: {'estimatedPrintTime': 1437.0149036093135, 'printingArea': {'maxZ': 15.24, 'minX': 0.0, 'maxX': 165.2, 'maxY': 177.692, 'minY': 0.0, 'minZ': 0.2}, 'dimensions': {'width': 165.2, 'depth': 177.692, 'height': 15.040000000000001}, 'filament': {'tool0': {'volume': 0.0, 'length': 1540.3699000000167}}}
2018-07-14 08:53:30,676 Running: /home/pi/oprint/bin/python2 /home/pi/oprint/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py marlin-calc "/home/pi/.octoprint/uploads/test.gcode"
2018-07-14 08:53:32,460 Result: {"progress": [[0, 1466.3249773765344], [0.01524872407617128, 1461.245413164425], [0.0154607544289399, 1454.9430635151393], [0.03631456324241805, 1394.3309086797135], [0.04919852526653463, 1334.0202302834023], [0.07199802437600715, 1273.811949325037], [0.09269218680622421, 1213.3573441162794], [0.10929790514011464, 1152.5829148341647], [0.12587867872662054, 1092.227989505862], [0.14279870087755622, 1032.0685403157038], [0.15975115120009178, 971.8368054068674], [0.1767734468153041, 911.3491982163441], [0.20014418063988265, 850.8051963023566], [0.22824942751804753, 790.7701853169332], [0.2805261346118348, 730.7598928657432], [0.334499084527771, 670.5953975783674], [0.38684563691423496, 610.5880518805154], [0.44332303946757934, 550.1809075220499], [0.4906457197307963, 489.98570664904787], [0.5461702329340511, 429.9181507390317], [0.6016897571878289, 369.72721527719204], [0.6636674765394651, 309.72642562630904], [0.726473361504268, 249.58239533465735], [0.7932304944547827, 189.57704612657994], [0.8750542548255614, 129.5657518488233], [0.9531787091592123, 69.34013640893272], [0.9981041991987747, 4.522772884289225], [0.9986030941464655, 3.318527945748201], [1, 0]], "lastFilament": 0.9986030941464655, "firstFilament": 0.0154607544289399, "estimatedPrintTime": 1466.3249773765344}

2018-07-14 08:53:32,464 Merged result: {'printingArea': {'maxZ': 15.24, 'minX': 0.0, 'maxX': 165.2, 'maxY': 177.692, 'minY': 0.0, 'minZ': 0.2}, 'dimensions': {'width': 165.2, 'depth': 177.692, 'height': 15.040000000000001}, u'firstFilament': 0.0154607544289399, u'progress': [[0, 1466.3249773765344], [0.01524872407617128, 1461.245413164425], [0.0154607544289399, 1454.9430635151393], [0.03631456324241805, 1394.3309086797135], [0.04919852526653463, 1334.0202302834023], [0.07199802437600715, 1273.811949325037], [0.09269218680622421, 1213.3573441162794], [0.10929790514011464, 1152.5829148341647], [0.12587867872662054, 1092.227989505862], [0.14279870087755622, 1032.0685403157038], [0.15975115120009178, 971.8368054068674], [0.1767734468153041, 911.3491982163441], [0.20014418063988265, 850.8051963023566], [0.22824942751804753, 790.7701853169332], [0.2805261346118348, 730.7598928657432], [0.334499084527771, 670.5953975783674], [0.38684563691423496, 610.5880518805154], [0.44332303946757934, 550.1809075220499], [0.4906457197307963, 489.98570664904787], [0.5461702329340511, 429.9181507390317], [0.6016897571878289, 369.72721527719204], [0.6636674765394651, 309.72642562630904], [0.726473361504268, 249.58239533465735], [0.7932304944547827, 189.57704612657994], [0.8750542548255614, 129.5657518488233], [0.9531787091592123, 69.34013640893272], [0.9981041991987747, 4.522772884289225], [0.9986030941464655, 3.318527945748201], [1, 0]], 'estimatedPrintTime': 1466.3249773765344, u'lastFilament': 0.9986030941464655, 'filament': {'tool0': {'volume': 0.0, 'length': 1540.3699000000167}}}
2018-07-14 08:53:32,796 Compensated result: {'analysisFirstFilamentPrintTime': 11.381913861395105, 'printingArea': {'maxZ': 15.24, 'minX': 0.0, 'maxX': 165.2, 'maxY': 177.692, 'minY': 0.0, 'minZ': 0.2}, 'dimensions': {'width': 165.2, 'depth': 177.692, 'height': 15.040000000000001}, 'analysisPrintTime': 1466.3249773765344, 'analysisLastFilamentPrintTime': 1463.0064494307862, u'firstFilament': 0.0154607544289399, u'progress': [[0, 1466.3249773765344], [0.01524872407617128, 1461.245413164425], [0.0154607544289399, 1454.9430635151393], [0.03631456324241805, 1394.3309086797135], [0.04919852526653463, 1334.0202302834023], [0.07199802437600715, 1273.811949325037], [0.09269218680622421, 1213.3573441162794], [0.10929790514011464, 1152.5829148341647], [0.12587867872662054, 1092.227989505862], [0.14279870087755622, 1032.0685403157038], [0.15975115120009178, 971.8368054068674], [0.1767734468153041, 911.3491982163441], [0.20014418063988265, 850.8051963023566], [0.22824942751804753, 790.7701853169332], [0.2805261346118348, 730.7598928657432], [0.334499084527771, 670.5953975783674], [0.38684563691423496, 610.5880518805154], [0.44332303946757934, 550.1809075220499], [0.4906457197307963, 489.98570664904787], [0.5461702329340511, 429.9181507390317], [0.6016897571878289, 369.72721527719204], [0.6636674765394651, 309.72642562630904], [0.726473361504268, 249.58239533465735], [0.7932304944547827, 189.57704612657994], [0.8750542548255614, 129.5657518488233], [0.9531787091592123, 69.34013640893272], [0.9981041991987747, 4.522772884289225], [0.9986030941464655, 3.318527945748201], [1, 0]], 'estimatedPrintTime': 1466.3249773765344, u'lastFilament': 0.9986030941464655, 'filament': {'tool0': {'volume': 0.0, 'length': 1540.3699000000167}}}

The print result is:

test.gcode
Uploaded: an hour ago
Size: 391.5KB
Model size: 165.20mm × 177.69mm × 15.04mm
Filament: 1.54m
Estimated print time: 00:24:26
Last printed: 33 minutes ago
Last print time: 00:32:05

During the print, the Print Time Left stay at "Still stabilizing ..."

What do this plugin is suppose to do ?
I guest it replace the Estimated print time with a proper time left (more accurate), and did is fix the time left also ?

Is they a training after the installation of this plugin ? or did it learn after the installation ?

is they a bug with the time left ?

Does it take in account the jerk settings ?

Does it work if it can't get the primer estimated time from simplify3d ?

Thanks for clarifiying.

Needs more documentation

This seems like a really awesome plugin but it really needs more documentation to figure out what's going on.

For instance sometimes the Print Time is stuck at 'Preparing'. Sometimes I get a red dot, sometimes orange and sometimes a gold star. It's not clear why that's inconsistent and what these mean. The hover over describes it curtly but it'd be helpful to have more details on the project's README.

It'd be good to know a little more about what's happening under the hood (and how it relates to the above dots or star).

Also, is there a history of estimated time and actual time somewhere (a log?).

Thanks for the work on this plugin!

Analyze from settings failed

Installed it on an octopi setup 1.3.9rc2 on a Monoprice MP Select mini v1 (M200 clone), picked a random design to try to analyze just to see what it returned. It failed, I'm analyzing another but I figured a failed test case might still be useful. GCode and log attached (assuming I do it correctly)... Slicing was done with Cura 3.4.1, let me know if there's anything else that'd help.

plugin_PrintTimeGenius_engine (1).log
elf-rect-175.txt

Elf-rect-175.txt is the gcode, but github doesn't like the extension :)

Settings -> Close button inoperable

What were you doing?

I was using the Settings dialog to adjust something. When I'd finished SAVE'ing, I then pressed the Close button which didn't work.

What did you expect to happen?

I expected the Close button to dismiss the Settings dialog in a similar way that the x in the upper/right corner does.

What happened instead?

Nothing appears to happen.

Did the same happen when running OctoPrint in safe mode?

No. The Close button behaves as expected, dismissing the dialog.

Version of OctoPrint

1.3.9rc4

Version of OctoPrint-PrintTimeGenius

1.0.8

Operating System running OctoPrint

OctoPi 0.15.0

Printer model & used firmware incl. version

Robo 3D -> Robo C2

FIRMWARE_NAME:Marlin 1.1.7-C2 (Github) SOURCE_CODE_URL:https://github.com/Robo3D/Marlin-C2 PROTOCOL_VERSION:C2 MACHINE_TYPE:RoboC2 EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff EMERGENCY_CODES:M108,M112,M410

Browser and version of browser, operating system running browser

Safari 11.1, OSX 10.13.4

Link to octoprint.log

2018-07-23 09:12:28,271 - octoprint.startup - INFO - ******************************************************************************
2018-07-23 09:12:28,276 - octoprint.startup - INFO - Starting OctoPrint 1.3.9rc4
2018-07-23 09:12:28,277 - octoprint.startup - INFO - ******************************************************************************
2018-07-23 09:12:29,518 - octoprint.startup - INFO - Blacklist processing done
2018-07-23 09:12:29,606 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2018-07-23 09:12:34,056 - octoprint.plugin.core - INFO - Found 18 plugin(s) providing 18 mixin implementations, 22 hook handlers
2018-07-23 09:12:34,355 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval
2018-07-23 09:12:34,423 - octoprint.server - INFO - Intermediary server started
2018-07-23 09:12:34,424 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2018-07-23 09:12:35,881 - octoprint.plugin.core - INFO - Found 18 plugin(s) providing 18 mixin implementations, 22 hook handlers
2018-07-23 09:12:35,967 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/pi/.octoprint/uploads...
2018-07-23 09:12:37,717 - octoprint.filemanager.storage - INFO - ... file metadata for /home/pi/.octoprint/uploads initialized successfully.
2018-07-23 09:12:37,728 - octoprint.printer.standard - INFO - Using print time estimator provided by PrintTimeGenius
2018-07-23 09:12:38,097 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk
2018-07-23 09:12:42,453 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python2 -m pip" as command to invoke pip
2018-07-23 09:12:46,474 - octoprint.util.pip - INFO - Version of pip is 10.0.0
2018-07-23 09:12:46,477 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python2.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes
2018-07-23 09:12:46,478 - octoprint.util.pip - INFO - ==> pip ok -> yes
2018-07-23 09:12:46,499 - octoprint.plugin.core - INFO - Initialized 18 plugin implementation(s)
2018-07-23 09:12:46,539 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO801 = /usr/bin/aplay /home/pi/sounds/r2d2/1.wav &
2018-07-23 09:12:46,541 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO802 = /usr/bin/aplay /home/pi/sounds/r2d2/2.wav &
2018-07-23 09:12:46,543 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO803 = /usr/bin/aplay /home/pi/sounds/r2d2/3.wav &
2018-07-23 09:12:46,547 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO804 = /usr/bin/aplay /home/pi/sounds/r2d2/4.wav &
2018-07-23 09:12:46,548 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO805 = /usr/bin/aplay /home/pi/sounds/r2d2/5.wav &
2018-07-23 09:12:46,549 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO806 = /usr/bin/aplay /home/pi/sounds/r2d2/6.wav &
2018-07-23 09:12:46,550 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO900 = /usr/bin/ssh -t [email protected] "sudo pkill temp-graph.py && sudo /home/pi/scripts/cls.py && sleep 3 && sudo poweroff"
2018-07-23 09:12:46,556 - octoprint.plugins.gcodesystemcommands - INFO - Add command definition OCTO902 = /usr/bin/ssh -t [email protected] "sudo pkill mjpg_streamer && sleep 3 && sudo poweroff"
2018-07-23 09:12:46,585 - octoprint.plugin.core - INFO - 18 plugin(s) registered with the system:
|  Action Command Prompt Support (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/action_command_prompt
|  Announcement Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/announcements
|  Bed Leveling Wizard (0.1.4) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_bedlevelingwizard
|  Bed Visualizer (0.1.2) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_bedlevelvisualizer
|  Core Wizard (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/corewizard
|  CuraEngine (<= 15.04) (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/cura
|  Discovery (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/discovery
|  EEPROM Marlin Editor Plugin (1.2.1) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_eeprom_marlin
|  GCODE System Commands (0.1.1) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_gcodesystemcommands
|  Logging (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/logging
|  Navbar Temperature Plugin (0.9) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_navbartemp
|  OctoPi Support Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/octopi_support
|  Plugin Manager (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/pluginmanager
|  Printer Safety Check (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/printer_safety_check
|  PrintTimeGenius Plugin (1.0.8) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_PrintTimeGenius
|  Software Update (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/softwareupdate
|  Themeify (1.2.0) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_themeify
|  Virtual Printer (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/virtual_printer
2018-07-23 09:12:46,634 - octoprint.environment - INFO - Detected environment is Python 2.7.13 under Linux (linux2). Details:
|  hardware:
|    cores: 4
|    freq: 1200.0
|    ram: 918319104
|  os:
|    id: linux
|    platform: linux2
|  plugins:
|    octopi_support:
|      model: 3B
|      revision: a22082
|      version: 0.15.0
|  python:
|    pip: 10.0.0
|    version: 2.7.13
|    virtualenv: /home/pi/oprint
2018-07-23 09:12:46,667 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/webassets...
2018-07-23 09:12:46,708 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/.webassets-cache...
2018-07-23 09:12:47,238 - octoprint.server - INFO - Shutting down intermediary server...
2018-07-23 09:12:47,580 - octoprint.server - INFO - Intermediary server shut down
2018-07-23 09:12:47,590 - octoprint.events - INFO - Processing startup event, this is our first event
2018-07-23 09:12:47,591 - octoprint.events - INFO - Adding 0 events to queue that were held back before startup event
2018-07-23 09:12:47,594 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue...
2018-07-23 09:12:47,853 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue
2018-07-23 09:12:48,021 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Opening serial port"
2018-07-23 09:12:48,030 - octoprint.util.comm - INFO - Changing monitoring state from "Opening serial port" to "Connecting"
2018-07-23 09:12:48,053 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2018-07-23 09:12:48,118 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "charming-pascal" for _http._tcp
2018-07-23 09:12:48,164 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "charming-pascal" for _octoprint._tcp
2018-07-23 09:12:48,180 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "charming-pascal" for SSDP
2018-07-23 09:12:48,209 - octoprint.server - INFO - Listening on http://127.0.0.1:5000
2018-07-23 09:12:48,219 - octoprint.plugins.bedlevelvisualizer - INFO - OctoPrint-BedLevelVisualizer loaded!
2018-07-23 09:12:48,972 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2018-07-23 09:12:50,004 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from https://plugins.octoprint.org/plugins.json
2018-07-23 09:12:50,834 - octoprint.server.util.sockjs - INFO - New connection from client: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:12:51,931 - octoprint.plugins.pluginmanager - INFO - Loaded plugin notices data from https://plugins.octoprint.org/notices.json
2018-07-23 09:12:53,554 - octoprint.util.comm - INFO - Changing monitoring state from "Connecting" to "Operational"
2018-07-23 09:12:53,577 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2018-07-23 09:12:53,627 - octoprint.util.comm - INFO - Printer reports firmware name "Marlin 1.1.7-C2 (Github)"
2018-07-23 09:27:34,370 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2018-07-23 09:32:28,104 - octoprint.server.util.sockjs - INFO - Client connection closed: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:32:33,713 - octoprint.server.util.sockjs - INFO - New connection from client: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:33:30,164 - tornado.access - WARNING - 403 GET /api/printerprofiles (2600:8801:9908:a200:f977:31ca:6174:cd1d) 41.59ms
2018-07-23 09:33:30,209 - tornado.access - WARNING - 403 GET /api/slicing (2600:8801:9908:a200:f977:31ca:6174:cd1d) 31.71ms
2018-07-23 09:33:30,307 - octoprint.server.util.sockjs - INFO - Client connection closed: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:33:31,098 - octoprint.server.util.sockjs - INFO - New connection from client: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:35:20,579 - tornado.access - WARNING - 404 GET /static/webassets/http/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 22.53ms
2018-07-23 09:35:20,601 - tornado.access - WARNING - 404 GET /static/webassets/htt/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 9.27ms
2018-07-23 09:35:20,620 - tornado.access - WARNING - 404 GET /static/webassets/h/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 7.67ms
2018-07-23 09:35:20,643 - tornado.access - WARNING - 404 GET /static/webassets/ht/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 11.72ms
2018-07-23 09:36:51,736 - octoprint.server.util.sockjs - INFO - New connection from client: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:36:52,400 - octoprint.server.util.sockjs - INFO - Client connection closed: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:37:32,751 - tornado.access - WARNING - 404 GET /static/webassets/http/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 7.07ms
2018-07-23 09:37:32,969 - tornado.access - WARNING - 404 GET /static/webassets/htt/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 6.67ms
2018-07-23 09:37:33,141 - tornado.access - WARNING - 404 GET /static/webassets/ht/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 12.18ms
2018-07-23 09:37:33,334 - tornado.access - WARNING - 404 GET /static/webassets/h/plugin/themeify/static/img/LogisticsBackground.png (2600:8801:9908:a200:f977:31ca:6174:cd1d) 6.69ms
2018-07-23 09:42:34,374 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2018-07-23 09:45:37,769 - octoprint.server.api.system - INFO - Performing command for core:restart_safe: sudo service octoprint restart
2018-07-23 09:45:39,785 - octoprint.server - INFO - Shutting down...
2018-07-23 09:45:40,497 - octoprint.events - INFO - Processing shutdown event, this will be our last event
2018-07-23 09:45:40,504 - octoprint.events - INFO - Event loop shut down
2018-07-23 09:45:40,538 - octoprint.server - INFO - Goodbye!
2018-07-23 09:45:49,775 - octoprint.startup - INFO - ******************************************************************************
2018-07-23 09:45:49,781 - octoprint.startup - INFO - Starting OctoPrint 1.3.9rc4
2018-07-23 09:45:49,783 - octoprint.startup - INFO - Starting in SAFE MODE. Third party plugins will be disabled!
2018-07-23 09:45:49,786 - octoprint.startup - INFO - ******************************************************************************
2018-07-23 09:45:50,969 - octoprint.startup - INFO - Blacklist processing done
2018-07-23 09:45:51,072 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2018-07-23 09:45:55,516 - octoprint.plugin.core - INFO - Found 18 plugin(s) providing 11 mixin implementations, 8 hook handlers
2018-07-23 09:45:55,758 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval
2018-07-23 09:45:55,827 - octoprint.server - INFO - Intermediary server started
2018-07-23 09:45:55,830 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2018-07-23 09:45:57,460 - octoprint.plugin.core - INFO - Found 18 plugin(s) providing 11 mixin implementations, 8 hook handlers
2018-07-23 09:45:57,556 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/pi/.octoprint/uploads...
2018-07-23 09:45:59,431 - octoprint.filemanager.storage - INFO - ... file metadata for /home/pi/.octoprint/uploads initialized successfully.
2018-07-23 09:45:59,839 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk
2018-07-23 09:46:04,120 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python2 -m pip" as command to invoke pip
2018-07-23 09:46:08,199 - octoprint.util.pip - INFO - Version of pip is 10.0.0
2018-07-23 09:46:08,203 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python2.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes
2018-07-23 09:46:08,204 - octoprint.util.pip - INFO - ==> pip ok -> yes
2018-07-23 09:46:08,216 - octoprint.plugin.core - INFO - Initialized 11 plugin implementation(s)
2018-07-23 09:46:08,412 - octoprint.plugin.core - INFO - 18 plugin(s) registered with the system:
|  Action Command Prompt Support (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/action_command_prompt
|  Announcement Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/announcements
| !Bed Leveling Wizard (0.1.4) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_bedlevelingwizard
| !Bed Visualizer (0.1.2) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_bedlevelvisualizer
|  Core Wizard (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/corewizard
|  CuraEngine (<= 15.04) (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/cura
|  Discovery (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/discovery
| !EEPROM Marlin Editor Plugin (1.2.1) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_eeprom_marlin
| !GCODE System Commands (0.1.1) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_gcodesystemcommands
|  Logging (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/logging
| !Navbar Temperature Plugin (0.9) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_navbartemp
|  OctoPi Support Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/octopi_support
|  Plugin Manager (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/pluginmanager
|  Printer Safety Check (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/printer_safety_check
| !PrintTimeGenius Plugin (1.0.8) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_PrintTimeGenius
|  Software Update (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/softwareupdate
| !Themeify (1.2.0) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_themeify
|  Virtual Printer (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/virtual_printer
2018-07-23 09:46:08,458 - octoprint.environment - INFO - Detected environment is Python 2.7.13 under Linux (linux2). Details:
|  hardware:
|    cores: 4
|    freq: 1200.0
|    ram: 918319104
|  os:
|    id: linux
|    platform: linux2
|  plugins:
|    octopi_support:
|      model: 3B
|      revision: a22082
|      version: 0.15.0
|  python:
|    pip: 10.0.0
|    version: 2.7.13
|    virtualenv: /home/pi/oprint
2018-07-23 09:46:08,488 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/webassets...
2018-07-23 09:46:08,534 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/.webassets-cache...
2018-07-23 09:46:08,950 - octoprint.server - INFO - Shutting down intermediary server...
2018-07-23 09:46:09,208 - octoprint.server - INFO - Intermediary server shut down
2018-07-23 09:46:09,217 - octoprint.events - INFO - Processing startup event, this is our first event
2018-07-23 09:46:09,220 - octoprint.events - INFO - Adding 0 events to queue that were held back before startup event
2018-07-23 09:46:09,261 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue...
2018-07-23 09:46:09,450 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue
2018-07-23 09:46:09,654 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Opening serial port"
2018-07-23 09:46:09,659 - octoprint.util.comm - INFO - Changing monitoring state from "Opening serial port" to "Connecting"
2018-07-23 09:46:09,675 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2018-07-23 09:46:09,716 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "charming-pascal" for _http._tcp
2018-07-23 09:46:09,747 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "charming-pascal" for _octoprint._tcp
2018-07-23 09:46:09,756 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "charming-pascal" for SSDP
2018-07-23 09:46:09,766 - octoprint.server - INFO - Listening on http://127.0.0.1:5000
2018-07-23 09:46:09,771 - octoprint.server - INFO - Server started successfully in safe mode as requested from config, removing flag
2018-07-23 09:46:10,642 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2018-07-23 09:46:11,582 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid
2018-07-23 09:46:12,595 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
2018-07-23 09:46:13,491 - octoprint.server.util.sockjs - INFO - New connection from client: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:46:15,212 - octoprint.util.comm - INFO - Changing monitoring state from "Connecting" to "Operational"
2018-07-23 09:46:15,271 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2018-07-23 09:46:15,368 - octoprint.util.comm - INFO - Printer reports firmware name "Marlin 1.1.7-C2 (Github)"
2018-07-23 09:46:43,940 - tornado.access - WARNING - 403 GET /api/plugin/octopi_support (2600:8801:9908:a200:f977:31ca:6174:cd1d) 36.67ms
2018-07-23 09:46:43,989 - tornado.access - WARNING - 403 GET /api/connection (2600:8801:9908:a200:f977:31ca:6174:cd1d) 33.27ms
2018-07-23 09:46:44,031 - tornado.access - WARNING - 403 GET /api/printer/command/custom (2600:8801:9908:a200:f977:31ca:6174:cd1d) 29.01ms
2018-07-23 09:46:44,072 - tornado.access - WARNING - 403 GET /api/system/commands (2600:8801:9908:a200:f977:31ca:6174:cd1d) 30.21ms
2018-07-23 09:46:44,114 - tornado.access - WARNING - 403 GET /api/plugin/printer_safety_check (2600:8801:9908:a200:f977:31ca:6174:cd1d) 30.26ms
2018-07-23 09:46:44,309 - tornado.access - WARNING - 403 GET /api/plugin/action_command_prompt (2600:8801:9908:a200:f977:31ca:6174:cd1d) 50.32ms
2018-07-23 09:46:44,366 - tornado.access - WARNING - 403 GET /api/printerprofiles (2600:8801:9908:a200:f977:31ca:6174:cd1d) 39.82ms
2018-07-23 09:46:44,418 - tornado.access - WARNING - 403 GET /api/settings (2600:8801:9908:a200:f977:31ca:6174:cd1d) 30.47ms
2018-07-23 09:46:44,704 - octoprint.server.util.sockjs - INFO - Client connection closed: 2600:8801:9908:a200:f977:31ca:6174:cd1d
2018-07-23 09:46:46,111 - octoprint.server.util.sockjs - INFO - New connection from client: 2600:8801:9908:a200:f977:31ca:6174:cd1d

Link to contents of Javascript console in the browser

Home page before bringing up the Settings dialog:

Could not bind view model – "PrintTimeGeniusViewModel" – "to target" – "#settings_plugin_PrintTimeGenius" – ":" – "text↵update@http://charming-pascal.local/static/webassets/packed_libs.js?331a1bb5:11404:23…"
error
  (anonymous function) — packed_core.js:15072
  Pn — packed_libs.js:11208:532
  (anonymous function) — packed_libs.js:11229
  (anonymous function) — packed_core.js:15035
  Pn — packed_libs.js:11208:532
  (anonymous function) — packed_libs.js:11229
  bindViewModels — packed_core.js:15002

After bringing up the Settings dialog (at the default Serial Connection tab) and pressing Close:

ReferenceError: Unable to process binding "text: function (){return firstFilamentPrintTime().toFixed(1) }"
Message: Can't find variable: firstFilamentPrintTime

Troubleshooting

Having disabled only the OctoPrint-PrintTimeGenius, the problem goes away and the Close button works as expected.

Updated to 1.0.9 and retested. Problem still persists in latest version.

Weird char instead of gold star

Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version: 1.3.9rc3

PrintTimeGenius Version (if you know): 1.0.5

What did you try:
Print

What happenned:
The gold star is badly display

What did you expect to happen:
A real gold star

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).

Can you use the html code instead of the utf8 (I guess) one ?
This code for instance: ☆

star

Version Compatibility Error

I'm having trouble installing to plugin from version 1.3.9rc2. The following error message is issured:

Could not find a version that satisfies the requirement OctoPrint==1.3.9rc1 (from OctoPrint-PrintTimeGenius==1.0.4) (from versions: )
No matching distribution found for OctoPrint==1.3.9rc1 (from OctoPrint-PrintTimeGenius==1.0.4)

Add junction deviation, s_curve, etc support

Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version: 1.3.9rc3

PrintTimeGenius Version (if you know): 1.0.5

What did you try:
I have print a gcode.

What happenned:
Estimated 8h40. Real 8h27.
The second print indicate (without another analyze) 8h40 again.

What did you expect to happen:
I expect a 8h27 estimated time for another print of the same gcode.

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).

Support for files on the machine's SD card

Does this plugin support files on the SD card?


Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version: 1.3.9-rc3

PrintTimeGenius Version (if you know): 1.0.7

What did you try: Start print from machine's SD card, initiated from the machine's LCD.

What happenned: The following error repeats in the log:

2018-07-18 22:29:52,804 Failed to estimate, ignoring.
Traceback (most recent call last):
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_PrintTimeGenius/__init__.py", line 110, in estimate
    statisticalTotalPrintTime, statisticalTotalPrintTimeType)
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_PrintTimeGenius/__init__.py", line 67, in _genius_estimate
    metadata = self._file_manager.get_metadata(self._origin, self._path)
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/filemanager/__init__.py", line 599, in get_metadata
    return self._storage(destination).get_metadata(path)
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/filemanager/__init__.py", line 690, in _storage
    raise NoSuchStorage("No storage configured for destination {destination}".format(**locals()))
NoSuchStorage: No storage configured for destination sdcard

What did you expect to happen: The print time to be estimated. Does this plugin support files on the SD card?

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).

plugin_PrintTimeGenius_engine.log

Enhancement request: Project what local time the print will complete

No issue here, just a simple quality-of-life enhancement request.

Have the plugin add what it calculates as the projected time to complete the print to the current local time and reports a projected local time that completion will occur at. Bonus points if you can find some way to poll a timeserver during analysis to correct the device's clock to current universal time and then correct for a time zone the user selects from within the plugin settings.

EDIT: It just occurred to me that a lot of users don't have their devices facing the internet, so the time server idea might be bunk. Maybe read the current time from the device's clock and have a place where the user can see it and manually input their local time to reset the clock, if needed, so the projected completion time is correct for them.

no output 1.3.9rc3

Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version: 1.3.9rc3

PrintTimeGenius Version (if you know):1.0.7

What did you try: analyze file from settings

What happened: nothing, but log shows normal execution and I can execute the commands in a shell

What did you expect to happen: results to appear in the settings window

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).

Issue analyzing with two print heads

Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version: 1.3.9rc3

PrintTimeGenius Version (if you know): 1.0.6

What did you try: Trying to analyze/print a file with command to use both print heads on a dual print head extruder.

What happenned: fails to analyze the gcode for the second print head

What did you expect to happen: analyze the file for both print heads.

There seems to be an issue or some kind of conflict when I try to print a file that is setup for dual extrusion. As seen in image # 1 where PrintTimeGenius is disabled, octoprint correctly analyzed the filament usage for the second print head in addition to the first. In image # 2 where PrintTimeGenius is enabled, it fails to account for what is being printed with the second print head. The biggest issue this causes is since filament usage is not calculated for the second print head, it screws up my filament inventory tracked by filament manager.

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).
1
2

Cant find in Plugin Manager nor install manually

Hi,

I would love to try this plugin but unfortunately I can't find it in the Plugin Manager. I can't install it manually from the provided URL either, when I do so, it says plugin "Unknown" installed and the plugin is nowhere to be found in the UI.

I'm running the latest stable OctoPrint (1.3.8).

Thanks,
Jonathan

Exec format error on analysis, marlin-calc.i686

Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version:
1.3.9RC3

PrintTimeGenius Version (if you know):
1.0.7

What did you try:
Uploading gcode file, watching logs

What happenned:

Exception in plugin logs:

2018-07-18 13:08:58,079 Running built-in analysis.
2018-07-18 13:09:32,799 Result: {'estimatedPrintTime': 1055.6804157451782, 'printingArea': {'maxZ': 20.012, 'minX': 86.101, 'maxX': 113.9, 'maxY': 118.9, 'minY': 91.1, 'minZ': 0.28}, 'dimensions': {'width': 27.799000000000007, 'depth': 27.80000000000001, 'height': 19.732}, 'filament': {'tool0': {'volume': 1.8234915016387574, 'length': 758.1196699999902}}}
2018-07-18 13:09:33,375 Running: "/home/octoprint/src/OctoPrint/venv/bin/python" "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_gcode_comments.py" "/home/octoprint/.octoprint/uploads/20m_sphere.gcode"
2018-07-18 13:09:33,942 Subprocess output: 
2018-07-18 13:09:33,944 Result: {"filament": {"tool0": {"volume": 1.8, "length": 758.1}}}

2018-07-18 13:09:33,947 Merged result: {'estimatedPrintTime': 1055.6804157451782, 'printingArea': {'maxZ': 20.012, 'minX': 86.101, 'maxX': 113.9, 'maxY': 118.9, 'minY': 91.1, 'minZ': 0.28}, 'dimensions': {'width': 27.799000000000007, 'depth': 27.80000000000001, 'height': 19.732}, 'filament': {u'tool0': {u'volume': 1.8, u'length': 758.1}}}
2018-07-18 13:09:36,766 Running: "/home/octoprint/src/OctoPrint/venv/bin/python" "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py" "marlin-calc" "/home/octoprint/.octoprint/uploads/20m_sphere.gcode" "M201 Y800 X800 Z100 E1000
M203 Y450.00 X450.00 Z5.00 E25.00
M205 B20000 E1.00 S0.00 T0.00 Y7.00 X8.00 Z0.30
M204 P1000.00 R800.00 T800.00"
2018-07-18 13:09:37,214 Failed to run '"/home/octoprint/src/OctoPrint/venv/bin/python" "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/analyze_progress.py" "marlin-calc" "/home/octoprint/.octoprint/uploads/20m_sphere.gcode" "M201 Y800 X800 Z100 E1000
M203 Y450.00 X450.00 Z5.00 E25.00
M205 B20000 E1.00 S0.00 T0.00 Y7.00 X8.00 Z0.30
M204 P1000.00 R800.00 T800.00"'
Traceback (most recent call last):
  File "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/__init__.py", line 219, in _do_analysis
    raise Exception(results_err)
Exception: Running: "/home/octoprint/src/OctoPrint/venv/lib/python2.7/site-packages/octoprint_PrintTimeGenius/analyzers/marlin-calc.i686" "/home/octoprint/.octoprint/uploads/20m_sphere.gcode" "M201 Y800 X800 Z100 E1000
M203 Y450.00 X450.00 Z5.00 E25.00
M205 B20000 E1.00 S0.00 T0.00 Y7.00 X8.00 Z0.30
M204 P1000.00 R800.00 T800.00"

What did you expect to happen:

No exception

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).

20m_sphere.zip

Do a linear regression to determine factors between estimated print time and actual print time.

Estimated print time is very close to actual print time but could be off due to some factors. First, the unknown time to heat up at the beginning and potentially cool off at the end. Also, there might be a some factor by which the estimator is off regularly.

So we'd expect that the true print time is something like:

actual = heating + scaling*estimate + cooldown

We can measure the heating by seeing how long it takes from start until the first filament comes out of the nozzle.

We can measure the cooling by seeing how long it takes between the last filament out of the nozzle and the end of printing.

And we can measure the scaling by knowing the actual time and solving for scale.

Once we have all those, the estimated total can be adjusted for those. The estimated total stored in metadata will be after adjustment so all the other algorithms and displayed info can use it. But when showing remaining time, we'll use the formula above so that we can adjust remaining time properly using the progress data.


For some gcode we don't have an analysis of progress, just estimated time. For those, a scale and offset are still useful! But we won't know when the heating or cooling being. For that reason, it's better to store:

heating, heating+cooling

instead of:

heating, cooling

For cases where we don't know progress, we'll just have heating be unknown and only know heating+cooling. That is enough to get an estimate using the first formula but not enough to fix up the remaining time. But that's okay.

Caused severe stuttering

Before reporting, check if your problem is here:
https://github.com/eyal0/OctoPrint-PrintTimeGenius/wiki/Common-problems

Please fill this out:

OctoPrint Version: 1.3.0RC3 also 1.3.8 (downgraded to test however plugin not visible)

PrintTimeGenius Version (if you know):1.0.6

What did you try: Printing a large complicated model sliced in S3D (64mb filesize)

What happenned: Comms lag resulting in a stuttering print and artifacts on perimeters. pi temp was higher then expected (normally runs at max 70c in this weather was running at 80c) CPU was at around 45% load

Rerunning the print now with plugin disabled no issues and running at 70c and 35% load

What did you expect to happen: Usual reliable print (model is a shop item that has printed over 10 time previously;y on this slice with no issues)

If relevant, upload the PrintTimeGenius log and any problematic gcode files (you might need to rename them).

Missing data? [] artifact at end of string

screen shot 2018-07-15 at 3 44 49 pm

I'm seeing what looks to be a yellow pair of square brackets after the Print Time Left: value. Not sure if there's something that's supposed to be there or what.

Version: 1.0.5
OctoPrint: 1.3.9rc2

Add an option to disable/enable Genius

Maybe it would be a combobox? The options are:

  • Genius completely disabled: Still do analysis like normal but always use the built-in estimator.
  • Genius only when there isn't any history: That's what we're doing now.
  • Genius always.

OctoPrint 1.3.9rc3 compatibility ?

The RC3 is out with a fix for the estimated time.
I have seen a monkeypatching for this part.

Does anyone has try this module again the rc3 ?
Is it still working even with the monkey patching ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.