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)