add_safety_profile
Save a local owner-supplied safety profile override for a printer model, tightening curated hotend, bed, feedrate, and build-volume limits without uploading or sharing data.
Instructions
Add a local safety-profile override for a printer model. Free at every tier.
Validates the profile and saves it to this machine's override file
(``~/.kiln/local_printer_overrides.json``; the older name
``community_profiles.json`` is still read). Nothing saved here is
uploaded, pooled or shared.
An override may only TIGHTEN a curated limit. A higher number is
discarded in favour of Kiln's curated value, so this is the right
tool for a printer Kiln has never heard of, or for holding your own
machine BELOW the curated limits.
It is the WRONG tool for "my hotend is upgraded". Use
``select_printer_variant`` for that: it resolves to a ceiling Kiln
has verified against the manufacturer, instead of one you typed.
Values saved here are labelled owner-supplied in every profile
readout — Kiln never presents them as its own verified numbers.
For a printer Kiln has no number for, a limit above its generic
floor needs two things. A signed-in install (a free account:
``kiln_signin``), because Kiln vouches for ceilings it enforces
and a ceiling nobody set is held to the floor. And a PERSON's
confirmation: Kiln shows a code on the screen of the machine it
runs on, the person types it in the chat, you pass it to
``give_print_code``, then call this again with the same numbers. Find the numbers on the maker's own spec
page (maximum hotend and bed temperature, bed size) and say where
they came from in ``notes``; never guess them, and never ask the
person to type numbers they do not know. The code is the
confirmation; nothing you can call stands in for it.
A Klipper printer that is set up here can state them itself.
Leave ``profile`` out and Kiln reads the heater ceilings, travel
and velocity limit off the printer's own configuration (through
Moonraker), puts them in front of the person as ``proposal`` with
the configuration lines they came from, and takes the same code.
The saved limits are labelled as read from that printer. The
hotend and bed numbers are the board's shutdown points, and a
hotend proposal above Kiln's generic floor carries a
``caution`` about PTFE-lined hotends: say it to the person
before they confirm. A printer that cannot state them (any
other backend) says so and asks for ``profile``; a
configuration that states only some of them hands those back
in ``proposal`` for you to complete.
Args:
printer_model: Short identifier for the printer (e.g.
``"my_custom_corexy"``).
profile: Dict containing at least ``max_hotend_temp``,
``max_bed_temp``, ``max_feedrate``, and ``build_volume``
(a list of 3 positive numbers ``[X, Y, Z]``). Optional
fields: ``display_name``, ``max_chamber_temp``, ``min_safe_z``,
``max_volumetric_flow``, ``notes``. Omit it to read the
limits off the printer.
printer_name: Which registered printer to read the limits
off when ``profile`` is omitted; the default printer
when empty. Ignored when ``profile`` is given.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"printer_model": "<printer_model>"
},
"name": "add_safety_profile"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Dict containing at least ``max_hotend_temp``, ``max_bed_temp``, ``max_feedrate``, and ``build_volume`` (a list of 3 positive numbers ``[X, Y, Z]``). Optional fields: ``display_name``, ``max_chamber_temp``, ``min_safe_z``, ``max_volumetric_flow``, ``notes``. Omit it to read the limits off the printer. | |
| printer_name | No | Which registered printer to read the limits off when ``profile`` is omitted; the default printer when empty. Ignored when ``profile`` is given. Default: "". | |
| printer_model | Yes | Short identifier for the printer (e.g. ``"my_custom_corexy"``). |