Temperature reporting now working with new ender 3 V2

Is it normal there's 8 "m.group" param passed but only 7 %s in the string ?

That was it. I added the missing %s corresponding to the 8th capture group and it parse now.
Thanks a lot !

Here's the file modified Ender3V2TempFix.zip (913 Bytes)

btw what's the meaning of the @ and B@ that are completly ignored at the end of the parsing line ?

Thanks for fixing the plugin. That line was one that I couldn't test without the actual hardware.

That's a very good question and I don't know the answer! What I do know is that part of the line seems to be ignored by everyone. I haven't found any documentation so I guess spending some time studying the Marlin source code would be necessary to figure it out.

Even worse, I'm not sure how to parse that part of the line. The first portion was a weird doubling of the values but because there were two decimal points, I could just ignore the part in the middle. The last part would need to do something like capture the string of digits, count how many, and then keep the first half of them and throw away the rest.

I have edited both of my messages with .zip files in them by replacing the .zip file with the fixes discovered by @noirvent (and I bumped the version number).

I did some quick research because I was curious. I found here: https://reprap.org/wiki/G-code

 T, T0, ..., Tn - extruder temperature. In a single extruder setup, only T will be reported. Some firmware variants will report no T0 in multi extruder setups - in that case T is to be considered the temperature of the first tool. Otherwise, T should be considered the temperature of the currently selected tool (which will be repeated in one of the Tn entries)
B - bed temperature
C - chamber temperature
@ - Hotend power (Prusa only)
B@ - Bed power (Prusa only)
P - PINDAv2 actual (Prusa MK2.5/s MK3/s only)
A - Ambient actual (Prusa MK3/s only)

Apparently, it's not "Prusa only" since creality seems to report too, but it's not really useful in our case

Extremely new to octopi but also just got a v2, and was trying to get the tasmota switch to turn off the printer after the print was completed and wasn't able to. Noticed that it appears that octoprint was not updating the temperature after the print was complete, so octoprint was wait for the temp to drop below a certain threshold to turn the switch off, but it never happened.

I think this might fix that issue, but I'm a bit confused on how to get it to octopi. I've tried to upload it through the plugin manager but it errors out and does not install.

Is there anyway to get it integrated into octopi?

I also think it might fix it. Changes are coming to the OctoPrint Plugin Manager to allow single file plugins but I have not integrated the plugin in this thread yet. In any case, it almost certainly will not get integrated into core OctoPrint (integrated into OctoPi doesn't make sense, see https://community.octoprint.org/t/what-is-the-difference-between-octoprint-and-octopi-are-they-the-same-thing/185).

In the meantime, download the .zip file and extract its contents into the ~/.octoprint/plugins directory on your RPi. First, you will need to connect to your RPi using SSH. The following link can help with that.

How to Use SSH on Your Raspberry Pi

Learn how to SSH into the Raspberry Pi in just a few short steps. Scroll down and start with the Connecting to Your Raspberry Pi over SSH part. The first part is already done for you in the OctoPi image.

If you are using a Windows Desktop, I recommend WinSCP in addition to PuTTY. WinSCP provides a graphical UI for transferring files (over SSH) and will make adding this plugin easier.

Learning a little bit of Linux is going to be a big help in your 3D Printing experience. Let us know if you still need help after absorbing some of this.

1 Like

Thank you, I had some exposure to Linux a LOOOOONGGG time ago, kinda amusing I still have putty and scn on my laptop from those days.

Thank you for taking the time to explain it again, I'm sure you've had to do that countless times.

In checking the file directly it appears that my plugin directory is on a slightly different path. mjpg-streamer/plugins, would that be correct? Under Octoprint all I have is a readme.txt

Uploaded the file into /mjpg-streamer/plugins, and unfortunately it looks like Octoprint will report the temperature while the print is occurring, but when it finishes there is no update to the temperature. The graph under the temperature tab shows that the target T and the bed have been switched off, but the actual T and Actual bed are stopped at the temperature of the print.

If I refresh the Octoprint instance, the graph still reads the temperature that was when the print finished, but down in the table the actual temp is 0.0.

The username is pi and the password is what you (hopefully) changed it to. Using these credentials in PuTTY (and/or WinSCP) should put you into the /home/pi (also known as ~) directory. The plugin .py file goes in the ~/.octoprint/plugins directory. Directories that start with a period are "hidden" but can be seen with "ls -a" in the PuTTY terminal or by setting Show Hidden in WinSCP Preferences.

After placing the file in the correct location, OctoPrint must be restarted. During that process, it will find and install the plugin(s) placed in that directory.

Files in /mjpg-streamer/plugins may augment the camera, but will do nothing for OctoPrint.

Ok I've fixed the placement of the fix file. Once again thank you for taking the time to explain everything. Being a bit rustyt would be an understatement.

Starting a small print now to test to see if the temp shows up after the print completes and shuts down with tasmota. Cross your fingers.

Temperature is responding following the completion of the print!

ANNND SUCCESS Tasmota turned off the printer following print completion.

Thank you b-morgan.

This process will be much easier in the next release of OctoPrint with the single file plugin support in plugin manager. Glad you got it worked out @UltimaSE.

Thank you! I just got my Ender 3 V2 yesterday and hopefully I can help out with the steps I used to copy the Ender3V2TempFix.py file from my Windows 10 machine to my OctoPi.

I am not very good with Linux at all and had my buddy walk me through the steps. There is probably an easier way, but this is how I did mine.

I actually used Windows PowerShell. First I downloaded the Ender3V2TempFix.zip file and extracted the Ender3V2TempFix.py to my desktop. Then I opened up Windows PowerShell and typed

cd desktop

I did this so I would be in the same directory as the extracted Ender3V2TempFix.py file.

Then I typed:

scp Ender3V2TempFix.py pi@octopi.attlocal.net:/home/pi

I guess I could have put the file directly into the .octopi/plugins directory, but my buddy didn't know if the permissions would be right. So he said we'd copy the file from the home directory to the plugins directory after we SSH into OctoPi. Your address might be pi@192.168.0.xxx

Then I ssh'd into OctoPi by typing:

ssh pi@octopi.attlocal.net

My last step was to copy Ender3V2TempFix.py from the Home directory to the .octoprint/plugins directory by typing:

cp Ender3V2TempFix.py .octoprint/plugins

The temp didn't work after restarting the system, so I shut down everything unplugged the power supply and plugged it back in and everything worked perfectly!

Thanks again for this wonderful community!


@b-morgan, thanks a lot for this plugin! My Ender 3 v2 was not showing the temps DURING the print (scrolling stops), unlike others... but this plugin fixed it. My unit shipped with Creality's 0.0.9 firmware, (which had another bug that made it print at 285% Feed Rate by default!!)
Installing 1.0.1 from their site (Marlin 2.0.1) fixed the 285% FR, but still had temperature display issues in Octoprint.

As a side note, (for @sebcbien) the v2 has a 32bit board, no more messing with the Arduino for upgrades. Put "firmware.bin" on an sd card, put it in the ender 3v2, and power it up. It only takes a few seconds, and the new firmware is automatically installed! The SD card does not even have to be blank (I used the SD that came with it)

Switching to the bugfix 2.0.x branch of Merlin on GitHub is also an option, but figured I'd try Creality's firmware first.

Whoooooo hooooooooooo ! Thanks a lot for this information !!!

Thanks for the temperature fix @b-morgan. Another issue I noticed is we don't see the tune screen or any status info like on my ender 3 pro.

I was wondering if we could flash regular marlin. Wasn't sure what the display would show? Any ideas what processor we need to select for the platform.io?

The board is called BOARD_CREALITY_V4
and it got an STM32F103RE ARM Cortex-M4F processor afaik

1 Like

Just to add to the weirdness of v2. I have noticed that my GCODE snippets in octoprint arent executed. For example, when I cancel I have GCODE to turn everything off and move the bed to the front, but when I hit cancel, nothing happens (other then the print stopping).

FYI, had same issue with Ender 3 V2 and no temp graph, but the provided Ender3V2TempFix.py in this thread fixed the issue. Thanks, Jim

1 Like

Id like to thank @b-morgan and @noirvent for this fix, I was noticing more than just the non printing issues, so let me soak test this and see if any of the other temp reporting issues I was seeing re-arise (i.e. temp reported by OctoPrint via ender is 1-2 degrees different than ender reports on its screen - Ender being expected values, octoprints being low).

It still seems suppress temp msgs in the console is not working likely do to pattern matching Creality's divergent temp responses, would it be much more work to incorporate this fix onto that page as well?

I have done plenty of Marlin customization, my only concern now is that Creality is/has not published the source to their git repo (yet?) and I have no idea what impact any customs from bugfix 2 will have on the new color screen.

The color screen shows temps during octoprint printing but not z-height and there is no live Z change screen I can find during octoprint printing on ender screen. But maybe for another thread I guess.