{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/continuum/v1/edge/printer_command.schema.json", "title": "PrinterCommand", "description": "The closed set of things the cloud may ask a printer to do. Deliberately small, and deliberately missing the obvious one: there is no 'start a print' variant. The gateway can start an uploaded file, but that code path has never been run against real hardware, and the first thing to exercise it should be a human watching the machine rather than a message arriving from the internet. Add the variant here once it has been confirmed by hand.", "oneOf": [ { "type": "object", "title": "SetFanSpeed", "properties": { "action": { "const": "set_fan_speed" }, "percent": { "type": "integer", "minimum": 0, "maximum": 100, "description": "A percentage on this wire regardless of what the vendor wants. Each gateway converts: for Bambu that means an M106 PWM value over MQTT, which the printer then reports back as one of 16 fan gears - so a value set here does not read back identically." } }, "required": ["action", "percent"] }, { "type": "object", "title": "SendGcodeLine", "properties": { "action": { "const": "send_gcode_line" }, "line": { "type": "string", "description": "A single raw gcode line. By far the most powerful variant, and the one to be most careful about ever exposing to a UI." } }, "required": ["action", "line"] } ] }