Skip to content

Conversation

@BuSHari
Copy link
Contributor

@BuSHari BuSHari commented May 5, 2025

Last firmware update had some changes in the mqtt fields.

  • Fixed AMS and Filaments iteration
  • Added retrieval of ams_hub from mqtt_client
  • Added mqtt readyness to client
  • Fixed mqtt field naming in AMS and Filaments
  • Fixed chamber temp, as the field chamber_temper missing in the last firmware (probably bambu bug)

@ohmdelta
Copy link
Collaborator

ohmdelta commented May 5, 2025

Interesting, what printer & firmware are you targeting - think this will work for X1 but not for P1 (not sure about A1)? Looks like the drying param might be new for the AMS-HT?

@BuSHari
Copy link
Contributor Author

BuSHari commented May 5, 2025

Interesting, what printer & firmware are you targeting - think this will work for X1 but not for P1 (not sure about A1)? Looks like the drying param might be new for the AMS-HT?

I have the X1 (firmware: 01.09.00.00) with regular AMS, they changed the drying param also for the regular ams

@BuSHari
Copy link
Contributor Author

BuSHari commented May 5, 2025

I think we need to another class to choose the printer type from the environments.
I tried to discover it automatically but it requires to be on Lan Mode

@BuSHari
Copy link
Contributor Author

BuSHari commented May 5, 2025

You can see in that issue #85

That it also has the drying params, and this is why it was failing

@ohmdelta
Copy link
Collaborator

ohmdelta commented May 5, 2025

ok interesting, could you confirm if you're able to run the api without it being in lan only mode? could you share the mqtt dump?

Also just to check - are you able to rollback firmware to before 1.08?

@BuSHari
Copy link
Contributor Author

BuSHari commented May 5, 2025

ok interesting, could you confirm if you're able to run the api without it being in lan only mode? could you share the mqtt dump?

Also just to check - are you able to rollback firmware to before 1.08?

Im working with the api only with cloud mode, im not using the lan mode.
The mqtt can only read (topic report) and not write since the 1.08... firmware, also the camera is available only if you are using Bambu connect authentication.
And im not going to try to rollback to before 1.08 as i dont want to break anything

Here is the mqtt dump

{
    "print":
    {
        "3D":
        {
            "layer_num": 900,
            "total_layer_num": 900
        },
        "ams":
        {
            "ams":
            [
                {
                    "dry_time": 0,
                    "humidity": "5",
                    "humidity_raw": "18",
                    "id": "0",
                    "info": "1001",
                    "temp": "32.2",
                    "tray":
                    [
                        {
                            "bed_temp": "0",
                            "bed_temp_type": "0",
                            "cali_idx": -1,
                            "cols":
                            [
                                "FFFFFFFF"
                            ],
                            "ctype": 0,
                            "drying_temp": "0",
                            "drying_time": "0",
                            "id": "0",
                            "nozzle_temp_max": "240",
                            "nozzle_temp_min": "190",
                            "remain": -1,
                            "state": 11,
                            "tag_uid": "0000000000000000",
                            "total_len": 330000,
                            "tray_color": "FFFFFFFF",
                            "tray_diameter": "1.75",
                            "tray_id_name": "",
                            "tray_info_idx": "GFL04",
                            "tray_sub_brands": "",
                            "tray_type": "PLA",
                            "tray_uuid": "00000000000000000000000000000000",
                            "tray_weight": "0",
                            "xcam_info": "000000000000000000000000"
                        },
                        {
                            "bed_temp": "0",
                            "bed_temp_type": "0",
                            "cali_idx": 4931,
                            "cols":
                            [
                                "9D432CFF"
                            ],
                            "ctype": 0,
                            "drying_temp": "55",
                            "drying_time": "8",
                            "id": "1",
                            "nozzle_temp_max": "230",
                            "nozzle_temp_min": "190",
                            "remain": 87,
                            "state": 11,
                            "tag_uid": "64BD89CF00000100",
                            "total_len": 330000,
                            "tray_color": "9D432CFF",
                            "tray_diameter": "1.75",
                            "tray_id_name": "A00-N0",
                            "tray_info_idx": "GFA00",
                            "tray_sub_brands": "PLA Basic",
                            "tray_type": "PLA",
                            "tray_uuid": "486596AF641043B785788071BFBD27F7",
                            "tray_weight": "1000",
                            "xcam_info": "3421100EE803E803CDCC4C3F"
                        },
                        {
                            "id": "2",
                            "state": 10
                        },
                        {
                            "bed_temp": "0",
                            "bed_temp_type": "0",
                            "cali_idx": -1,
                            "cols":
                            [
                                "2850E0FF"
                            ],
                            "ctype": 0,
                            "drying_temp": "0",
                            "drying_time": "0",
                            "id": "3",
                            "nozzle_temp_max": "220",
                            "nozzle_temp_min": "190",
                            "remain": -1,
                            "state": 11,
                            "tag_uid": "0000000000000000",
                            "total_len": 330000,
                            "tray_color": "2850E0FF",
                            "tray_diameter": "1.75",
                            "tray_id_name": "",
                            "tray_info_idx": "P7c0cc05",
                            "tray_sub_brands": "",
                            "tray_type": "PLA",
                            "tray_uuid": "00000000000000000000000000000000",
                            "tray_weight": "0",
                            "xcam_info": "000000000000000000000000"
                        }
                    ]
                }
            ],
            "ams_exist_bits": "1",
            "ams_exist_bits_raw": "1",
            "cali_id": 0,
            "cali_stat": 0,
            "insert_flag": true,
            "power_on_flag": false,
            "tray_exist_bits": "b",
            "tray_is_bbl_bits": "b",
            "tray_now": "255",
            "tray_pre": "255",
            "tray_read_done_bits": "b",
            "tray_reading_bits": "0",
            "tray_tar": "255",
            "unbind_ams_stat": 0,
            "version": 7523
        },
        "ams_rfid_status": 0,
        "ams_status": 0,
        "ap_err": 0,
        "aux": "280100C",
        "aux_part_fan": true,
        "batch_id": 0,
        "bed_target_temper": 0.0,
        "bed_temper": 27.0,
        "big_fan1_speed": "0",
        "big_fan2_speed": "0",
        "cali_version": 0,
        "canvas_id": 0,
        "care":
        [
            {
                "id": "cr",
                "info": "20631064"
            },
            {
                "id": "ls",
                "info": "7571857"
            }
        ],
        "cfg": "FDA19",
        "command": "push_status",
        "cooling_fan_speed": "0",
        "design_id": "672092",
        "device":
        {
            "bed":
            {
                "info":
                {
                    "temp": 27
                },
                "state": 0
            },
            "bed_temp": 27,
            "cam":
            {
                "laser":
                {
                    "cond": 253,
                    "state": 0
                }
            },
            "ctc":
            {
                "info":
                {
                    "temp": 30
                },
                "state": 0
            },
            "ext_tool":
            {
                "calib": 2,
                "low_prec": true,
                "mount": 0,
                "th_temp": 0,
                "type": ""
            },
            "extruder":
            {
                "info":
                [
                    {
                        "filam_bak":
                        [],
                        "hnow": 0,
                        "hpre": 0,
                        "htar": 0,
                        "id": 0,
                        "info": 8,
                        "snow": 65535,
                        "spre": 255,
                        "star": 255,
                        "stat": 0,
                        "temp": 31
                    }
                ],
                "state": 1
            },
            "fan": 0,
            "laser":
            {
                "power": 0
            },
            "nozzle":
            {
                "exist": 1,
                "info":
                [
                    {
                        "diameter": 0.4,
                        "id": 0,
                        "tm": 0,
                        "type": "HX01",
                        "wear": 0
                    }
                ],
                "state": 0
            },
            "plate":
            {
                "base": 1,
                "cali2d_id": "",
                "cur_id": "",
                "mat": 1,
                "tar_id": ""
            },
            "type": 1
        },
        "err": "0",
        "fail_reason": "0",
        "fan_gear": 0,
        "file": "/data/Metadata/plate_1.gcode",
        "force_upgrade": false,
        "fun": "11A30F9CFF",
        "gcode_file": "/data/Metadata/plate_1.gcode",
        "gcode_file_prepare_percent": "100",
        "gcode_state": "FINISH",
        "heatbreak_fan_speed": "0",
        "hms":
        [
            {
                "attr": 83887360,
                "code": 65543
            }
        ],
        "home_flag": -1067070056,
        "hw_switch_state": 0,
        "info":
        {
            "temp": 30
        },
        "ipcam":
        {
            "agora_service": "disable",
            "brtc_service": "enable",
            "bs_state": 0,
            "ipcam_dev": "1",
            "ipcam_record": "enable",
            "laser_preview_res": 7,
            "mode_bits": 2,
            "resolution": "1080p",
            "rtsp_url": "rtsps://192.168.1.1:322/streaming/live/1",
            "timelapse": "disable",
            "tl_store_hpd_type": 2,
            "tl_store_path_type": 2,
            "tutk_server": "disable"
        },
        "job":
        {
            "cur_stage":
            {
                "idx": 0,
                "state": 0
            },
            "stage":
            [
                {
                    "clock_in": false,
                    "color":
                    [
                        ""
                    ],
                    "diameter":
                    [
                        0.4000000059604645
                    ],
                    "est_time": 0,
                    "heigh": 0.0,
                    "idx": 0,
                    "platform": "",
                    "print_then": false,
                    "proc_list":
                    [],
                    "tool":
                    [
                        "HS01"
                    ],
                    "type": 2
                }
            ]
        },
        "job_attr": 3,
        "job_id": "336999052",
        "layer_num": 900,
        "lights_report":
        [
            {
                "mode": "off",
                "node": "chamber_light"
            },
            {
                "mode": "flashing",
                "node": "work_light"
            }
        ],
        "mapping":
        [
            0
        ],
        "mc_action": 255,
        "mc_err": 0,
        "mc_percent": 100,
        "mc_print_error_code": "0",
        "mc_print_stage": "1",
        "mc_print_sub_stage": 0,
        "mc_remaining_time": 0,
        "mc_stage": 1,
        "model_id": "USb2710977e9df5f",
        "net":
        {
            "conf": 16,
            "info":
            [
                {
                    "ip": 3356805130,
                    "mask": 16777215
                },
                {
                    "ip": 0,
                    "mask": 0
                }
            ]
        },
        "nozzle_diameter": "0.4",
        "nozzle_target_temper": 0.0,
        "nozzle_temper": 31.0,
        "nozzle_type": "hardened_steel",
        "online":
        {
            "ahb": false,
            "ext": false,
            "version": 5
        },
        "percent": 100,
        "plate_cnt": 1,
        "plate_id": 1,
        "plate_idx": 1,
        "prepare_per": 100,
        "print_error": 0,
        "print_gcode_action": 255,
        "print_real_action": 0,
        "print_type": "",
        "profile_id": "292594938",
        "project_id": "317714818",
        "queue": 0,
        "queue_est": 0,
        "queue_number": 0,
        "queue_sts": 0,
        "queue_total": 0,
        "remain_time": 0,
        "s_obj":
        [],
        "sdcard": true,
        "sequence_id": "2021",
        "spd_lvl": 2,
        "spd_mag": 100,
        "stat": "7A58000",
        "state": 6,
        "stg":
        [
            2,
            14,
            1,
            8
        ],
        "stg_cur": -1,
        "subtask_id": "646126093",
        "subtask_name": "Poop bucket for X1/P1. Magnetless/screwless mount.",
        "task_id": "646126092",
        "total_layer_num": 900,
        "upgrade_state":
        {
            "ahb_new_version_number": "",
            "ams_new_version_number": "",
            "consistency_request": false,
            "dis_state": 3,
            "err_code": 0,
            "ext_new_version_number": "",
            "force_upgrade": false,
            "idx": 5,
            "idx2": 1034934926,
            "lower_limit": "00.00.00.00",
            "message": "RK1126 start write flash success",
            "module": "",
            "new_version_state": 2,
            "ota_new_version_number": "",
            "progress": "100",
            "sequence_id": 0,
            "sn": "00M09XXXXXXXXXXX",
            "status": "UPGRADE_SUCCESS"
        },
        "upload":
        {
            "file_size": 0,
            "finish_size": 0,
            "message": "Good",
            "oss_url": "",
            "progress": 0,
            "sequence_id": "0903",
            "speed": 0,
            "status": "idle",
            "task_id": "",
            "time_remaining": 0,
            "trouble_id": ""
        },
        "ver": "20008",
        "vir_slot":
        [
            {
                "bed_temp": "0",
                "bed_temp_type": "0",
                "cali_idx": -1,
                "cols":
                [
                    "00000000"
                ],
                "ctype": 0,
                "drying_temp": "0",
                "drying_time": "0",
                "id": "255",
                "nozzle_temp_max": "0",
                "nozzle_temp_min": "0",
                "remain": 0,
                "tag_uid": "0000000000000000",
                "total_len": 330000,
                "tray_color": "00000000",
                "tray_diameter": "1.75",
                "tray_id_name": "",
                "tray_info_idx": "",
                "tray_sub_brands": "",
                "tray_type": "",
                "tray_uuid": "00000000000000000000000000000000",
                "tray_weight": "0",
                "xcam_info": "000000000000000000000000"
            }
        ],
        "vt_tray":
        {
            "bed_temp": "0",
            "bed_temp_type": "0",
            "cali_idx": -1,
            "cols":
            [
                "00000000"
            ],
            "ctype": 0,
            "drying_temp": "0",
            "drying_time": "0",
            "id": "255",
            "nozzle_temp_max": "0",
            "nozzle_temp_min": "0",
            "remain": 0,
            "tag_uid": "0000000000000000",
            "total_len": 330000,
            "tray_color": "00000000",
            "tray_diameter": "1.75",
            "tray_id_name": "",
            "tray_info_idx": "",
            "tray_sub_brands": "",
            "tray_type": "",
            "tray_uuid": "00000000000000000000000000000000",
            "tray_weight": "0",
            "xcam_info": "000000000000000000000000"
        },
        "wifi_signal": "-37dBm",
        "xcam":
        {
            "allow_skip_parts": false,
            "buildplate_marker_detector": true,
            "first_layer_inspector": true,
            "halt_print_sensitivity": "medium",
            "print_halt": true,
            "printing_monitor": true,
            "spaghetti_detector": true
        },
        "xcam_status": "0"
    }
}

@BuSHari BuSHari marked this pull request as draft May 5, 2025 17:06
@BuSHari
Copy link
Contributor Author

BuSHari commented May 5, 2025

You can look at the Home Assistant ha-bambulab repo, they made an amazing job over there, also they support the new authentication mechanism, and the camera on x1 is working

@BuSHari BuSHari marked this pull request as ready for review May 9, 2025 09:27
@ohmdelta ohmdelta marked this pull request as draft June 2, 2025 21:43
@ohmdelta
Copy link
Collaborator

ohmdelta commented Jun 2, 2025

hi @BuSHari, your fixes to chamber temp and filaments stuff has been merged in. I've marked this pr as draft as the changes fail regression for p1 and a1 ams.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants