Octoprint believed the print was already finished and started cooling but the printer wasn't actually done!

What is the problem?

My screen TFT showed that the bed and hotend target temp was 0ºC even before the print finished. Looking at my computer screen to see the Octoprint status, it believed it was already finished.

What did you already try to solve it?

I haven't a clue why it is doing this. It's the first time this happens...

Logs
octoprint.log (328.7 KB)

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible)

I have a Pi 3B with running OctoPi 0.17.0 and OctoPrint 1.3.12 and an Ender 3 with Marlin 2.0.x firmware.

These are my plugins:

  • Action Command Prompt Support
  • Announcement Plugin
  • Anonymous Usage Tracking
  • Application Keys Plugin
  • Autoscroll (0.0.2)
  • Backup & Restore
  • Cancel Objects (0.4.1)
  • Change Filament Plugin (0.3.0)
  • Core Wizard
  • Cost Estimation (2.1.3)
  • Custom Control Editor (0.2.1)
  • Discovery
  • DisplayLayerProgress Plugin (1.16.0)
  • DisplayProgress (0.1.2)
  • EEPROM Marlin Editor Plugin (1.2.1)
  • Error Tracking
  • Filament Manager (0.5.3)
  • FileManager (0.1.3)
  • Floating Navbar (0.3.1)
  • Force Login
  • GcodeEditor (0.2.7)
  • HeaterTimeout (0.0.1)
  • LayerDisplay (0.4.1)
  • Logging
  • Navbar Temperature Plugin (0.11)
  • Octolapse (0.3.4)
  • Pi Support Plugin
  • Plugin Manager
  • Preheat Button (0.4.1)
  • Printer Safety Check
  • PrinterAlerts (0.7.4)
  • PrintTimeGenius Plugin (2.2)
  • PSU Control (0.1.9)
  • Software Update
  • STL Viewer (0.4.2)
  • Tab Order (0.5.5)
  • Telegram Notifications (1.5.0)
  • The Spaghetti Detective (1.1.1)
  • Themeify (1.2.0)
  • Upload Anything (1.0.1)
  • Virtual Printer
  • Webcam Tab (0.1.2)

Hello @Deses!

Is this repeatable?
You may try safemode. If it it works fine there, it is obviously one of the plugins.
Hard to tell which one it could be. It will end in try and error.
In the end, not all of the plugins you have listed, because quite some of them belong to Octoprint and can't be disabled and/or deleted.

1 Like

No, buy I'm going to do that right now. Thanks for the suggestion, I didn't know there was a safe mode. :slight_smile:

Printed again in safe mode and exact same behavior happened. The print bed started cooling first and after 10 seconds or so the hotend target temp went to 0.

This is what I'm trying to print:
TachingTech's X.gcode (46.7 KB) | Original stl
Sliced with Cura 4.4.1 with its default 0.4 nozzle 0.2 layer height profile

The gcode looks fine to me, but I'll try printing another benchmark that I know it printed well before.

I am noting that there are two M104 commands at the end.

G0 F6000 X11.801 Y16.893
;TIME_ELAPSED:777.916255
G1 F1500 E472.12696
M140 S0
@Object ENDGCODE
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positionning
G1 X0 Y220 ;Present print
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
M82 ;absolute extrusion mode
M104 S0
;End of Gcode
;SETTING_3 {"ex...

I also note an @Object ENDGCODE command which doesn't strike me as being kosher gcode. I also see mispelled comments like "positionning" which may or may not have been included in a slicer plugin or post-processing script. It looks like the CuraEngine. It looks like there's a ChangeAtZ script running in your slicer, minimally. I also see things like "@Object X.stl". I'm used to seeing these instead as comments.

...
;POSTPROCESSED
;ChangeAtZ instances: 1
;Generated with Cura_SteamEngine 4.4.1
1 Like

Try adding an M400 gcode before the first M140 or M104 gcode in your slicer end gcode settings. That will ensure that all commands queued on the printer firmware have completed before turning off the heaters.

4 Likes

I'm sure @Object ENDGCODE is added by the Cancel Objects plugin to separate the gcode into objects. It's added when you add the gcode to OctoPrint via the web interface and gets processed. CURA doesn't add it by default.

I fixed the duplicated M104 and the typo. And yes, I'm running ChangeAtZ to lower the bed temp to prevent warping in the corners. :slight_smile:

That's a very good suggestion! I didn't had that gcode at the start of my end commands. I hope it does fix my problem! I'll report back when I find out.

Thank you both for the help!

1 Like

If your ChangeAtZ alters the fan speed just make sure that it's not mistakenly disabling any heaters.