Bambulab Drucker

124

Comments

  • Ich denke, ich kann das Missverständnis doch noch aufklären: Die MQTT Daten die du meinst, sind die des Druckers fürs Panel, ich rede aber von den MQTT Daten, welche über Global Settings -> MQTT gesendet werden (ich habe eine Pro-Lizenz)
  • Ja das erklärt es. Wie ich das mache muss ich noch gucken. Insbesondere bei den Druckdaten wird sich das aber ändern, da der Bambu nur Fortschritt und Minuten verbleibend meldet. Speed multiplier hab ich in den Bambu MQTT übrigens auch noch nicht gefunden. Vielleicht kommt der nur wenn er sich ändert muss ich noch mit spielen um die Logik zu finden.
  • Jo, das ergibt Sinn.

    Wie sieht es denn mit der Temperatur aus? Die müsste er doch kontinuirlich senden oder nicht?
  • Ja temperaturen kommen vom MQTT regelmäßig. Sollte er denke ich auch weiterleiten da die in den Status gemeldet werden, habe das aber noch nicht überprüft. Noch bin ich dabei ihn intern korrekt zum laufen zu bekommen. Werde mit aber auf jeden fall die MQTT mledungen vor dem finalen Release ansehen.
  • Okay, cool

    Aktuell gibt er die Temperaturen leider noch nicht durch
  • Ok gut zu wissen. Aber das ist zum glück das kleinste Problem. Was wir intern haben kann ich ausgeben :-)
  • gibts denn schon ne neue dev version um mal zu testen ob die verbindung klappt?
  • Vermutlich heute. Will das Drucken noch eben fertig stellen. Klappt schon ganz gut nur noch pause/continue/stop und Fehler bestätigen dann sollte das erst mal zum spielen passen auch wenn es noch optimiert werden sollte.
  • Repetier said:
    Ja damals wusste ich nicht das es auch anders geht:-) Der Schlüssel steht bei Einstellungen->Allgemein auf dem Bambu Display.
    ich habe heute durch zufall entdeckt, dass wenn man das wlan neu configuriert und man bereits im LAN modus ist, geht die cloud verbindung und auch die LAN verbindung und der access code wird auch im menü angezeigt. Muss aber ein Bug sein....
  • Was auf jeden Fall ein Problem sein kann ist, dass im cloud modus die Befehle im lokalen MQTT nicht sichtbar werden. Wenn man da zuhört kommt halt nichts. Nur den Status sieht man und neue Befehle kann ich auch senden.
  • Servus, wie schauts eignetlich mit der neuen dev version aus :D :)
  • Hallo zusammen, ich klink mich hier mal mit ein.

    Auch ich würde eine Bambu Lab Unterstützung für Repetier-Server begrüßen.
    Die Organisation von Druckdateien ohne Repetier-Server ist einfach nicht machbar.

    Ich habe auch kein Problem damit, wenn die Bambu Lab Unterstützung zusätzlich bezahlt werden soll.
  • Ja ich weiß wollte schon eine neue dev Version fertig haben :-) Da ich bereits drucken kann über  Repetier-Server wollte ich das auch Pause/Continue geht, aber da gibt es noch abstimmungsprobleme und teilweise hänger und ich mag es nicht etwas zu Veröffentlichen wo ich weiß das es komplett hängen kann in neuem Code. Kommt aber sobald ich erfolgreich auch mit Pause/Fortsetzen einen Druck kontrollieren kann.

    Der nächste Schritt danach ist dann ein spezialisiertes Widget in der Seitenspalte für Bambu Spezialitäten (Geschwindigkeit, Filament / Düse verwalten)  und AMF Filamentmapping.
  • Sag bitte bescheid, wenn es schon etwas gibt. Aktuell ist es eine Katastrophe die Dinger am laufen zu halten, weil es einfach kein Management gibt.
  • Ich habe gerade die pi dev Version aktualisiert. Die anderen Linux Versionen sollten in ca. 30 Minuten da sein.

    Was neu ist, ist das Drucke starten/pausieren/stoppen können. Eine Druckhistorie wird auch angelegt.

    Was womöglich nicht geht ist mehrere Bambu in einem Server zu kontrollieren. Zumindest kann meinen nicht 2 mal im gleichen Server nutzen, aber in unterschiedlichen Servern geht es. Wenn jemand mehrere hat bitte mal probieren und melden. Suche derweil weiter woran es liegen kann.

    AMC geht muss beim start aber aktiviert werden. AMS filament mapping ist noch nicht drin, kommt aber noch sobald ich das kapiere wie es geht.

    Drucke können auch vom BambuStuido aus gestartet werden, aber da keine Dateinamen gemeldet werden wissen wir aktuell nicht was gedruckt wird. Das Renderbild ist dann fehlerhaft (Rendering) bin ich auch noch dran, aber das ist Kosmetik.

    Was kommt noch: 
    - Extra sidebar Widget mit Bambu infos also speed multiplier setzen (da er nur 4 Stufen kennt), Filamentübersicht
    - Ich will noch sehen ob ich die Timelapse videos anzeigen kann. Leider keine Dateinamen nur Uhrzeiten daher ist es im nachhinein schwer zu sagen welche Datei wozu gehörte.

    Kamera hingegen wird schwierig. Nativ geht es nicht, da der browser wohl rtsps steams nicht kann. Den müsste man erst mit ffmpeg umwandeln in mjpg dann kann man ihn sehen wenn sie aktiviert ist.
  • edited December 11
    bei meinem P1S leider weiterhin folgender fehler:

    2024-12-11 17:14:18: 220 BBL-P003 FTP Server
    2024-12-11 17:14:19: Bambu Connection failed: MQTT error [1]: CONNACK return code 
  • im mqtt explorer funktioniert es aber:

    - tls aktiv
    - protokoll mqtt://
    - username bblp
    - port 8883
    - topic "device/<SN>/report
  • Moin, hab mal für dich getestet: 2 mal den gleichen Drucker in einem Server geht nicht, aber mehrere unterschiedliche Drucker in einem Server geht
    @Repetier
  • @qwz Danke. Hab mittlerweile den Grund gefunden. Alle Verbindungen nutzen die gleiche client id was dann bei mqtt zu Problemen führt. Mit eindeutigen IDs geht es jetzt mit der neuen dev auch mit mehreren Verbindungen zum gleichen Drucker.

    @3DPrintineer Danke für den Server log. Connack Fehler 1 heist das diw MQTT Version nicht untersützt wird. Hatte Version 5 in den Einstellungen. Habe es jetzt auf 3.1.1 mit Fallback 3.1 gestellt. Hoffe das es damit jetzt klappt. 

    Weiterhin habe ich gelsen das die P1 CPU eher schwach ist und man daher nur 2-3 parallele Verbindungen haben kann. Außerdem sollte pushall nur selten aufgerufen werden, weil das zu sehr belastet. Befehle/Änderungen würden durch ein gekürzes JSON gemeldet werden, die nur die geänderten Werte enthalten. Hab jetzt komplette Statusabfrage auf einmal pro Minute gestellt. Hoffe das mit den Teiländerungen stimmt. Wir mergen das immer mit dem letzten Modell so das es eigentlich kein Problem sein soll.

    Außerdem neu ist das im Log mit Befehlsfilter aus jetzt die gesendeten print Befehle erscheinen, was debuggen vereinfachen sollte.

    Werde jetzt weiter an den Feinheiten arbeiten. Habe gerade gemerkt das bewegen gefährlich ist und ich die Sequenz ändern muss. Dann weiter sehen was als nächstes optimiert wird.
  • Repetier said:
    @qwz Danke. Hab mittlerweile den Grund gefunden. Alle Verbindungen nutzen die gleiche client id was dann bei mqtt zu Problemen führt. Mit eindeutigen IDs geht es jetzt mit der neuen dev auch mit mehreren Verbindungen zum gleichen Drucker.

    @3DPrintineer Danke für den Server log. Connack Fehler 1 heist das diw MQTT Version nicht untersützt wird. Hatte Version 5 in den Einstellungen. Habe es jetzt auf 3.1.1 mit Fallback 3.1 gestellt. Hoffe das es damit jetzt klappt. 

    Weiterhin habe ich gelsen das die P1 CPU eher schwach ist und man daher nur 2-3 parallele Verbindungen haben kann. Außerdem sollte pushall nur selten aufgerufen werden, weil das zu sehr belastet. Befehle/Änderungen würden durch ein gekürzes JSON gemeldet werden, die nur die geänderten Werte enthalten. Hab jetzt komplette Statusabfrage auf einmal pro Minute gestellt. Hoffe das mit den Teiländerungen stimmt. Wir mergen das immer mit dem letzten Modell so das es eigentlich kein Problem sein soll.

    Außerdem neu ist das im Log mit Befehlsfilter aus jetzt die gesendeten print Befehle erscheinen, was debuggen vereinfachen sollte.

    Werde jetzt weiter an den Feinheiten arbeiten. Habe gerade gemerkt das bewegen gefährlich ist und ich die Sequenz ändern muss. Dann weiter sehen was als nächstes optimiert wird.
    mega gut, jetzt redet der drucker schon mal mit dem server...ABER nun gibt es ständig einen reconnect und der drucker wechselt aller 5s zwischen online und offline.

    Das gleiche problem habe ich im mqtt explorer sobald ich ein anderes topic subscribe welches nicht "device/<SN>/report" ist, z.b. zusätzlich "#".

    es scheint so, dass beim P1S ausschließlich das eine topic genutzt werden kann.

    grüße
  • Wenn die Seriennummer angegeben wird wird nicht das alle Untertopics mit gesendet, aber wir subscriben zusätzlich aktuell
    device/<SN>/request
    aber explizit. Kannst du in MQTT Explorer testen ob das funktionieren sollte, sonst nehme ich das raus. Wäre nicht zwingend notwendig da ich aktuell vermute das auch im report sehen zu können. Dadurch kann ich vermutlich sehen welche Datei zum Druck gestartet wird, wenn es extern gestartet wird. Aktuell kann man das nicht sehen, nur wenn wir selber starten wissen wir was es ist.
  • Repetier said:
    Wenn die Seriennummer angegeben wird wird nicht das alle Untertopics mit gesendet, aber wir subscriben zusätzlich aktuell
    device/<SN>/request
    aber explizit. Kannst du in MQTT Explorer testen ob das funktionieren sollte, sonst nehme ich das raus. Wäre nicht zwingend notwendig da ich aktuell vermute das auch im report sehen zu können. Dadurch kann ich vermutlich sehen welche Datei zum Druck gestartet wird, wenn es extern gestartet wird. Aktuell kann man das nicht sehen, nur wenn wir selber starten wissen wir was es ist.
    sobald ich im mqtt explorer das request topic hinzufüge habe ich das connection loop verhalten. der P1S übermittelt auch die aktuelle druckdatei, habe hier mal mqtt mitlaufenlassen:

    {"print":{"upgrade_state":{"sequence_id":0,"progress":"","status":"","consistency_request":false,"dis_state":0,"err_code":0,"force_upgrade":false,"message":"0%, 0B/s","module":"","new_version_state":1,"cur_state_code":1,"new_ver_list":[{"name":"ota","cur_ver":"01.06.01.02","new_ver":"01.07.00.00","cur_release_type":3,"new_release_type":3},{"name":"ams/0","cur_ver":"00.00.06.44","new_ver":"00.00.06.49","cur_release_type":0,"new_release_type":1}]},"ipcam":{"ipcam_dev":"1","ipcam_record":"enable","timelapse":"disable","resolution":"","tutk_server":"disable","mode_bits":3},"upload":{"status":"idle","progress":0,"message":""},"nozzle_temper":254.6875,"nozzle_target_temper":255,"bed_temper":69.625,"bed_target_temper":70,"chamber_temper":5,"mc_print_stage":"2","heatbreak_fan_speed":"15","cooling_fan_speed":"0","big_fan1_speed":"6","big_fan2_speed":"0","mc_percent":0,"mc_remaining_time":58,"ams_status":261,"ams_rfid_status":2,"hw_switch_state":0,"spd_mag":100,"spd_lvl":2,"print_error":0,"lifecycle":"product","wifi_signal":"-38dBm","gcode_state":"RUNNING","gcode_file_prepare_percent":"100","queue_number":0,"queue_total":0,"queue_est":0,"queue_sts":0,"project_id":"185795922","profile_id":"176054170","task_id":"372697369","subtask_id":"372697370","subtask_name":"<hier eigentlich job name>","gcode_file":"<hier eigentlich 3mf>","stg":[2,14,1],"stg_cur":2,"print_type":"cloud","home_flag":24266047,"mc_print_line_number":"432","mc_print_sub_stage":0,"sdcard":true,"force_upgrade":false,"mess_production_state":"active","layer_num":0,"total_layer_num":312,"s_obj":[],"filam_bak":[12],"fan_gear":25600,"nozzle_diameter":"0.4","nozzle_type":"hardened_steel","cali_version":0,"hms":[{"attr":117449216,"code":196610,"action":0,"timestamp":1734079100}],"online":{"ahb":false,"rfid":false,"version":1628060942},"ams":{"ams":[{"id":"0","humidity":"5","temp":"0.0","tray":[{"id":"0","remain":-1,"k":0.019999999552965164,"n":1,"cali_idx":-1,"tag_uid":"EA06693B00000100","tray_id_name":"A01-W2","tray_info_idx":"GFA01","tray_type":"PLA","tray_sub_brands":"PLA Matte","tray_color":"FFFFFFFF","tray_weight":"1000","tray_diameter":"1.75","tray_temp":"55","tray_time":"8","bed_temp_type":"1","bed_temp":"35","nozzle_temp_max":"230","nozzle_temp_min":"190","xcam_info":"D007D007E803E8030000803F","tray_uuid":"2A3D64BAC71441DB918D57E0EEE89B4C","ctype":0,"cols":["FFFFFFFF"]},{"id":"1","remain":-1,"k":0.019999999552965164,"n":1,"cali_idx":-1,"tag_uid":"1A6D64DC00000100","tray_id_name":"B01-W0","tray_info_idx":"GFB01","tray_type":"ASA","tray_sub_brands":"ASA","tray_color":"FFFFFFFF","tray_weight":"1000","tray_diameter":"1.75","tray_temp":"80","tray_time":"8","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"270","nozzle_temp_min":"240","xcam_info":"34218813E803E803CDCC0C3F","tray_uuid":"43BE0C9CA6234A429FEBBE7F588889AB","ctype":0,"cols":["FFFFFFFF"]},{"id":"2"},{"id":"3","remain":-1,"k":0.019999999552965164,"n":1,"cali_idx":-1,"tag_uid":"8ACB29FD00000100","tray_id_name":"G50-K0","tray_info_idx":"GFG50","tray_type":"PETG-CF","tray_sub_brands":"PETG-CF","tray_color":"000000FF","tray_weight":"1000","tray_diameter":"1.75","tray_temp":"60","tray_time":"8","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"270","nozzle_temp_min":"240","xcam_info":"803E803EE803E8033333733F","tray_uuid":"7B3F6B63BE1D429281B3E0194194885F","ctype":0,"cols":["000000FF"]}]}],"ams_exist_bits":"1","tray_exist_bits":"b","tray_is_bbl_bits":"b","tray_tar":"3","tray_now":"3","tray_pre":"255","tray_read_done_bits":"b","tray_reading_bits":"0","version":391,"insert_flag":true,"power_on_flag":false},"vt_tray":{"id":"254","tag_uid":"0000000000000000","tray_id_name":"","tray_info_idx":"GFU00","tray_type":"TPU","tray_sub_brands":"","tray_color":"FFFFFFFF","tray_weight":"0","tray_diameter":"0.00","tray_temp":"0","tray_time":"0","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"250","nozzle_temp_min":"200","xcam_info":"000000000000000000000000","tray_uuid":"00000000000000000000000000000000","remain":0,"k":0.019999999552965164,"n":1,"cali_idx":-1},"lights_report":[{"node":"chamber_light","mode":"on"}],"command":"push_status","msg":0,"sequence_id":"44125"}}
    
    
    "subtask_name":"<name>","gcode_file":"<name>.3mf"
    
    
    
  • die kamera scheint über rtsps zu laufen, port 322

    rtsps://bblp:<security code>@<;ip_address>/streaming/live/1
  • Ok habe das 2. topic jetzt rausgenommen. Wäre aber sehr mickrig wenn man nicht mal 2 topics beobachten darf. Aber ok, erst mal sehen ob es besser geht.

    gcode_file ist bei mir kein .3mf sondern der Pfad innerhalb des 3mf was ja eine Zip-Datei ist. Hoffe Druckstart klappt, weil es offenbar unterschiedliche formate für URL gibt wenn man den Druck startet, weiß nur nicht wann hab das nur in einer Bibliothek gelesen.
  • edited December 14
    also jetzt funktioniert die verbindung.

    ich kann aktuell:

    - lüfter steuern
    - z achse bewegen
    - licht an/aus schalten
    - temperaturen lesen aber nicht setzen

    im log sehe zwar die ftp verbindung und datein/ordner aber es werden keine vorhandenen datein in der web oberfläche angezeigt.
  • Ok, das ist schon mal ein guter Fortschritt.

    Was für Dateien siehst du da?
    Es werden nur .3mf Dateien mit dem Server synchronisiert, alles andere kann nicht gedruckt werden. Andererseits werden die anderen auch nicht angezeigt. 
    Bei downloadfehlern sollte zudem eine Fehlermeldung im server.log erscheinen.

    Dateien werden nach STORAGE_DIR/printer/<slugname>/int/sd kopiert. Bei fehlern allerdings auch wieder gelöscht.

    Sie sollten dann oben wo sonst die Warteschlange ist erscheinen.
  • edited December 14
    im log zeigt er mir die 3mf datein und ordner an aber in der warteschlange zeigt er nichts, auch keine download fehler


  • Also Druck starten geht bei mir aktuell noch nicht, wenn ich mit BA Studio starte, wird aber sowohl Druckdatei als auch Layer, Druckzeit, Status etc alles richtig erkannt.

    Was noch als kosmetik ganz schön wäre, die namen der Druckplatten auslesen, wenn man eine 3mf mit mehreren Druckplatten hochläd, aktuell steht dann nur "plate1" usw.
  • Die Platten heißen wirklich Plate 1 - x innerhalb dr 3mf. Kann man die Namen ändern? Hab ich nicht gesehen.

    Den Namen der 3mf Datei sieht man im allgemeinen nicht. Was ich noch versuchen will ist zu sehen ob der kurz im Rahmen des Starts erscheint, weil ja jeder Befehl in Report bis zum nächsten Befehl dort erscheint. Dann kennen wir ihn zumindest, wenn der Server zum Startzeitpunkt schon lief und können eventuell sogar rendering anzeigen, wobei bambu Studio ja keine Dateien auf der SD-Karte starten kann, nur neue die wir zu dem Zeitpunkt eventuell nciht kennen. Aber ich werde sehen was ich hinbekomme. Kann ja bei neuen Dateien eventuell Synchronisation erzwingen.

    Wichtiger ist allerdings heraus zu bekommen, warum die Dateien nicht erscheinen und auch keine Fehlermeldung. Wenn die im Log sind, hat die SFTP Verbindung ja geklappt und neue sollten heruntergeladen werden. Werde da noch weitere Meldungen einbauen, damit man sieht ob er es versucht oder wegen etwas anderem denkt das er sie hatte. Leider geht übersetzen gerade bei mir nicht wegen einer Umstellung, hoffe das hält mich nciht zu lange auf. Melde mich wenn sie fertig ist.
  • edited December 16
    in der 3mf datei unter metadata ist eine datei "model_settings.config" dort findet man dann folgendes:

    <?xml version="1.0" encoding="UTF-8"?>
    <config>
      <plate>
        <metadata key="plater_id" value="1"/>
        <metadata key="plater_name" value="Feet"/>
        <metadata key="locked" value="false"/>
        <metadata key="gcode_file" value="Metadata/plate_1.gcode"/>
        <metadata key="thumbnail_file" value="Metadata/plate_1.png"/>
        <metadata key="thumbnail_no_light_file" value="Metadata/plate_no_light_1.png"/>
        <metadata key="top_file" value="Metadata/top_1.png"/>
        <metadata key="pick_file" value="Metadata/pick_1.png"/>
        <metadata key="pattern_bbox_file" value="Metadata/plate_1.json"/>
      </plate>
      <plate>
        <metadata key="plater_id" value="2"/>
        <metadata key="plater_name" value="Hat"/>
        <metadata key="locked" value="false"/>
        <metadata key="gcode_file" value="Metadata/plate_2.gcode"/>
        <metadata key="thumbnail_file" value="Metadata/plate_2.png"/>
        <metadata key="thumbnail_no_light_file" value="Metadata/plate_no_light_2.png"/>
        <metadata key="top_file" value="Metadata/top_2.png"/>
        <metadata key="pick_file" value="Metadata/pick_2.png"/>
        <metadata key="pattern_bbox_file" value="Metadata/plate_2.json"/>
      </plate>
      <plate>
        <metadata key="plater_id" value="3"/>
        <metadata key="plater_name" value="Head"/>
        <metadata key="locked" value="false"/>
        <metadata key="gcode_file" value="Metadata/plate_3.gcode"/>
        <metadata key="thumbnail_file" value="Metadata/plate_3.png"/>
        <metadata key="thumbnail_no_light_file" value="Metadata/plate_no_light_3.png"/>
        <metadata key="top_file" value="Metadata/top_3.png"/>
        <metadata key="pick_file" value="Metadata/pick_3.png"/>
        <metadata key="pattern_bbox_file" value="Metadata/plate_3.json"/>
      </plate>
      <plate>
        <metadata key="plater_id" value="4"/>
        <metadata key="plater_name" value="Feet"/>
        <metadata key="locked" value="false"/>
        <metadata key="gcode_file" value="Metadata/plate_4.gcode"/>
        <metadata key="thumbnail_file" value="Metadata/plate_4.png"/>
        <metadata key="thumbnail_no_light_file" value="Metadata/plate_no_light_4.png"/>
        <metadata key="top_file" value="Metadata/top_4.png"/>
        <metadata key="pick_file" value="Metadata/pick_4.png"/>
        <metadata key="pattern_bbox_file" value="Metadata/plate_4.json"/>
      </plate>
      <plate>
        <metadata key="plater_id" value="5"/>
        <metadata key="plater_name" value="Goggle"/>
        <metadata key="locked" value="false"/>
        <metadata key="gcode_file" value="Metadata/plate_5.gcode"/>
        <metadata key="thumbnail_file" value="Metadata/plate_5.png"/>
        <metadata key="thumbnail_no_light_file" value="Metadata/plate_no_light_5.png"/>
        <metadata key="top_file" value="Metadata/top_5.png"/>
        <metadata key="pick_file" value="Metadata/pick_5.png"/>
        <metadata key="pattern_bbox_file" value="Metadata/plate_5.json"/>
      </plate>
    </config>
    


    und dort gibts die "plater_id" also welche Platte und auch den "plater_name". wusste aber nicht das es so kompliziert ist, es reicht auch der gcode name selbst aus der 3mf datei. (wie gesagt, das war jetzt nur kosmetik :D )
Sign In or Register to comment.