Homing your printer systematically before a print is redundant, a waste of time and sometimes even an issue (if your homing probe is misbehaving and you’ve already dialed an offset by need to restart the print for a clean first layer for instance) I recently came upon this G28 macro that only homes of the printed is not already homed.
[gcode_macro G28]
# Only home if needed.
rename_existing: G28.1
gcode:
{% if PA %}
G28.1 {PA}
{% else %}
{% if printer.toolhead.homed_axes != "xyz" %}
G28.1
{% endif %}
{% endif %}
All you have to do is add this to your macro.cfg file and it will override any G28 command from any gcode and only execute a home if needed.
If you want to execute a home even if not needed, you can send the command G28.1
or give it a parameter, like G28 X
, or G28 XYZ
and it will force the homing
Yeah I meant it as more a heads up if someone finds themselves in a scenario like you described where their bed probe is on the fritz and they’re hoping to work around that.
Also, this is for Klipper you can change the behavior of your printer to do whatever you want.