<font face="Arial, Verdana">Strange thing. The routine does not differ between sensor types. It uses the the temperature returned which you see also in the host. Only wanted reason to exit is with SKIP_M109_IF_WITHIN but in your example it must be 180 and I doubt you have set it that high.</font>
The routine that should do the heatup and waiting is in Extruder.cpp line 582
<font face="Arial, Verdana">void Extruder::setTemperatureForExtruder(float temperatureInCelsius, uint8_t extr, bool beep, bool wait)</font>
<font face="Arial, Verdana">{</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">Could you add some </font>
<font face="Arial, Verdana">Com::printFLN(PSTR("pos 1"));</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">in that routine to see what is happening there. Important is the the loop</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">do { --- </font>
<font face="Arial, Verdana">
</font>
Com::printFLN(PSTR("wait "),(long)waituntil); // add this as well<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">}</font>
<font face="Arial, Verdana"> while(waituntil == 0 || (waituntil != 0 && (millis_t)(waituntil - currentTime) < 2000000000UL));</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">that should loop until temperature is reached. This is where you exit to early from your description. Hopefully that gives some insight what is going on.</font>