Macros are compatible with Klipper only.
Home if not already homed.
This is useful to throw at the beginning of other macros.
[gcode_macro _CG28] gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %}