From da6281f5d8bc834d4aecc3ea93d88c69d2b3634f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iwo=20Strzebo=C5=84ski?= Date: Wed, 2 Sep 2026 15:17:50 +0000 Subject: [PATCH] feat: added schemas for `print.stop`, `print.pause` and `print.resume` for BambuMQTT v1 and v2 --- schemas/bambulab/README.md | 2 ++ .../v1/report/print/gcode_file.schema.json | 2 +- .../bambulab/v1/report/print/pause.schema.json | 15 +++++++++++++++ .../bambulab/v1/report/print/resume.schema.json | 15 +++++++++++++++ schemas/bambulab/v1/report/print/stop.schema.json | 15 +++++++++++++++ .../upgrade/consistency_confirm.schema.json | 2 +- .../bambulab/v1/request/print/pause.schema.json | 15 +++++++++++++++ .../bambulab/v1/request/print/resume.schema.json | 15 +++++++++++++++ .../bambulab/v1/request/print/stop.schema.json | 15 +++++++++++++++ .../upgrade/consistency_confirm.schema.json | 2 +- .../v2/report/print/gcode_file.schema.json | 2 +- .../bambulab/v2/report/print/pause.schema.json | 15 +++++++++++++++ .../bambulab/v2/report/print/resume.schema.json | 15 +++++++++++++++ schemas/bambulab/v2/report/print/stop.schema.json | 15 +++++++++++++++ .../upgrade/consistency_confirm.schema.json | 2 +- .../bambulab/v2/request/print/pause.schema.json | 15 +++++++++++++++ .../bambulab/v2/request/print/resume.schema.json | 15 +++++++++++++++ .../bambulab/v2/request/print/stop.schema.json | 15 +++++++++++++++ .../upgrade/consistency_confirm.schema.json | 2 +- 19 files changed, 188 insertions(+), 6 deletions(-) create mode 100644 schemas/bambulab/v1/report/print/pause.schema.json create mode 100644 schemas/bambulab/v1/report/print/resume.schema.json create mode 100644 schemas/bambulab/v1/report/print/stop.schema.json create mode 100644 schemas/bambulab/v1/request/print/pause.schema.json create mode 100644 schemas/bambulab/v1/request/print/resume.schema.json create mode 100644 schemas/bambulab/v1/request/print/stop.schema.json create mode 100644 schemas/bambulab/v2/report/print/pause.schema.json create mode 100644 schemas/bambulab/v2/report/print/resume.schema.json create mode 100644 schemas/bambulab/v2/report/print/stop.schema.json create mode 100644 schemas/bambulab/v2/request/print/pause.schema.json create mode 100644 schemas/bambulab/v2/request/print/resume.schema.json create mode 100644 schemas/bambulab/v2/request/print/stop.schema.json diff --git a/schemas/bambulab/README.md b/schemas/bambulab/README.md index 1967abf..97dd5e2 100644 --- a/schemas/bambulab/README.md +++ b/schemas/bambulab/README.md @@ -7,6 +7,8 @@ but genuinely useful on their own: language-agnostic documentation of the wire format, and usable to validate a captured MQTT payload without writing any Rust to do it. +Sending a request with higher QoS (ie. QoS 1 - default is QoS 0) means higher priority for request. + ## Layout ``` diff --git a/schemas/bambulab/v1/report/print/gcode_file.schema.json b/schemas/bambulab/v1/report/print/gcode_file.schema.json index a2548d4..a10444d 100644 --- a/schemas/bambulab/v1/report/print/gcode_file.schema.json +++ b/schemas/bambulab/v1/report/print/gcode_file.schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/gcode_file.schema.json", - "title": "GcodeFileRequest", + "title": "GcodeFileReport", "allOf": [ { "$ref": "../../../common/envelope.schema.json" }, { diff --git a/schemas/bambulab/v1/report/print/pause.schema.json b/schemas/bambulab/v1/report/print/pause.schema.json new file mode 100644 index 0000000..9bffc24 --- /dev/null +++ b/schemas/bambulab/v1/report/print/pause.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/pause.schema.json", + "title": "PausePrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "pause" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v1/report/print/resume.schema.json b/schemas/bambulab/v1/report/print/resume.schema.json new file mode 100644 index 0000000..5ca69f8 --- /dev/null +++ b/schemas/bambulab/v1/report/print/resume.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/resume.schema.json", + "title": "ResumePrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "resume" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v1/report/print/stop.schema.json b/schemas/bambulab/v1/report/print/stop.schema.json new file mode 100644 index 0000000..71640ed --- /dev/null +++ b/schemas/bambulab/v1/report/print/stop.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/print/stop.schema.json", + "title": "StopPrintRequest", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "stop" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v1/report/upgrade/consistency_confirm.schema.json b/schemas/bambulab/v1/report/upgrade/consistency_confirm.schema.json index 33f4290..86ff5ff 100644 --- a/schemas/bambulab/v1/report/upgrade/consistency_confirm.schema.json +++ b/schemas/bambulab/v1/report/upgrade/consistency_confirm.schema.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/upgrade/upgrade_confirm.schema.json", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/upgrade/consistency_confirm.schema.json", "title": "ConsistencyConfirmReport", "allOf": [ { "$ref": "../../../common/envelope.schema.json" }, diff --git a/schemas/bambulab/v1/request/print/pause.schema.json b/schemas/bambulab/v1/request/print/pause.schema.json new file mode 100644 index 0000000..a69f950 --- /dev/null +++ b/schemas/bambulab/v1/request/print/pause.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/print/pause.schema.json", + "title": "PausePrintRequest", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "pause" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v1/request/print/resume.schema.json b/schemas/bambulab/v1/request/print/resume.schema.json new file mode 100644 index 0000000..fa0e6ad --- /dev/null +++ b/schemas/bambulab/v1/request/print/resume.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/print/resume.schema.json", + "title": "ResumePrintRequest", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "resume" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v1/request/print/stop.schema.json b/schemas/bambulab/v1/request/print/stop.schema.json new file mode 100644 index 0000000..297a3a5 --- /dev/null +++ b/schemas/bambulab/v1/request/print/stop.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/stop.schema.json", + "title": "StopPrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "stop" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v1/request/upgrade/consistency_confirm.schema.json b/schemas/bambulab/v1/request/upgrade/consistency_confirm.schema.json index 16f5606..9781563 100644 --- a/schemas/bambulab/v1/request/upgrade/consistency_confirm.schema.json +++ b/schemas/bambulab/v1/request/upgrade/consistency_confirm.schema.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/upgrade/upgrade_confirm.schema.json", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/upgrade/consistency_confirm.schema.json", "title": "ConsistencyConfirmRequest", "allOf": [ { "$ref": "../../../common/envelope.schema.json" }, diff --git a/schemas/bambulab/v2/report/print/gcode_file.schema.json b/schemas/bambulab/v2/report/print/gcode_file.schema.json index 0c59de4..53fd00b 100644 --- a/schemas/bambulab/v2/report/print/gcode_file.schema.json +++ b/schemas/bambulab/v2/report/print/gcode_file.schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/report/print/gcode_file.schema.json", - "title": "GcodeFileRequest", + "title": "GcodeFileReport", "allOf": [ { "$ref": "../../../common/envelope.schema.json" }, { diff --git a/schemas/bambulab/v2/report/print/pause.schema.json b/schemas/bambulab/v2/report/print/pause.schema.json new file mode 100644 index 0000000..9bffc24 --- /dev/null +++ b/schemas/bambulab/v2/report/print/pause.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/pause.schema.json", + "title": "PausePrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "pause" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v2/report/print/resume.schema.json b/schemas/bambulab/v2/report/print/resume.schema.json new file mode 100644 index 0000000..5ca69f8 --- /dev/null +++ b/schemas/bambulab/v2/report/print/resume.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/resume.schema.json", + "title": "ResumePrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "resume" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v2/report/print/stop.schema.json b/schemas/bambulab/v2/report/print/stop.schema.json new file mode 100644 index 0000000..71640ed --- /dev/null +++ b/schemas/bambulab/v2/report/print/stop.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/print/stop.schema.json", + "title": "StopPrintRequest", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "stop" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v2/report/upgrade/consistency_confirm.schema.json b/schemas/bambulab/v2/report/upgrade/consistency_confirm.schema.json index e868168..8ffdc0c 100644 --- a/schemas/bambulab/v2/report/upgrade/consistency_confirm.schema.json +++ b/schemas/bambulab/v2/report/upgrade/consistency_confirm.schema.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/report/upgrade/upgrade_confirm.schema.json", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/report/upgrade/consistency_confirm.schema.json", "title": "ConsistencyConfirmReport", "allOf": [ { "$ref": "../../../common/envelope.schema.json" }, diff --git a/schemas/bambulab/v2/request/print/pause.schema.json b/schemas/bambulab/v2/request/print/pause.schema.json new file mode 100644 index 0000000..9bffc24 --- /dev/null +++ b/schemas/bambulab/v2/request/print/pause.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/pause.schema.json", + "title": "PausePrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "pause" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v2/request/print/resume.schema.json b/schemas/bambulab/v2/request/print/resume.schema.json new file mode 100644 index 0000000..5ca69f8 --- /dev/null +++ b/schemas/bambulab/v2/request/print/resume.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/report/print/resume.schema.json", + "title": "ResumePrintReport", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "resume" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v2/request/print/stop.schema.json b/schemas/bambulab/v2/request/print/stop.schema.json new file mode 100644 index 0000000..71640ed --- /dev/null +++ b/schemas/bambulab/v2/request/print/stop.schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/request/print/stop.schema.json", + "title": "StopPrintRequest", + "allOf": [ + { "$ref": "../../../common/envelope.schema.json" }, + { + "type": "object", + "properties": { + "command": { "const": "stop" }, + "param": { "type": "string", "const": "" } + } + } + ] +} diff --git a/schemas/bambulab/v2/request/upgrade/consistency_confirm.schema.json b/schemas/bambulab/v2/request/upgrade/consistency_confirm.schema.json index ac31935..18d283c 100644 --- a/schemas/bambulab/v2/request/upgrade/consistency_confirm.schema.json +++ b/schemas/bambulab/v2/request/upgrade/consistency_confirm.schema.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/request/upgrade/upgrade_confirm.schema.json", + "$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/request/upgrade/consistency_confirm.schema.json", "title": "ConsistencyConfirmRequest", "allOf": [ { "$ref": "../../../common/envelope.schema.json" },