Bambu Lab 3D Printer Integraton

Heres a bigger update.

I followed this guide to setup the homeassistant guide for integration with node red. (preparation of json, import, change of few nodes)

I just renamed some parts from “homeassistant” to “openhab” else the first part of each state topic has to be renamed.

Some of the values are already looking quide good.

So here are the new files:
Things:

Thing mqtt:topic:bambuLab "Bambu X1C" (mqtt:broker:OWN_BROKER_HERE) {
    Type string : state "Status" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print_status/state"]
    Type string : wifi "Empfang" [stateTopic="openhab/sensor/X1C_Bambu_X1C/wifi_signal/state"]
    //Type string : reset_filter "Reset Filter" [stateTopic="openhab/button/X1C_Bambu_X1C/reset_filter/state"]
    Type switch : chamber_light "Licht" [stateTopic="openhab/light/X1C_Bambu_X1C/chamber_light/state"]
    //Type string : ams_count "Anzahl AMS" [stateTopic="openhab/sensor/X1C_Bambu_X1C/ams_count/state"]
    Type number : aux_part_fan "aux_part_fan" [stateTopic="openhab/sensor/X1C_Bambu_X1C/aux_part_fan/state"]
    Type number : bed_temperature "Bett Temperatur" [stateTopic="openhab/sensor/X1C_Bambu_X1C/bed_temperature/state"]
    //Type string : big_fan1 "big_fan1" [stateTopic="openhab/sensor/X1C_Bambu_X1C/big_fan1/state"]
    //Type string : big_fan2 "big_fan2" [stateTopic="openhab/sensor/X1C_Bambu_X1C/big_fan2/state"]
    Type number : chamber_temperature "Kammer Temperatur" [stateTopic="openhab/sensor/X1C_Bambu_X1C/chamber_temperature/state"]
    Type number : cooling_fan "cooling_fan" [stateTopic="openhab/sensor/X1C_Bambu_X1C/cooling_fan/state"]
    Type string : fail_reason "Fehler Ursache" [stateTopic="openhab/sensor/X1C_Bambu_X1C/fail_reason/state"]
    //Type string : fan_gear "fan_gear" [stateTopic="openhab/sensor/X1C_Bambu_X1C/fan_gear/state"]
    Type string : filam_bak "filam_bak" [stateTopic="openhab/sensor/X1C_Bambu_X1C/filam_bak/state"]
    Type string : gcode "gcode" [stateTopic="openhab/sensor/X1C_Bambu_X1C/gcode/state"]
    Type number : heatbreak_fan "heatbreak_fan" [stateTopic="openhab/sensor/X1C_Bambu_X1C/heatbreak_fan/state"]
    //Type string : ipcam "ipcam" [stateTopic="openhab/sensor/X1C_Bambu_X1C/ipcam/state"]
    //Type string : layer_num "Layer" [stateTopic="openhab/sensor/X1C_Bambu_X1C/layer_num/state"]
    //Type string : machine_name "Drucker Name" [stateTopic="openhab/sensor/X1C_Bambu_X1C/machine_name/state"]
    //Type string : machine_serial "Seriennummer" [stateTopic="openhab/sensor/X1C_Bambu_X1C/machine_serial/state"]
    Type string : maintain "maintain" [stateTopic="openhab/sensor/X1C_Bambu_X1C/maintain/state"]
    Type string : mess_production_state "mess_production_state" [stateTopic="openhab/sensor/X1C_Bambu_X1C/mess_production_state/state"]
    //Type string : model "model" [stateTopic="openhab/sensor/X1C_Bambu_X1C/model/state"]
    //Type string : nozzle_diameter "Nozzle Größe" [stateTopic="openhab/sensor/X1C_Bambu_X1C/nozzle_diameter/state"]
    Type number : nozzle_temperature "Nozzle Temperatur" [stateTopic="openhab/sensor/X1C_Bambu_X1C/nozzle_temperature/state"]
    Type string : print "print" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print/state"]
    Type string : print_end_time "Ende" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print_end_time/state"]
    Type string : print_progress "Fortschritt" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print_progress/state"]
    Type string : print_remaining_time "Dauer" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print_remaining_time/state"]
    //Type string : print_start_epoch "print_start_epoch" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print_start_epoch/state"]
    //Type string : print_start_time "Startzeit" [stateTopic="openhab/sensor/X1C_Bambu_X1C/print_start_time/state"]
    //Type string : queue_number "queue_number" [stateTopic="openhab/sensor/X1C_Bambu_X1C/queue_number/state"]
    //Type string : sdcard "sdcard" [stateTopic="openhab/sensor/X1C_Bambu_X1C/sdcard/state"]
    Type string : speed "Geschwindigkeit" [stateTopic="openhab/sensor/X1C_Bambu_X1C/speed/state"]
    Type string : stage "stage" [stateTopic="openhab/sensor/X1C_Bambu_X1C/stage/state"]
    Type string : status "Status" [stateTopic="openhab/sensor/X1C_Bambu_X1C/status/state"]
    Type string : subtask "subtask" [stateTopic="openhab/sensor/X1C_Bambu_X1C/subtask/state"]
    Type string : task_id "task_id" [stateTopic="openhab/sensor/X1C_Bambu_X1C/task_id/state"]
    //Type string : total_layer_num "total_layer_num" [stateTopic="openhab/sensor/X1C_Bambu_X1C/total_layer_num/state"]
    Type string : upgrade_state "upgrade_state" [stateTopic="openhab/sensor/X1C_Bambu_X1C/upgrade_state/state"]
    //Type string : upload "Upload" [stateTopic="openhab/sensor/X1C_Bambu_X1C/upload/state"]
    Type string : vt_tray "vt_tray" [stateTopic="openhab/sensor/X1C_Bambu_X1C/vt_tray/state"]
    Type string : work_light "work_light" [stateTopic="openhab/sensor/X1C_Bambu_X1C/work_light/state"]
    //Type string : xcam "xcam" [stateTopic="openhab/sensor/X1C_Bambu_X1C/xcam/state"]
}

Thing mqtt:topic:ams0 "Bambu AMS" (mqtt:broker:Zigbee2Mqtt) {
    Type string : ams "AMS" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/AMS/state"]
    Type number : humidity "humidity" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/humidity/state"]
    Type string : humidity_level "humidity_level" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/humidity_level/state"]
    Type string : id "id" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/id/state"]
    Type string : printer_name "printer_name" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/printer_name/state"]
    Type string : printer_serial "printer_serial" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/printer_serial/state"]
    Type number : temp "temp" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/temp/state"]
    Type string : tray_0_material "tray_0 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_0/state"]
    Type string : tray_1_material "tray_1 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_1/state"]
    Type string : tray_2_material "tray_2 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_2/state"]
    Type string : tray_3_material "tray_3 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_3/state"] 
    Type string : tray_0_color "tray_0 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_0/attr", transformationPattern="JSONPATH:$.color", ValueTransformation="REGEX:(.{7}).*"]
    Type string : tray_1_color "tray_1 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_1/attr", transformationPattern="JSONPATH:$.color"]
    Type string : tray_2_color "tray_2 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_2/attr", transformationPattern="JSONPATH:$.color"]
    Type string : tray_3_color "tray_3 Material" [stateTopic="openhab/sensor/AMS_0_Bambu_X1C/tray_3/attr", transformationPattern="JSONPATH:$.color"] 
    
} 

Items:

Switch WaitPrinterCoolAndIdle "Drucker Aussschaltverzögerung"
 
//bambu x1c 
Group                   gX1C
String                  X1C_State                       "Zustand"                                                      (gX1C)        {channel="mqtt:topic:bambuLab:state"}
String                  X1C_Wifi                        "Empfang"                                                      (gX1C)        {channel="mqtt:topic:bambuLab:wifi"}
//String                  X1C_reset_filter                "Reset Filter"                                                 (gX1C)        {channel="mqtt:topic:bambuLab:reset_filter"}
Switch                  X1C_chamber_light               "Licht"                                                (gX1C)        {channel="mqtt:topic:bambuLab:chamber_light"}
//String                  X1C_ams_count                   "Anzahl AMS"                                                    (gX1C)        {channel="mqtt:topic:bambuLab:ams_count"}
Number                  X1C_aux_part_fan                "aux_part_fan"                                                 (gX1C)        {channel="mqtt:topic:bambuLab:aux_part_fan"}
Number                  X1C_bed_temperature             "Bett Temperatur [%.1f °C]"                                              (gX1C)        {channel="mqtt:topic:bambuLab:bed_temperature"}
//String                  X1C_big_fan1                    "big_fan1"                                                     (gX1C)        {channel="mqtt:topic:bambuLab:big_fan1"}
//String                  X1C_big_fan2                    "big_fan2"                                                     (gX1C)        {channel="mqtt:topic:bambuLab:big_fan2"}
Number                  X1C_chamber_temperature         "Kammer Temperatur [%.1f °C]"                                          (gX1C)        {channel="mqtt:topic:bambuLab:chamber_temperature"}
Number                  X1C_cooling_fan                 "cooling_fan"                                                  (gX1C)        {channel="mqtt:topic:bambuLab:cooling_fan"}
String                  X1C_fail_reason                 "Fehler Ursache"                                                  (gX1C)        {channel="mqtt:topic:bambuLab:fail_reason"}
//String                  X1C_fan_gear                    "fan_gear"                                                     (gX1C)        {channel="mqtt:topic:bambuLab:fan_gear"}
String                  X1C_filam_bak                   "filam_bak"                                                    (gX1C)        {channel="mqtt:topic:bambuLab:filam_bak"}
String                  X1C_gcode                       "gcode"                                                        (gX1C)        {channel="mqtt:topic:bambuLab:gcode"}
String                  X1C_heatbreak_fan               "heatbreak_fan"                                                (gX1C)        {channel="mqtt:topic:bambuLab:heatbreak_fan"}
String                  X1C_ipcam                       "ipcam"                                                        (gX1C)        {channel="mqtt:topic:bambuLab:ipcam"}
String                  X1C_layer_num                   "Layer"                                                    (gX1C)        {channel="mqtt:topic:bambuLab:layer_num"}
String                  X1C_machine_name                "machine_name"                                                 (gX1C)        {channel="mqtt:topic:bambuLab:machine_name"}
//String                  X1C_machine_serial              "machine_serial"                                               (gX1C)        {channel="mqtt:topic:bambuLab:machine_serial"}
String                  X1C_maintain                    "maintain"                                                     (gX1C)        {channel="mqtt:topic:bambuLab:maintain"}
String                  X1C_mess_production_state       "mess_production_state"                                        (gX1C)        {channel="mqtt:topic:bambuLab:mess_production_state"}
//String                  X1C_model                       "model"                                                        (gX1C)        {channel="mqtt:topic:bambuLab:model"}
//String                  X1C_nozzle_diameter             "nozzle_diameter"                                              (gX1C)        {channel="mqtt:topic:bambuLab:nozzle_diameter"}
Number                  X1C_nozzle_temperature          "nozzle_temperature [%.1f °C]"                                           (gX1C)        {channel="mqtt:topic:bambuLab:nozzle_temperature"}
String                  X1C_print                       "print"                                                        (gX1C)        {channel="mqtt:topic:bambuLab:print"}
String                  X1C_print_end_time              "Druck Ende"                                               (gX1C)        {channel="mqtt:topic:bambuLab:print_end_time"}
Number                  X1C_print_progress              "Fortschritt [%s] %"                                               (gX1C)        {channel="mqtt:topic:bambuLab:print_progress"}
String                  X1C_print_remaining_time        "Druck Dauer"                                         (gX1C)        {channel="mqtt:topic:bambuLab:print_remaining_time"}
//String                  X1C_print_start_epoch           "print_start_epoch"                                            (gX1C)        {channel="mqtt:topic:bambuLab:print_start_epoch"}
//String                  X1C_print_start_time            "print_start_time"                                             (gX1C)        {channel="mqtt:topic:bambuLab:print_start_time"}
//String                  X1C_queue_number                "queue_number"                                                 (gX1C)        {channel="mqtt:topic:bambuLab:queue_number"}
//String                  X1C_sdcard                      "sdcard"                                                       (gX1C)        {channel="mqtt:topic:bambuLab:sdcard"}
String                  X1C_speed                       "speed"                                                        (gX1C)        {channel="mqtt:topic:bambuLab:speed"}
String                  X1C_stage                       "stage"                                                        (gX1C)        {channel="mqtt:topic:bambuLab:stage"}
String                  X1C_status                      "Verbindungsstatus"                                                       (gX1C)        {channel="mqtt:topic:bambuLab:status"}
String                  X1C_subtask                     "subtask"                                                      (gX1C)        {channel="mqtt:topic:bambuLab:subtask"}
String                  X1C_task_id                     "task_id"                                                      (gX1C)        {channel="mqtt:topic:bambuLab:task_id"}
//String                  X1C_total_layer_num             "total_layer_num"                                              (gX1C)        {channel="mqtt:topic:bambuLab:total_layer_num"}
String                  X1C_upgrade_state               "upgrade_state"                                                (gX1C)        {channel="mqtt:topic:bambuLab:upgrade_state"}
//String                  X1C_upload                      "upload"                                                       (gX1C)        {channel="mqtt:topic:bambuLab:upload"}
String                  X1C_vt_tray                     "vt_tray"                                                      (gX1C)        {channel="mqtt:topic:bambuLab:vt_tray"}
Switch                  X1C_work_light                  "work_light"                                                   (gX1C)        {channel="mqtt:topic:bambuLab:work_light"}
//String                  X1C_xcam                        "xcam"                                                         (gX1C)        {channel="mqtt:topic:bambuLab:xcam"}


//bambu ams
Group                   gAMS0
String                  AMS0_ams                        "ams"                                                          (gAMS0)       {channel="mqtt:topic:ams0:ams"}
Number                  AMS0_humidity                   "humidity [%d %%]"                                                (gAMS0)       {channel="mqtt:topic:ams0:humidity"}
String                  AMS0_humidity_level             "humidity_level"                                               (gAMS0)       {channel="mqtt:topic:ams0:humidity_level"}
String                  AMS0_id                         "id"                                                           (gAMS0)       {channel="mqtt:topic:ams0:id"}
String                  AMS0_printer_name               "printer_name"                                                 (gAMS0)       {channel="mqtt:topic:ams0:printer_name"}
String                  AMS0_printer_serial             "printer_serial"                                               (gAMS0)       {channel="mqtt:topic:ams0:printer_serial"}
Number                  AMS0_temp                       "temp [%.1f °C]"                                                    (gAMS0)       {channel="mqtt:topic:ams0:temp"}
String                  AMS0_tray_0_Material                     "tray_0 Material"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_0_material"}
String                  AMS0_tray_1_Material                     "tray_1 Material"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_1_material"}
String                  AMS0_tray_2_Material                     "tray_2 Material"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_2_material"}
String                  AMS0_tray_3_Material                     "tray_3 Material"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_3_material"}
String                  AMS0_tray_0_Color                     "tray_0 Farbe"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_0_color"}
String                  AMS0_tray_1_Color                     "tray_1 Farbe"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_1_color"}
String                  AMS0_tray_2_Color                     "tray_2 Farbe"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_2_color"}
String                  AMS0_tray_3_Color                     "tray_3 Farbe"                                                       (gAMS0)       {channel="mqtt:topic:ams0:tray_3_color"}

//others
Switch X1C_cooledDown "Drucker abgekühlt"  (gX1C) 
Switch X1C_printFinished "Druck abgeschlossen"  (gX1C) 
2 Likes