Setting new temp in Octoprint doesn't work

What is the problem?

Octoprint's normal behavior seems to be to first warm the bed, and then heat up the hot end before starting the print. On some short prints, I'd like to get a jump on things and start the hot end heating up before the bed is up to temperature.

When I try to change the temperature from the Octoprint web UI, it does not work. No reaction at all.

What did you already try to solve it?

I attempted to use the number field, the +/- buttons, the menu with the blue check mark, and the menu up by "Target" to set the tool temp to 180 or 190, but it always immediately switches back to 0 and does not heat up. Using the + key does make the number in the field change, but the printer doesn't seem to get the message as it's still sending back "23/0" in the Terminal.

Have you tried running in safe mode?

No.

Did running in safe mode solve the problem?

No.

Systeminfo Bundle

octoprint-systeminfo-20250307121711.zip (26.2 KB)

Additional information about your setup

OctoPrint 1.10.3
OctoPi 1.0.0
Anycubic Kobra Plus, firmware 2.8.3
Safari 18.3 on Mac OS 15.3.1

Hello @macindude !

That is not OctoPrint's behaviour, that are the settings in the slicer.

Interesting - It doesn't do that when I print from the SD card on the printer?

In any case, I'm looking to understand why I can't change temps manually from the UI so whether that's Cura or Octoprint isn't relevant.

I'm not sure I understand the test conditions...

Can you adjust the temperatures when:

  1. There is not an active print?
  2. There is an active print from the SD card?
  3. There is an active print from Octoprint (i.e over the USB connection)?

I just tried an experiment on my LulzBot TAZ 6 for cases 1 & 3 and could successfully update the temperature from the web interface as shown below (the dotted red line shows the manual changes).

The file I was "printing" didn't have any temperature, G0, or G1 commands.

In the first paragraph of your problem statement, you talk about OctoPrint's normal behavior and as @Ewald_Ikemann pointed out, this behavior is in the gcode file generated by the slicer, usually in the start gcode section of the printer definition.

Marlin's gcode has temperature commands that wait for the temperature to be reached and commands that don't wait. Simple start gcode contents will use the wait versions but can be modified to use the don't wait versions to get bed and nozzle heating simultaneously.

I think the right answer here is to fix the gcode in the slicer so that you don't have to manually change the temperature from the web interface. Do you agree?

I think so... But I'm still curious as to why the printer apparently does both simultaneously. I looked at both a recent gcode file from last week, and one from what was probably my first "real" print (after Benchy of course). Both of them start with the following (comments mine):

M140 S60 ; Set bed temp to 60 without waiting
M105 ; Report temps
M190 S60 ; Set bed temp to 60 and wait - This is the culprit.
M104 S195 ; Set hot end temp to 195 without waiting
M105 ; Report temps
M109 S195 ; Set hot end temp to 195 and wait.

However, my printer (Anycubic Kobra Plus) apparently will continue with "M" commands instead of waiting when it's printing from its SD card, and that's why things heat up simultaneously.

It seems like a better solution would be to do this:

M140 S60 ; Set bed temp to 60 without waiting
M104 S195 ; Set hot end to 195 without waiting
M105 ; Report temps
M190 S60 ; Set bed to 60 and wait
M109 S195 ; Set hot end to 195 and wait

However, I can't seem to find a way to make Cura behave that way. That isn't an Octoprint issue, though, so I'm going to mark this one as solved.