Suppress Temperature Messages not working

Actually, for the terminal filters these are all done client side so the correct one would be JavaScript in this instance.

Opps... Fortunately in this case, the regex is the same in both flavors.

1 Like

Thanks again for your assistance. Unfortunately "(Send: (N\d+\s+)?M105)|(Recv: == T:.*$)" also had no change in the temperature feed or filtering.
I'm literally stabbing in the dark with no idea myself.
It is very much an entirely new language for me, and I don't even know what this language is called at this point :laughing:.

I'll have to learn much more before I can do any real troubleshooting or make an informed comment or form logical question.
Your reference to "regex" is the first time I'm hearing that word, and don't know what it means. I've never had exposure to any of this language before now.

Your efforts are very much appreciated, but I think you're offering advice to someone that doesn't know what to do with it.

Not sure if this makes any difference, but this is the current RegExp thing text before changing it. All might as well be hieroglyphs to me.

(Send: (N\d+\s+)?M105)|(Recv:\s+(ok\s+((P|B|N)\d+\s+))?(B|T\d):\d+)

It appears to work for me, see demo here:

Regex is a beast of a thing, very powerful but at the same time incredibly confusing. The only way I have managed to make it work is using an online tool, https://regex101.com. Not suggesting you learn regex, but I would wonder why it works in the online tool. Please absolutely double check you have it right, if not upload a serial.log file with the commands that need to be suppressed in the terminal within, and we will see if there are some differences.

Relevant gif was posted on the OctoPrint discord server the other day:
regex

RegEx == Regular Expression. They are quite cryptic when you first encounter them but sites like Regex101 will help demystify them. With that site you can put in your regex and your test string and it will tell you what the regex is expecting, what it finds and you can probably fix it.

I would fix it but I don't have the test strings from your serial.log files.

Dear all,

thanks for the work so far. I am using an Ender 3 v2, firmware 1.0.2 (stock, got it some days ago) and I am facing the double temperature readings in the terminal. The plot itself is running fine for me thanks to https://community.octoprint.org/t/temperature-reporting-now-working-with-new-ender-3-v2/21053/58 :heart:

I hope you can help with the Terminal problem, too because I am not sure how to use the Regex101 properly. Therefore, please find attached my serial.log

Also, can you help me understand why I am getting delayed double Recvs? Your help would be greatly appreciated!

Best
GtrAngus

serial.log (10.7 KB)

Edit: Played around with the parameters a bit and found this to work for me:

(Send: (N\d+\s+)?M105)|(Recv: TT::.*$)

However, I am not happy with the final result due to the "double Revs". If I interpret it correctly, then the [...] hides the temperature readings but the next double Recv arrives and "resets" the filter. I was hoping to get only one [...] throughout until the next non-temperature reading/command arrives. Any thoughts here?

Recv:
[...]
Recv:
[...]
Recv:
[...]
Recv:
[...]
Recv:

Try

(Send: (N\d+\s+)?M105)|(Recv:\s+TT::.*$)|(Recv:\s*$)
2 Likes

That did the trick, no more temperature entries.. Thank you, thank you, thanks you

1 Like

I tried that with my Ender 5+, and it didn't work. Here's a sample temperature line:
Recv: == T:215.47 /215.00 == B:55.09 /55.00 @:46 B@:127

When I use https://regex101.com/ and input the quoted regular expression and the sample temperature line you supplied, I get a match.

Not sure what to say except "it works for me". Verify that the regular expression you entered into OctoPrint is exactly as shown. Copy and paste it into the regex101 site, select Python as the Flavor, cut and paste your sample line and see what it says.

I don't know if you fixed this on your 5+ but for me the answer was.

(Send: (N\d+\s+)?M105)|(Recv: == T:.*$)

It needed more space...

For those who stumble upon this old post, seeking answers as I did, (Send: (N\d+\s+)?M105)|(Recv: == T:.*$) will work, but you must confirm that you have two spaces after "Recv:". Posting in this forum automatically truncates the extra space, making a copy/paste of the code ineffective. You must add the extra space yourself.
Temp Suppress Code

To avoid this problem, use the 'preformatted text' button (pictured below) or surround with backticks like `this` which would render as this.
Screenshot_20220620-182934_Chrome

1 Like

I have recently made an update and this older code no longer worked. The new code, which now works for me is:

(Send: (N\d+\s+)?M105)|(Recv:  T:.*$)

(Thanks to Charlie for teaching me about the pre-formatted text button!)

1 Like