feat: push_status report for Bambu MQTT v2
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/ams/ams.schema.json",
|
||||
"title": "AmsState",
|
||||
"description": "Bambu's own naming has the outer container and the inner array both called `ams` - print.ams.ams, not a typo here, just what the printer actually sends.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ams": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "./ams_unit.schema.json" }
|
||||
},
|
||||
"ams_exists_bits": { "type": "string" },
|
||||
"ams_exist_bits_raw": { "type": "string" },
|
||||
"cali_id": { "type": "integer" },
|
||||
"cali_stat": { "type": "integer" },
|
||||
"insert_flag": { "type": "boolean" },
|
||||
"power_on_flag": { "type": "boolean" },
|
||||
"tray_exist_bits": { "type": "string" },
|
||||
"tray_is_bbl_bits": { "type": "string" },
|
||||
"tray_now": { "type": "string" },
|
||||
"tray_pre": { "type": "string" },
|
||||
"tray_read_done_bits": { "type": "string" },
|
||||
"tray_reading_bits": { "type": "string" },
|
||||
"tray_tar": { "type": "string" },
|
||||
"unbind_ams_stat": { "type": "integer" },
|
||||
"version": { "type": "integer" }
|
||||
},
|
||||
"required": [
|
||||
"ams", "ams_exists_bits", "ams_exist_bits_raw", "cali_id",
|
||||
"cali_stat", "insert_flag", "power_on_flag", "tray_exist_bits",
|
||||
"tray_is_bbl_bits", "tray_now", "tray_pre", "tray_read_done_bits",
|
||||
"tray_reading_bits", "tray_tar", "unbind_ams_stat", "version"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/ams/ams_tray.schema.json",
|
||||
"title": "AmsTray",
|
||||
"description": "A tray slot is either empty (just `id`) or loaded (the full field set) - two genuinely different shapes for the same slot, not one shape with optional fields. oneOf says the instance must match EXACTLY one of these. Note LoadedTray requires every field it lists, not just `id` - with only `id` required, a bare {\"id\":\"0\"} would validate against BOTH branches at once (it trivially satisfies Loaded's single requirement too) and oneOf would fail, since oneOf demands exactly one match. Verified this the hard way - see git history. The Rust equivalent is an untagged enum with #[serde(deny_unknown_fields)] on the Empty variant, for the same reason in reverse: without it, a loaded tray's extra fields wouldn't be rejected by Empty, and untagged enums try variants in order - see bambu_commands/print.rs. `drying_time` and `drying_temp` fields are only available for AMS 2 and AMS HT - AMS 1 doesn't have the drying option.",
|
||||
"oneOf": [
|
||||
{
|
||||
"title": "EmptyTray",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": ["id", "state"],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"allOf": [
|
||||
{ "$ref": "../vt_tray.schema.json" },
|
||||
{
|
||||
"title": "LoadedTray",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": [
|
||||
"state"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/ams/ams_unit.schema.json",
|
||||
"title": "AmsUnit",
|
||||
"description": "One physical AMS unit (Bambu's numbering starts at 0 via `id`).",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"tray": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "./ams_tray.schema.json" }
|
||||
},
|
||||
"dry_time": { "type": "integer" },
|
||||
"humidity": { "type": "string" },
|
||||
"humidity_raw": { "type": "string" },
|
||||
"id": { "type": "string" },
|
||||
"info": { "type": "string" },
|
||||
"temp": { "type": "string" }
|
||||
},
|
||||
"required": ["humidity", "humidity_raw", "id", "info", "temp", "tray"]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/care.schema.json",
|
||||
"title": "Care",
|
||||
"description": "Printer online/offline status",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": { "type": "string", "pattern": "^[lhLH][sdrSDR]$" },
|
||||
"info": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/airduct.schema.json",
|
||||
"title": "DeviceAirduct",
|
||||
"description": "Schema for details about the Airduct",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"modeList": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "./airduct_mode.schema.json"
|
||||
}
|
||||
},
|
||||
"parts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "./airduct_part.schema.json"
|
||||
}
|
||||
},
|
||||
"modeCur": { "type": "integer" },
|
||||
"modeFunc": { "type": "integer" },
|
||||
"modeVisable": { "type": "integer" },
|
||||
"subFunc": { "type": "integer" },
|
||||
"subMode": { "type": "integer" },
|
||||
"subVisable": { "type": "integer" },
|
||||
"version": { "type": "integer" }
|
||||
},
|
||||
"required": [
|
||||
"modeCur", "modeFunc", "modeVisable",
|
||||
"subFunc", "subMode", "subVisable",
|
||||
"version", "modeList", "parts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/airduct_mode.schema.json",
|
||||
"title": "DeviceAirductMode",
|
||||
"description": "Schema for available airduct modes",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ctrl": { "type": "array", "items": { "type": "integer", "multipleOf": 16 } },
|
||||
"off": { "type": "array", "items": { "type": "integer", "multipleOf": 16 } },
|
||||
"modeId": { "type": "integer" }
|
||||
},
|
||||
"required": ["ctrl", "off", "modeId"]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/airduct_part.schema.json",
|
||||
"title": "DeviceAirductPart",
|
||||
"description": "Schema for available airduct parts",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"func": { "type": "integer" },
|
||||
"id": { "type": "integer" },
|
||||
"range": { "type": "integer" },
|
||||
"state": { "type": "integer" },
|
||||
"tar_state": { "type": "integer" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/bed.schema.json",
|
||||
"title": "DeviceBed",
|
||||
"description": "Detailed info about Bed",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"info": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"temp": { "type": "integer" }
|
||||
},
|
||||
"required": ["temp"]
|
||||
},
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": ["info", "state"]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/cam.schema.json",
|
||||
"title": "DeviceCamera",
|
||||
"description": "Detailed info about Camera",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"laser": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cond": { "type": "integer" },
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": ["cond", "state"]
|
||||
},
|
||||
"timelapse_path": { "type": "string" }
|
||||
},
|
||||
"required": ["laser", "timelapse_path"]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/ctc.schema.json",
|
||||
"title": "DeviceCTC",
|
||||
"description": "Detailed info about CTC",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"info": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"temp": { "type": "integer" }
|
||||
},
|
||||
"required": ["temp"]
|
||||
},
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": ["info", "state"]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/device.schema.json",
|
||||
"title": "DeviceBed",
|
||||
"description": "Detailed info about all available devices",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"airduct": { "$ref": "./airduct.schema.json" },
|
||||
"bed": { "$ref": "./bed.schema.json`" },
|
||||
"cam": { "$ref": "./cam.schema.json" },
|
||||
"ctc": { "$ref": "./ctc.schema.json" },
|
||||
"ext_tool": { "$ref": "./ext_tool.schema.json" },
|
||||
"extruder": { "$ref": "./extruder.schema.json" },
|
||||
"fire_ext": { "$ref": "./fire_ext.schema.json" },
|
||||
"holder": { "$ref": "./holder.schema.json" },
|
||||
"laser": { "$ref": "./laser.schema.json" },
|
||||
"nozzle": { "$ref": "./nozzle.schema.json" },
|
||||
"plate": { "$ref": "./plate.schema.json" },
|
||||
"bed_temp": { "type": "integer" },
|
||||
"fan": { "type": "integer" },
|
||||
"type": { "type": "integer" }
|
||||
},
|
||||
"required": [
|
||||
"airduct", "bed", "cam", "ctc",
|
||||
"ext_tool", "extruder", "fire_ext", "holder",
|
||||
"laser", "nozzle", "plate", "bed_temp",
|
||||
"fan", "type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/ext_tool.schema.json",
|
||||
"title": "DeviceExternalTool",
|
||||
"description": "Detailed info about External Tool",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"calib": { "type": "integer" },
|
||||
"low_prec": { "type": "boolean" },
|
||||
"mount": { "type": "integer" },
|
||||
"mount_3d": { "type": "integer" },
|
||||
"th_temp": { "type": "integer" },
|
||||
"type": { "type": "string" }
|
||||
},
|
||||
"required": [
|
||||
"calib", "low_prec", "mount",
|
||||
"mount_3d", "th_temp", "type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/extruder.schema.json",
|
||||
"title": "DeviceExtruder",
|
||||
"description": "Detailed info about Extruders",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"info": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "./extruder_item.schema.json"
|
||||
}
|
||||
},
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": ["info", "state"]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/extruder_item.schema.json",
|
||||
"title": "DeviceExtruderItem",
|
||||
"description": "Detailed info about specific Extruder",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"filam_bak": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"hnow": { "type": "integer" },
|
||||
"hpre": { "type": "integer" },
|
||||
"htar": { "type": "integer" },
|
||||
"id": { "type": "integer" },
|
||||
"info": { "type": "integer" },
|
||||
"snow": { "type": "integer" },
|
||||
"spre": { "type": "integer" },
|
||||
"star": { "type": "integer" },
|
||||
"stat": { "type": "integer" },
|
||||
"temp": { "type": "integer" }
|
||||
},
|
||||
"required": [
|
||||
"filam_bak", "hnow", "hpre",
|
||||
"htar", "id", "info",
|
||||
"snow", "spre", "star",
|
||||
"stat", "temp"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/fire_ext.schema.json",
|
||||
"title": "DeviceFireExtinguisher",
|
||||
"description": "Detailed info about Fire Extinguisher",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"history": {
|
||||
"type": "array"
|
||||
},
|
||||
"bot_err": { "type": "integer" },
|
||||
"cd": { "type": "integer" },
|
||||
"cd_init": { "type": "integer" },
|
||||
"connect_flag": { "type": "integer" },
|
||||
"drill_flag": { "type": "integer" },
|
||||
"remain_time": { "type": "integer" },
|
||||
"rm_init": { "type": "integer" },
|
||||
"state": { "type": "integer" }
|
||||
},
|
||||
"required": [
|
||||
"history", "bot_err", "cd",
|
||||
"cd_init", "connect_flag", "drill_flag",
|
||||
"remain_time", "rm_init", "state"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/holder.schema.json",
|
||||
"title": "DeviceHolder",
|
||||
"description": "Detailed info about Holder",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"step": {
|
||||
"type": "array",
|
||||
"items": { "type": "integer" }
|
||||
},
|
||||
"info": { "type": "integer" },
|
||||
"job": { "type": "integer" },
|
||||
"pos": { "type": "integer" },
|
||||
"stat": { "type": "integer" }
|
||||
},
|
||||
"required": ["step", "info", "job", "pos", "stat"]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/laser.schema.json",
|
||||
"title": "DeviceLaser",
|
||||
"description": "Detailed info about Laser",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"power": { "type": "integer" }
|
||||
},
|
||||
"required": ["power"]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/nozzle.schema.json",
|
||||
"title": "DeviceNozzle",
|
||||
"description": "Detailed info about available Nozzles",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"info": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "./nozzle_item.schema.json" }
|
||||
},
|
||||
"exist": { "type": "integer" },
|
||||
"src_id": { "type": "integer" },
|
||||
"state": { "type": "integer" },
|
||||
"tar_id": { "type": "integer" }
|
||||
},
|
||||
"required": [ "info", "exist", "src_id", "state", "tar_id" ]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/nozzle_item.schema.json",
|
||||
"title": "DeviceNozzleItem",
|
||||
"description": "Detailed info about specific Nozzle",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"color_m": { "type": "string" },
|
||||
"diameter": { "$ref": "../nozzle_diameter.schema.json" },
|
||||
"fila_id": { "type": "integer" },
|
||||
"id": { "type": "integer" },
|
||||
"sn": { "type": "string" },
|
||||
"stat": { "type": "integer" },
|
||||
"tm": { "type": "integer" },
|
||||
"type": { "$ref": "../nozzle_type.schema.json" },
|
||||
"wear": { "type": "number" }
|
||||
},
|
||||
"required": [
|
||||
"color_m", "diameter", "fila_id",
|
||||
"id", "sn", "stat",
|
||||
"tm", "type", "wear"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/device/bed.schema.json",
|
||||
"title": "DevicePlate",
|
||||
"description": "Detailed info about Plate",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"base": {
|
||||
"description": "NOTE: Just my guess, but for Textured PEI it was 6, for Engineering Plate it was 12",
|
||||
"type": "integer"
|
||||
},
|
||||
"cali2d_id": { "type": "string" },
|
||||
"cur_id": {
|
||||
"description": "NOTE: Another guess - P0102 for Textured PEI, P0502 for Engineering Plate",
|
||||
"type": "string"
|
||||
},
|
||||
"mat": { "type": "integer" },
|
||||
"tar_id": { "type": "string" }
|
||||
},
|
||||
"required": ["base", "cali2d_id", "cur_id", "mat", "tar_id"]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/hms.schema.json",
|
||||
"title": "HMS",
|
||||
"description": "HMS Error Report",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"attr": { "type": "integer" },
|
||||
"code": { "type": "integer" }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/info.schema.json",
|
||||
"title": "Info",
|
||||
"description": "General info",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"temp": { "type": "integer" }
|
||||
},
|
||||
"required": ["temp"]
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/ipcam.schema.json",
|
||||
"title": "Ipcam",
|
||||
"description": "Report about the in-built IP camera",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"agora_service": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enable",
|
||||
"disable",
|
||||
"ENABLE",
|
||||
"DISABLE"
|
||||
]
|
||||
},
|
||||
"brtc_service": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enable",
|
||||
"disable",
|
||||
"ENABLE",
|
||||
"DISABLE"
|
||||
]
|
||||
},
|
||||
"bs_state": { "type": "integer" },
|
||||
"cap_pic_enable": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enable",
|
||||
"disable",
|
||||
"invalid",
|
||||
"ENABLE",
|
||||
"DISABLE",
|
||||
"INVALID"
|
||||
]
|
||||
},
|
||||
"ipcam_dev": { "type": "string" },
|
||||
"ipcam_record": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enable",
|
||||
"disable",
|
||||
"ENABLE",
|
||||
"DISABLE"
|
||||
]
|
||||
},
|
||||
"laser_preview_res": { "type": "integer" },
|
||||
"mode_bits": { "type": "integer", "minimum": 0 },
|
||||
"resolution": { "type": "string" },
|
||||
"rtsp_url": { "type": "string" },
|
||||
"timelapse": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enable",
|
||||
"disable",
|
||||
"ENABLE",
|
||||
"DISABLE"
|
||||
]
|
||||
},
|
||||
"tl_store_hpd_type": { "type": "integer" },
|
||||
"tl_store_path_type": { "type": "integer" },
|
||||
"tutk_server": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enable",
|
||||
"disable",
|
||||
"ENABLE",
|
||||
"DISABLE"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/job/job.schema.json",
|
||||
"title": "Job",
|
||||
"description": "Print job details",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cur_stage": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"idx": { "type": "number" },
|
||||
"state": { "type": "number" }
|
||||
},
|
||||
"required": ["idx", "state"]
|
||||
},
|
||||
"stage": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "./stage.schema.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["cur_stage", "stage"]
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/job/stage.schema.json",
|
||||
"title": "Job",
|
||||
"description": "Print job stage details",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"clock_in": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"color": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"diameter": {
|
||||
"type": "array",
|
||||
"items": { "type": "number" }
|
||||
},
|
||||
"est_time": {
|
||||
"type": "integer"
|
||||
},
|
||||
"heigh": {
|
||||
"type": "number"
|
||||
},
|
||||
"idx": {
|
||||
"type": "integer"
|
||||
},
|
||||
"platform": {
|
||||
"type": "string"
|
||||
},
|
||||
"print_then": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"proc_list": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"tool": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "In case of 3D printing - look at `nozzle_type.schema.json`",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"clock_in", "color", "diameter", "est_time",
|
||||
"heigh", "idx", "platform", "print_then",
|
||||
"proc_list", "tool", "type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/lights_report.schema.json",
|
||||
"title": "LightsReport",
|
||||
"description": "Report status of printer lights",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"on",
|
||||
"off",
|
||||
"ON",
|
||||
"OFF"
|
||||
]
|
||||
},
|
||||
"node": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"chamber_light",
|
||||
"work_light",
|
||||
"chamber_light2"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/net.schema.json",
|
||||
"title": "Net",
|
||||
"description": "Network status",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"conf": {
|
||||
"type": "integer"
|
||||
},
|
||||
"info": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ip": {
|
||||
"type": "integer"
|
||||
},
|
||||
"mask": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ip",
|
||||
"mask"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v1/common/nozzle_type.schema.json",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/nozzle_type.schema.json",
|
||||
"title": "NozzleType",
|
||||
"description": "Common schema for nozzle type. HS00 - stainless steel, HS01 - hardened steel, HS05 - tungsten carbide, HH01 - high-flow hardened steel, HH05 - high-flow tungsten carbide",
|
||||
"description": "Common schema for nozzle type. HS00 - stainless steel, HS01 - hardened steel, HS05 - tungsten carbide, HH01 - high-flow hardened steel, HH05 - high-flow tungsten carbide. NOTE: format is possibly as follows: [H,X][H,S]0[0,1,5] - first character for printer series (H - H-series, possibly A-series too; X - X-series, namely X1C. Or maybe H is for hot-swap?); second character is for flow rate (S - standard; H - high-flow); third character is left as 0; fourth character is for nozzle material (0 - stainless steel; 1 - hardened steel; 5 - tungsten carbide)",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"HS00",
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/online.schema.json",
|
||||
"title": "Online",
|
||||
"description": "Printer online/offline status",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ahb": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"rfid": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"version": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/upgrade_state.schema.json",
|
||||
"title": "UpgradeState",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ahb_new_version_number": { "type": "string" },
|
||||
"ams_new_version_number": { "type": "string" },
|
||||
"consistency_request": { "type": "boolean" },
|
||||
"dis_state": { "type": "integer" },
|
||||
"err_code": { "type": "integer" },
|
||||
"ext_new_version_number": { "type": "string" },
|
||||
"force_upgrade": { "type": "boolean" },
|
||||
"idx": { "type": "integer" },
|
||||
"idx2": { "type": "integer" },
|
||||
"lower_limit": { "type": "string", "pattern": "..\\...\\...\\..." },
|
||||
"message": { "type": "string" },
|
||||
"module": { "type": "string" },
|
||||
"new_version_state": { "type": "integer" },
|
||||
"ota_new_version_number": { "type": "string" },
|
||||
"progress": { "type": "string" },
|
||||
"sequence_id": { "type": "integer" },
|
||||
"sn": { "type": "string" },
|
||||
"status": { "type": "string", "enum": ["idle", "IDLE"]},
|
||||
"upgrade_fail_list": { "type": "array", "items": { "type": "string" } },
|
||||
"upgrade_type": { "type": "string" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/upload.schema.json",
|
||||
"title": "Upload",
|
||||
"description": "File upload progress",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"file_size": {
|
||||
"type": "integer"
|
||||
},
|
||||
"finish_size": {
|
||||
"type": "integer"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"oss_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"progress": {
|
||||
"type": "integer"
|
||||
},
|
||||
"speed": {
|
||||
"type": "integer"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"idle",
|
||||
"IDLE"
|
||||
]
|
||||
},
|
||||
"task_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"time_remaining": {
|
||||
"type": "integer"
|
||||
},
|
||||
"trouble_id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/vt_tray.schema.json",
|
||||
"title": "VtTray",
|
||||
"description": "This schema is used as Virtual Tray (external spool) or as a base for AmsTray. When empty, all values are zeroed and `tray_color` field is set to \"FFFFFF00\".",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"bed_temp": { "type": "string" },
|
||||
"bed_temp_type": { "type": "string" },
|
||||
"cali_idx": { "type": "number" },
|
||||
"cols": { "type": "array", "items": { "type": "string" } },
|
||||
"ctype": { "type": "integer" },
|
||||
"drying_temp": { "type": "string" },
|
||||
"drying_time": { "type": "string" },
|
||||
"id": { "type": "string" },
|
||||
"nozzle_temp_min": { "type": "string" },
|
||||
"nozzle_temp_max": { "type": "string" },
|
||||
"remain": { "type": "integer", "minimum": 0 },
|
||||
"tag_uid": { "type": "string" },
|
||||
"total_len": { "type": "integer" },
|
||||
"tray_color": { "type": "string" },
|
||||
"tray_diameter": { "type": "string" },
|
||||
"tray_id_name": { "type": "string" },
|
||||
"tray_info_idx": { "type": "string" },
|
||||
"tray_sub_brands": { "type": "string" },
|
||||
"tray_type": { "type": "string" },
|
||||
"tray_uuid": { "type": "string" },
|
||||
"tray_weight": { "type": "string" },
|
||||
"xcam_info": { "type": "string" }
|
||||
},
|
||||
"required": [
|
||||
"bed_temp", "bed_temp_type", "cali_idx", "cols",
|
||||
"ctype", "drying_temp", "drying_time", "id",
|
||||
"nozzle_temp_max", "nozzle_temp_min", "remain", "tag_uid",
|
||||
"total_len", "tray_color", "tray_diameter", "tray_id_name",
|
||||
"tray_info_idx", "tray_sub_brands", "tray_type", "tray_uuid",
|
||||
"tray_weight", "xcam_info"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.octoturge.com/Continuum/continuum-schemas/raw/branch/main/schemas/bambulab/v2/common/xcam.schema.json",
|
||||
"title": "XcamSettings",
|
||||
"description": "Camera-based AI print monitoring settings (spaghetti detection, first-layer inspection, etc.).",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allow_skip_parts": { "type": "boolean" },
|
||||
"buildplate_marker_detector": { "type": "boolean" },
|
||||
"cfg": { "type": "integer" },
|
||||
"first_layer_inspector": { "type": "boolean" },
|
||||
"halt_print_sensitivity": { "type": "string" },
|
||||
"print_halt": { "type": "boolean" },
|
||||
"printing_monitor": { "type": "boolean" },
|
||||
"spaghetti_detector": { "type": "boolean" }
|
||||
},
|
||||
"required": [
|
||||
"allow_skip_parts", "buildplate_marker_detector", "first_layer_inspector", "cfg",
|
||||
"halt_print_sensitivity", "print_halt", "printing_monitor", "spaghetti_detector"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user