home_axes
Home the print head — what the Home button on the printer's screen does.
Instructions
Home the print head — what the Home button on the printer's screen does.
Refused while a print is running, and while one is paused (the head is
over the part and homing travels).
Where the connected model's own start-sequence homing is served one plan at a time through Kiln's hosted service for a printer paired to your Kiln sign-in, free, and kept on your machine so it works offline — raise first, home X, Z found the way
the maker finds it, park off the plate — it runs that, one described
motion at a time. A bare ``G28`` from an unknown height is exactly the
move that family's own sequences avoid, so a Bambu model whose sequence
is not served here is refused rather than guessed. Other backends send
the firmware's own ``G28`` and say so (``sequence_source:
"firmware_home_routine"``) -- but only after the catalogue's motion
record for the declared ``printer_model`` has answered how that routine
finds Z: on a machine whose Z home presses a probe or the nozzle onto
the plate (most of them) the tool asks for ``plate_clear`` first, on
the few whose Z home cannot touch the plate it runs unasked, and with
no ``printer_model`` declared, or one the catalogue does not know, it
refuses and says which key to set (code ``PRINTER_MODEL_REQUIRED``).
Homing X and Y alone never needs the record. The plan's first step
says what the person will see -- what descends and where, in the
vendor's words -- and whether the routine travels sideways before Z is
known; on a Klipper or USB Marlin machine the unit's own config or
reports settle the cells the maker left blank, and the plan says so.
Branch on ``outcome``: ``confirmed`` (the printer was seen at home),
``accepted`` (sent, not refused, not read back — the honest answer on
every backend Kiln cannot read a homed flag from), ``failed``.
``homed_axes`` names the axes the sequence's own homing commands
addressed; ``resting_position`` says where the head was left.
**Run it in steps the first time on any machine with a person beside
it.** ``plan_only=True`` returns the sequence as steps -- what the
person will see and how each motion knows where to stop -- and sends
nothing. ``step=N`` sends only step N, reports what it left armed
(heater, soft endstops), and describes step N+1 for the next call. A
single script cannot be paused between motions, however well it was
announced; step mode can.
Args:
axes: Any of ``X``, ``Y``, ``Z``. Default all three.
wait_seconds: How long to watch for a fault code afterwards on
backends that raise one (default 10).
step: Send only this step of the sequence (1-based).
plan_only: Describe the steps; send nothing.
plate_clear: A PERSON's statement that the plate is empty. Required
on every call that homes Z on a model whose Z home presses the
nozzle onto the plate (the A1 mini), whatever the plate record
says; without it the tool refuses with
``PLATE_CLEAR_REQUIRED`` and, where the printer has a camera,
``snapshot_path`` -- look, then call again with it set. Never
set it on a person's behalf.
printer_name: Which printer. Omit for the default one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| axes | No | Default: "XYZ". | |
| step | No | ||
| plan_only | No | Default: false. | |
| plate_clear | No | Default: false. | |
| printer_name | No | ||
| wait_seconds | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||