feat: push_status report for Bambu MQTT v2

This commit is contained in:
2026-08-31 13:41:56 +00:00
parent 20ecc1e8bd
commit 1b23c58eb6
46 changed files with 1060 additions and 20 deletions
@@ -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"]
}