NEWS
Bambu lab 3d Drucker MQTT Integration
-
@darkdevil bei beidem, im Debug rasselt es durch und in den datenpunkten auch
-
Für alle zur Information:
Laut einem anderen Forum ist es wohl so, dass der P1P nicht alle Daten sekündlich über MQTT schickt, wie der X1C es macht.
Es gibt einen Request Befehl beim P1P:{ “pushing”: { “sequence_id”: “1”, “command”: “pushall” }, “user_id”: “1234567890” }
Hier zum Testen und zum Importieren in euer Node-Red:
Mit dem Klick auf die Inject Node sollte eine Anfrage an euren P1P gesendet werden.
Dieser sollte dann mit Werten antworten.Ungetestet da kein P1P vorhanden.
-
@kmxak sagte in Bambu lab 3d Drucker MQTT Integration:
https://forum.iobroker.net/topic/61585/bambu-lab-3d-drucker-mqtt-integration/69
Diese relativen Links kannst Du nicht verwenden - da je nach Sortierung im Thread ein ganz falscher Eintrag referenziert wird . Falls es um diesen Beitrag geht:
diesen Link verwenden: https://forum.iobroker.net/post/946651
-
Hallo zusammen,
danke für die tolle Anleitung von @djalexz !!
Damit hab ich es sogar geschafft, als absoluter NodeRed DAU den X1C-Status in den ioBroker zu bekommen.Ein "Problem" habe ich noch. Der Drucker wird bei mir immer als offline angezeigt. Hat jemand eine Idee, woran das liegen könnte?
Ich habe auch mal einen Adapter-Request gemacht, vielleicht findet sich ja jemand, der das ganze in einen Adapter adaptieren kann (schöner Satz ) - vielleicht hilft ja ein Like von dem ein oder anderen, dass sich jemand findet: https://github.com/ioBroker/AdapterRequests/issues/829
-
Mal eine Frage zu diesem Github Eintrag:
https://github.com/greghesp/ha-bambulab
Hat sich hier schon mal mit dem Thema Buttons beschäftigt? Wenn ich das richtig verstehe sollten zumindest Start, Pause und Cancel realisierbar sein? Das wäre natürlich nice wenn man zumindest den Druck übers VIS im iobroker abbrechen könnte ohne immer das scheiß Bambu Studio öffnen zu müssen.
Allerdings finde ich nicht wirklich was in meinen Datenpunkten, welche mir NodeRed auswirft.
-
Hallo zusammen,
ich hab nochmal bisschen was gebastelt.
Hiermit könnt ihr den Drucker steuern.
Verwendung auf eigene GefahrDie MQTT Node muss entsprechend angepasst werden.
Das ist natürlich nur ein Beispiel-Flow wie es gehen kann.
Es geht ja hauptsächlich um die Befehle.
Damit könnt ihr dann weiterbastelnLG Alex
-
@dadonali
Sollte was für dich sein -
@djalexz
Kann ich den flow von dir dann einfach hinzufügen? -
Hallo zusammen,
geht auch alles über den MQTT Adapter ohne Node Red,
der liest euch eine JSON aus dem Drucker aus und legt die unter MQTT in einem Datenpunkt ab:sieht dann ungefähr so aus:
{ "print": { "ams": { "ams": [ { "humidity": "4", "id": "0", "temp": "30.9", "tray": [ { "bed_temp": "0", "bed_temp_type": "2", "cols": [ "FFC600FF" ], "drying_temp": "55", "drying_time": "8", "id": "0", "nozzle_temp_max": "240", "nozzle_temp_min": "200", "remain": 0, "tag_uid": "DDDE769400000100", "tray_color": "FFC600FF", "tray_diameter": "1.75", "tray_id_name": "A05-Y4", "tray_info_idx": "GFA05", "tray_sub_brands": "PLA Silk", "tray_type": "PLA", "tray_uuid": "325DA7506BCE447B9F34D1CDC94658DA", "tray_weight": "1000", "xcam_info": "A438803EE803E8033333333F" }, //... weiter AMS Slots ] } ], "ams_exist_bits": "1", "insert_flag": true, "power_on_flag": false, "tray_exist_bits": "f", "tray_is_bbl_bits": "f", "tray_now": "255", "tray_pre": "255", "tray_read_done_bits": "f", "tray_reading_bits": "0", "tray_tar": "255", "version": 5 }, "ams_rfid_status": 0, "ams_status": 0, "aux_part_fan": true, "bed_target_temper": 0.0, "bed_temper": 37.0, "big_fan1_speed": "0", "big_fan2_speed": "0", "chamber_temper": 35.0, "command": "push_status", "cooling_fan_speed": "0", "fail_reason": "0", "fan_gear": 0, "filam_bak": [], "force_upgrade": false, "gcode_file": "Name des DruckFiles", "gcode_file_prepare_percent": "100", "gcode_start_time": "1687977739", "gcode_state": "FINISH", "heatbreak_fan_speed": "0", "hms": [], "home_flag": 16648, "hw_switch_state": 0, "ipcam": { "ipcam_dev": "1", "ipcam_record": "enable", "resolution": "1080p", "timelapse": "disable" }, "layer_num": 360, "lifecycle": "product", "lights_report": [ { "mode": "on", "node": "chamber_light" }, { "mode": "flashing", "node": "work_light" } ], "maintain": 3, "mc_percent": 100, "mc_print_error_code": "0", "mc_print_stage": "1", "mc_print_sub_stage": 0, "mc_remaining_time": 0, "mess_production_state": "active", "nozzle_diameter": "0.4", "nozzle_target_temper": 0.0, "nozzle_temper": 39.0, "online": { "ahb": false, "rfid": false, "version": 9 }, "print_error": 0, "print_gcode_action": 255, ... }
Ich hab mir dann die Datenpunkte die ich gebrauchen kann manuell angelegt:
und dann mit einem Blockly ausgelesen und in den Datenpunkt geschrieben.
- z. B. Nozzle - Temp:
setState("0_userdata.0.X1C.Temp_Nozzle"/*Temp_Nozzle*/, parseFloat((await jsonataExpression((function () { try {return JSON.parse(getState("mqtt.0.device.00M09A340700121.report").val);} catch(e) {return {};}})(),'print.nozzle_temper'))), true);
Hier ein noch angefangenes VIS Beispiel:
Mit Bindings lassen sich auch die Farben im AMS auslesen,
die einzelnen Lüfter Geschwindigkeiten und einiges mehr...Vielleicht interessiert das ja jemanden.
Wenn man sich z.B. im MQTT Adapter einen Datenpunkt: "Request" anlegt:
kann man auch Befehle schicken:
{ "print": { "command": "gcode_line", "param": "M960 S5 P1", "sequence_id": "0" } }
mit diesem gCode schaltet man das ToolHead Logo ein. Funktioniert auch wärend des Drucks.
-
@dadonali
Moin, ja sollte gehen. -
@baeri sagte in Bambu lab 3d Drucker MQTT Integration:
Ich habe auch mal einen Adapter-Request gemacht, vielleicht findet sich ja jemand, der das ganze in einen Adapter adaptieren kann (schöner Satz ) - vielleicht hilft ja ein Like von dem ein oder anderen, dass sich jemand findet: https://github.com/ioBroker/AdapterRequests/issues/829
Habe es nun als DAU tatsächlich mit der NodeRed Instanz hinbekommen.
Ein Adapter wäre natürlich schöner, vielleicht findet sich ja jemand, der Anhand dieses NodeRed Ablaufs einen Adapter bauen kann?Da ich auch einen Bambulab X1 habe konnte ich das hier nicht liegen lassen, mit dank an den Informationen hier im forum habe ich einen adapter erstellt der alle Daten per MQTT Verbindung live bekommt. Man muss nur in den Einstellungen die IP Adresse, token und serial hinterlegen
Schalten werden ich im laufe des tages/morgen implementieren, soweit mir bekannt kann man aber nur start/stop/resume und die Lampe schalten
Wen jemand die anderen MQTT befehle zum steuern kennt gerne her damit dan ergänze ich das.
Der adapter ist in einem beta status, die erste version kann über git und NPM installiert werden.
Wen alles einigermassen läuft mache ich einen PR zur aufnähme in den adminHier zum adapter: ioBroker.bambulab
wunensche, Anregungen etc gerne als git issue. Möchte diese post hier auch nicht damit sprengen eventuell doch noch einen tester thread erstellen.
Beim starten des adapters (v0.1.0) kommen noch warnings das Definitionen fehlen, die arbeite ich noch nach. Ist im Grunde nicht wichtig aber sorgt dafür das grad Celsius use richtig dargestellt wird
-
@dadonali sagte in Bambu lab 3d Drucker MQTT Integration:
Mal eine Frage zu diesem Github Eintrag:
https://github.com/greghesp/ha-bambulab
Hat sich hier schon mal mit dem Thema Buttons beschäftigt? Wenn ich das richtig verstehe sollten zumindest Start, Pause und Cancel realisierbar sein? Das wäre natürlich nice wenn man zumindest den Druck übers VIS im iobroker abbrechen könnte ohne immer das scheiß Bambu Studio öffnen zu müssen.
Allerdings finde ich nicht wirklich was in meinen Datenpunkten, welche mir NodeRed auswirft.
das wird in der 0.1.1 versions meines adapters funktionieren, start/stop/resume und schalten der Lampe
-
Super, dass es nun einen Adapter gibt
Funktioniert die Kommunikation denn nur, wenn der Drucker im "LAN only" Mode konfiguriert ist?
-
@darkdevil sagte in Bambu lab 3d Drucker MQTT Integration:
Super, dass es nun einen Adapter gibt
Funktioniert die Kommunikation denn nur, wenn der Drucker im "LAN only" Mode konfiguriert ist?
nope geht in beiden Varianten, LAN only modus bedeutet das man die cloud ausschaltet es geht sowohl mit als ohne cloud da der adapter sich local verbindet
PS: in der jetzigen version auf git ist auch das steuern der lampe, start/stop/resume implementiert
sobald ich die states fertig habe kommt eine versions 0.2.0 -
da der adapter stabiel läuft und ich es auch, mit ein wenig Hilfe, geschafft habe die Steuerung der lampen, des Lüfter und custom g-code zu implantieren habe ich dazu ein neuen thread erstellt.
Ich würde mich sehr über tester und feedback freuen !
https://forum.iobroker.net/topic/67178/bambulab-3d-drucker-adapter?_=1690472648517