Type these in the Mainsail or Fluidd console, or put them in your slicer's G-code. Run the ones
that move the printer only when it is not printing, except AUTO_EJECT in the end G-code.
Cool the bed, push the parts off, check the bed with the probe. Put it in the slicer's end G-code
AUTO_EJECT HEIGHT=[max_layer_z]
The same, with the print height from the slicer, so flat prints are recognised and left alone
AUTO_EJECT HOME=1
Home safely around the parts first if the printer is not homed (after the end macro turned the motors off, a restart or a power cut), then eject
AUTO_EJECT DRY=1
Trace the path 2 cm above the bed without pushing, cooling or probing
AUTO_EJECT_CLEAR
You took the parts off by hand: forget them, the bed is clear. While the bed cools with the printer free, it also stops the eject; the job queue waits for AUTO_EJECT_CONTINUE
AUTO_EJECT_PUSH_NOW
While the bed cools with the printer free (cool_background), push the parts off now instead of waiting (how)
AUTO_EJECT_BIN_EMPTY
You emptied the parts box: count from zero again (the parts box)
AUTO_EJECT_NOTIFY_TEST
Send a test notification to your phone, through the app's notification service and the notify notifier, whichever are set up (notifications.md)
AUTO_EJECT_CONTINUE
You took flat prints off by hand: close the dialog and start the job queue again
First line of the start G-code: stops the print if parts from an earlier print may still be on the bed (recovery.md). With DEMON, AUTO_EJECT_GUARD FROM=DEMON in its _CUSTOM_PRE_START hook (integration.md)
EJECT_PURGE
After your start macro: purge a tall blob the blade can push off, instead of a thin line (integration.md)