SR-G Posté(e) Janvier 16, 2023 Posté(e) Janvier 16, 2023 (modifié) Tout premier jet, il faut encore creuser ... J'ai lancé une impression de 6 heures et j'ai capturé l'intégralité des événements envoyés par la Bambu X1C (pour usage par le client desktop ou le client Android) : çà se fait via le protocole MQTT, sous forme de données JSON, avec de nombreux events publiés. En 6 heures, j'ai eu 53275 events, mais seulement 4 types d'events différents. Soit 288 MO (quand même !) (et seulement 4.3 MO une fois compressé en GZIP vu qu'il y a énormément de données identiques entre chaque message). - Events "info" : 3 events - Events "liveview" : 2 events - Events "mc_print" : 28534 events - Events "print" : 24736 events Ca ce sont les events de l'imprimante vers l'extérieur : ce sont juste des publications d'infos / des "compte-rendus". Il en manque bien sûr / sans doute / clairement plusieurs autres. Ca en fait un paquet : l'imprimante balance sans arrêt les mêmes infos statiques tout le temps (c'est presque over kill, mais bon). Et il y a bien sûr des events dans l'autre sens : Bambu Studio > MQTT > imprimante (pour envoyer des commandes) (genre, changement de température > un message spécifique avec la valeur, etc.) (je n'ai pas encore creusé). Mes notes persos sur les manips pour tranquillement récupérer ces events (via DOCKER) : # Launch a docker container in order to have a MQTT client docker run --rm -it -v $(pwd):/data -w /data/ --name mqtt-client2 debian:bullseye-slim /bin/bash # Once inside the container, install the MQTT client and JQ (for JSON formatting) apt-get update && apt-get install -y mosquitto-clients jq # Put your informations here regarding the Bambu (IP address + internal ID (visible in Bambu Studio)) export BAMBU_X1C_IP="192.168.8.130" export BAMBU_X1C_ID="00M00A261900054" # Display continuously all messages sent by the printer mosquitto_sub -h ${BAMBU_X1C_IP} -v -t '#' # Send them to a file mosquitto_sub -h ${BAMBU_X1C_IP} -v -t '#' > bambu-traces-$(date '+%Y-%m-%d_%H-%M').log # Display all messages except the (continuously sent) reports : there should be nothing mosquitto_sub -h ${BAMBU_X1C_IP} -v -t '#' -T "device/${BAMBU_X1C_ID}/report" # Extract the %age of the current print in progress from the continuous reports (to monitor progress of current print) mosquitto_sub -h ${BAMBU_X1C_IP} -t "device/${BAMBU_X1C_ID}/report" | jq '.print.mc_percent' Et pour le détail voici le contenu des 4 types de messages trappés (le début est le nom du TOPIC MQTT (cf. option "-v" ci-avant), le reste est le contenu du JSON tel qu'envoyé par l'imprimante). Premier type, le plus complet, avec toutes les infos "statiques" sur l'AMS (couleurs des filaments dans les AMS) et toutes celles "dynamiques" (qui changent potentiellement tout le temps sur la durée), dont l'humidité, les températures, le % de progression, les erreurs, ... device/00M00A261900054/report { "print": { "ams": { "ams": [ { "humidity": "2", "id": "0", "temp": "22.5", "tray": [ { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "0", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "161616FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" }, { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "1", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "F98C36FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" }, { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "2", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "FFFFFFFF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" }, { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "3", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "0ACC38FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" } ] }, { "humidity": "5", "id": "1", "temp": "20.6", "tray": [ { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "0", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "F72323FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" }, { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "1", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "A03CF7FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" }, { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "2", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "898989FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" }, { "bed_temp": "0", "bed_temp_type": "0", "drying_temp": "0", "drying_time": "0", "id": "3", "nozzle_temp_max": "260", "nozzle_temp_min": "220", "remain": 0, "tag_uid": "0000000000000000", "tray_color": "AF7933FF", "tray_diameter": "0.00", "tray_id_name": "", "tray_info_idx": "GFG99", "tray_sub_brands": "", "tray_type": "PETG", "tray_uuid": "00000000000000000000000000000000", "tray_weight": "0", "xcam_info": "000000000000000000000000" } ] } ], "ams_exist_bits": "3", "insert_flag": true, "power_on_flag": false, "tray_exist_bits": "ff", "tray_is_bbl_bits": "ff", "tray_now": "6", "tray_read_done_bits": "ff", "tray_reading_bits": "0", "tray_tar": "6", "version": 13 }, "ams_rfid_status": 2, "ams_status": 768, "bed_target_temper": 70.0, "bed_temper": 70.0, "big_fan1_speed": "0", "big_fan2_speed": "15", "chamber_temper": 31.0, "command": "push_status", "cooling_fan_speed": "0", "fail_reason": "0", "fan_gear": 16711680, "force_upgrade": false, "gcode_file": "/data/Metadata/plate_1.gcode", "gcode_file_prepare_percent": "100", "gcode_start_time": "1673860282", "gcode_state": "RUNNING", "heatbreak_fan_speed": "15", "hms": [], "home_flag": 271, "hw_switch_state": 1, "ipcam": { "ipcam_dev": "1", "ipcam_record": "disable", "resolution": "1080p", "timelapse": "enable" }, "lifecycle": "product", "lights_report": [ { "mode": "on", "node": "chamber_light" }, { "mode": "flashing", "node": "work_light" } ], "mc_percent": 6, "mc_print_error_code": "0", "mc_print_stage": "2", "mc_print_sub_stage": 0, "mc_remaining_time": 326, "mess_production_state": "active", "nozzle_target_temper": 255.0, "nozzle_temper": 255.0, "online": { "ahb": true, "rfid": false }, "print_error": 0, "print_gcode_action": 0, "print_real_action": 0, "print_type": "cloud", "profile_id": "1264843", "project_id": "1264845", "sdcard": true, "sequence_id": "2021", "spd_lvl": 2, "spd_mag": 100, "stg": [ 2, 14, 1, 8 ], "stg_cur": 0, "subtask_id": "2435333", "subtask_name": "boardgame-the-king-is-dead_plate_1", "task_id": "2435332", "upgrade_state": { "ahb_new_version_number": "", "ams_new_version_number": "", "consistency_request": false, "dis_state": 0, "err_code": 0, "force_upgrade": false, "message": "", "module": "null", "new_version_state": 2, "ota_new_version_number": "", "progress": "0", "sequence_id": 0, "status": "IDLE" }, "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": "" }, "wifi_signal": "-60dBm", "xcam": { "allow_skip_parts": false, "buildplate_marker_detector": false, "first_layer_inspector": true, "halt_print_sensitivity": "medium", "print_halt": true, "printing_monitor": true, "spaghetti_detector": true }, "xcam_status": "0" } } Des infos statiques sur toutes les versions de firmwares, en début d'impression : device/00M00A261900054/report { "info": { "command": "get_version", "module": [ { "hw_ver": "", "name": "ota", "sn": "", "sw_ver": "01.03.00.00" }, { "hw_ver": "AP05", "name": "rv1126", "sn": "00M00A261900054", "sw_ver": "00.00.16.35" }, { "hw_ver": "TH07", "name": "th", "sn": "00300A261900148", "sw_ver": "00.00.04.53" }, { "hw_ver": "MC07", "name": "mc", "sn": "00200A261900479", "sw_ver": "00.00.12.63/00.00.12.63" }, { "hw_ver": "", "name": "xm", "sn": "", "sw_ver": "00.00.00.00" }, { "hw_ver": "AMS08", "name": "ams/0", "sn": "00600A282505298", "sw_ver": "00.00.05.75" }, { "hw_ver": "AMS08", "name": "ams/1", "sn": "00600A290900120", "sw_ver": "00.00.05.75" }, { "hw_ver": "AHB01", "name": "ahb", "sn": "00K00A290100335", "sw_ver": "00.00.00.42" } ], "sequence_id": "20010" } } Je suppose une info pour le liveview de la caméra (depuis Bambu Studio | Handy) : device/00M00A261900054/report { "liveview": { "authkey": "XXXXXX", "command": "prepare", "passwd": "XXXXX", "result": "succeed", "sequence_id": 0, "ttcode": "94ZBLJ5JTR865S3F111A" } } Un rapport d'avancement pour l'AMS ... : device/00M00A261900054/report { "mc_print": { "command": "push_info", "param": "[AMS][TASK]ams1 en=1,mode=0,sta=0", "sequence_id": "2421" } } (c'est un premier jet, il va encore que j'y travaille - l'idée est notamment de pouvoir à distance l'avancée des impressions autrement (par ex., sous linux en ligne de commande) qu'en prenant sans arrêt son téléphone + de voir ce qu'on peut récupérer comme infos et éventuellement qu'en faire (stockage pour graphs sur la durée, alertes sur seuils genre pour l'humidité, ...). La dernière commande ci-avant fait justement çà (avec "jq") : extraire du JSON en continu le %age d'impression et l'afficher en console (à titre d'exemple). Modifié (le) Janvier 16, 2023 par SR-G 2
Motard Geek Posté(e) Janvier 17, 2023 Posté(e) Janvier 17, 2023 Joli travail ! Vivement le plugin Jeedom 1
SR-G Posté(e) Janvier 17, 2023 Auteur Posté(e) Janvier 17, 2023 C'est tout à fait faisable dans l'absolu (mais je n'utilise pas JEEDOM moi mais OPENHAB ). 1
Lecl0ne Posté(e) Mars 20, 2023 Posté(e) Mars 20, 2023 Oh la la ça promet! Vivement le plugin Jeedom oui! !!! 1
D12230 Posté(e) Aout 11, 2023 Posté(e) Aout 11, 2023 (modifié) Bonjour, Pour ma part je n'ai qu'un seul besoin. Eteindre l'imprimante lorsqu'elle imprime de nuit. Avec Jeedom c'est tout à fait faisable sans plugin dédié. il suffit d'installer le plugin jmqtt, de créer un brocker, puis un équipement. J'ai une P1S qui de toute façon n'envoi pas grand chose. Que se soit en mode cloud ou en mode réseau uniquement je ne reçois que çà. Citation {"print":{"nozzle_temper":78.21875,"bed_temper":59.875,"command":"push_status","msg":1,"sequence_id":"10031"}} Mon imprimante étant sur un prise connectée je peux donc la détecter et vérifier que jmqtt à réussi à se connecter à la P1S à l'aide d'un scénario. Je me base en ensuite sur les températures pour savoir si elle va imprimer ou non. j'arrête ou non la P1S en fin d'impression en fonction d'un choix fait à l'aide du plugin Telegram. (Le choix par défaut si pas de réponse est 'Pas de prise en charge de l'extinction'. Pour la X1C beaucoup plus bavarde, je vois pas pourquoi d'autres actions ne seraient pas possible. il y à même quelqu'un qui semble passer quelques commandes à une P1P. https://forum.bambulab.com/t/added-p1p-a-touch-screen/19017. A voir dans le temps. Modifié (le) Aout 11, 2023 par D12230
Lecl0ne Posté(e) Aout 11, 2023 Posté(e) Aout 11, 2023 Ça que tu me dis m'intéresse beaucoup. J'ai en effet une X1C. Peux-tu me guider sur comment créer un brocker? Je viens d'installer le plugin mqtt.
SR-G Posté(e) Aout 11, 2023 Auteur Posté(e) Aout 11, 2023 Le broker est intégré dans l'imprimante, il suffit de s'y connecter (depuis un client MQTT quelconque). Dans mon cas j'ai une prise commandée "SHELLY" compatible, et j'éteins à la voix ("Alexa, éteins X1"). Car en effet, il faut faire attention à ne PAS éteindre l'imprimante tout de suite = il ne faut pas l'éteindre quand les ventilateurs tournent encore, pour éviter un choc thermique (qui à la longue pourrait être dommageable). Plus, bien évidemment, souvent j'enchaîne les impressions et je ne voulais donc pas automatiser l'extinction après chaque impression. Le broker est intégré dans l'imprimante, il suffit de s'y connecter (depuis un client MQTT quelconque). Dans mon cas j'ai une prise commandée "SHELLY" compatible, et j'éteins à la voix ("Alexa, éteins X1"). Car en effet, il faut faire attention à ne PAS éteindre l'imprimante tout de suite = il ne faut pas l'éteindre quand les ventilateurs tournent encore, pour éviter un choc thermique (qui à la longue pourrait être dommageable). Plus, bien évidemment, souvent j'enchaîne les impressions et je ne voulais donc pas automatiser l'extinction après chaque impression. Sinon pour rappel, par rapport aux événements publiés par l'imprimante, moi j'ai mis çà en place pour avoir un fichier .CSV contenant la liste de tout ce que j'ai imprimé. https://forum.bambulab.com/t/beta-tester-needed-bambu-lab-observer-command-line-binary/5599/ (compatible depuis peu avec le firmware 1.06.00.00 qui a changé pas mal de choses sur l'aspect messages MQTT)
Lecl0ne Posté(e) Aout 11, 2023 Posté(e) Aout 11, 2023 il y a 3 minutes, D12230 a dit : tu fais "ajouter un brocker" puis. Dans un premier temps, c'est bien exactement ça qui m'intéressait. A terme, je voudrai récupérer les valeurs de température etc. Je ne suis pas chez moi mais j'ai crée le broker avec mon IP et tes paramètres et entrerait mon MDP bblp dès que je serai devant et te tiendrai au jus !
Lecl0ne Posté(e) Aout 13, 2023 Posté(e) Aout 13, 2023 Salut !! Alors j'ai beaucoup avancé !! J'ai sniffé énormément d'infos de ma X1C et peux à présent afficher quasiment toutes les informations sur Jeedom. J'ai essayé de faire un mouvement de 10mm selon l'axe Y depuis BambuStudio, voici le retourJMQTT: { "print": { "command": "gcode_line", "param": "M211 S \nM211 X1 Y1 Z1\nM1002 push_ref_mode\nG91 \nG1 Y-10,0 F3000\nM1002 pop_ref_mode\nM211 R\n", "reason": "SUCCESS", "result": "SUCCESS", "sequence_id": "20073", "user_id": "1692490449" } } Penses-tu qu'il soit possible d'envoyer un ordre de mouvement à l'imprimante via une commande action ??
SR-G Posté(e) Aout 13, 2023 Auteur Posté(e) Aout 13, 2023 Bien sûr : tout ce qui est fait depuis l'appli Android ou depuis Bambu Studio n'est rien d'autre que d'autres commandes JSON envoyées par MQTT (dans le sens appli > imprimante).
Lecl0ne Posté(e) Aout 13, 2023 Posté(e) Aout 13, 2023 Peux-tu m'aider à formater mon message d'envoi pour par exemple envoyer ce déplacement de 10mm en Y? Après je comprendrai le principe !
Lecl0ne Posté(e) Aout 14, 2023 Posté(e) Aout 14, 2023 Aussi je me demandais si tu avais réussi à récupérer le flux rtsp de la caméra de la P1S ?
D12230 Posté(e) Aout 16, 2023 Posté(e) Aout 16, 2023 Bonjour, Désolé pour la réponse tardive mais je ne reçois aucune notification du forum. Je suis bien abonné au sujet et l'adresse mail est bonne alors pourquoi ???? - Pour le flux de la caméra il me semble avoir lu quelque part que ce n'était pas possible. Pour ce qui est d'envoyer une commande. Il faut créer une commande action, saisir le topic (device/SN de l'imprimante/report) et saisir une valeur au format Json Ci-dessous représente la réponse. Pas ce qui à été publié. Citation { "print": { "command": "gcode_line", "param": "M211 S \nM211 X1 Y1 Z1\nM1002 push_ref_mode\nG91 \nG1 Y-10,0 F3000\nM1002 pop_ref_mode\nM211 R\n", "reason": "SUCCESS", "result": "SUCCESS", "sequence_id": "20073", "user_id": "1692490449" } } moi j’essaierai ceci dans la valeur de l'action. Citation { "print": { "command": "gcode_line", "param": "M211 S \nM211 X1 Y1 Z1\nM1002 push_ref_mode\nG91 \nG1 Y-10,0 F3000\nM1002 pop_ref_mode\nM211 R\n" } } Si cela ne marche pas, ajoute le user_id. Le 14/08/2023 at 00:15, Lecl0ne a dit : Peux-tu m'aider à formater mon message d'envoi pour par exemple envoyer ce déplacement de 10mm en Y? Après je comprendrai le principe ! Bon j'ai trouvé. Il faut donc ajouter une action sur l'équipement dans jmqtt puis saisir dans le topic "device/SN de l'imprimante/request" (request et non pas report) dans la valeur mettre la commande JSON. Pour faire un home. Citation {"print":{"command":"gcode_line","param":"G28\n","sequence_id":"0","user_id":"0"}} Pour mettre le ventilateur de la chambre à 50%. Citation {"print":{"command":"gcode_line","param":"M106 P3 S150 \n","sequence_id":"0","user_id":"0"}} Le log du slicer est ton ami.
Lecl0ne Posté(e) Aout 23, 2023 Posté(e) Aout 23, 2023 Salut ! Je t'ai envoyé un MP, je te laisse en prendre connaissance !
Lecl0ne Posté(e) Aout 25, 2023 Posté(e) Aout 25, 2023 Salut, Sais-tu par hasard si je peux faire la demande en jmqtt d'une valeur ? Par exemple, au démarrage, la valeur de la température ne remonte pas toute seule: [print][nozzle_temper] Crois-tu qu'avec un device/00M00A2C187349/request puis en mettant quelque chose dans valeur, je peux lui demander de me renvoyer l'information ? Pour donner une petite idée de ce qui est possible, voici la page BambuLab de mon design !! (j'y ai passé plusieurs dizaines d'heures)
D12230 Posté(e) Aout 27, 2023 Posté(e) Aout 27, 2023 Bonjour, oui il faut envoyer çà dans request {"pushing":{"command":"pushall","sequence_id":"0"}}; tu obtiendras ça dans report: Citation {"print":{"upload":{"status":"idle","progress":0,"message":""},"nozzle_temper":28.375,"nozzle_target_temper":0,"bed_temper":26.875,"bed_target_temper":0,"chamber_temper":5,"mc_print_stage":"1","heatbreak_fan_speed":"0","cooling_fan_speed":"0","big_fan1_speed":"0","big_fan2_speed":"0","mc_percent":0,"mc_remaining_time":0,"ams_status":0,"ams_rfid_status":0,"hw_switch_state":0,"spd_mag":100,"spd_lvl":2,"print_error":0,"lifecycle":"product","wifi_signal":"-41dBm","gcode_state":"IDLE","gcode_file_prepare_percent":"0","queue_number":0,"queue_total":0,"queue_est":0,"queue_sts":0,"project_id":"0","profile_id":"0","task_id":"0","subtask_id":"0","subtask_name":"","gcode_file":"","stg":[],"stg_cur":0,"print_type":"idle","home_flag":17800,"mc_print_line_number":"0","mc_print_sub_stage":0,"sdcard":true,"force_upgrade":false,"mess_production_state":"active","layer_num":0,"total_layer_num":0,"hms":[],"online":{"ahb":false,"rfid":false,"version":113608849},"ams":{"ams":[{"id":"0","humidity":"2","temp":"0.0","tray":[{"id":"0","remain":-1,"k":0.019999999552965164,"n":1.399999976158142,"tag_uid":"0000000000000000","tray_id_name":"","tray_info_idx":"GFG99","tray_type":"PETG","tray_sub_brands":"","tray_color":"FFFF00FE","tray_weight":"0","tray_diameter":"0.00","tray_temp":"0","tray_time":"0","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"270","nozzle_temp_min":"220","xcam_info":"000000000000000000000000","tray_uuid":"00000000000000000000000000000000"},{"id":"1","remain":-1,"k":0.019999999552965164,"n":1.399999976158142,"tag_uid":"0000000000000000","tray_id_name":"","tray_info_idx":"GFL01","tray_type":"PLA","tray_sub_brands":"","tray_color":"804000FF","tray_weight":"0","tray_diameter":"0.00","tray_temp":"0","tray_time":"0","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"240","nozzle_temp_min":"190","xcam_info":"000000000000000000000000","tray_uuid":"00000000000000000000000000000000"},{"id":"2","remain":0,"k":0.019999999552965164,"n":1.399999976158142,"tag_uid":"0000000000000000","tray_id_name":"","tray_info_idx":"","tray_type":"","tray_sub_brands":"","tray_color":"00000000","tray_weight":"0","tray_diameter":"0.00","tray_temp":"0","tray_time":"0","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"0","nozzle_temp_min":"0","xcam_info":"000000000000000000000000","tray_uuid":"00000000000000000000000000000000"},{"id":"3","remain":-1,"k":0.019999999552965164,"n":1.399999976158142,"tag_uid":"0000000000000000","tray_id_name":"","tray_info_idx":"GFL99","tray_type":"PLA","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":"240","nozzle_temp_min":"190","xcam_info":"000000000000000000000000","tray_uuid":"00000000000000000000000000000000"}]}],"ams_exist_bits":"1","tray_exist_bits":"f","tray_is_bbl_bits":"b","tray_tar":"255","tray_now":"255","tray_pre":"255","tray_read_done_bits":"f","tray_reading_bits":"0","version":4,"insert_flag":true,"power_on_flag":false},"ipcam":{"ipcam_dev":"1","ipcam_record":"disable","timelapse":"disable","mode_bits":3},"vt_tray":{"id":"254","tag_uid":"0000000000000000","tray_id_name":"","tray_info_idx":"GFL96","tray_type":"PLA","tray_sub_brands":"","tray_color":"161616FF","tray_weight":"0","tray_diameter":"0.00","tray_temp":"0","tray_time":"0","bed_temp_type":"0","bed_temp":"0","nozzle_temp_max":"240","nozzle_temp_min":"190","xcam_info":"000000000000000000000000","tray_uuid":"00000000000000000000000000000000","remain":0,"k":0.019999999552965164,"n":1.399999976158142},"lights_report":[{"node":"chamber_light","mode":"off"}],"upgrade_state":{"sequence_id":0,"progress":"","status":"","consistency_request":false,"dis_state":0,"err_code":0,"force_upgrade":false,"message":"","module":"","new_version_state":2,"new_ver_list":[]},"command":"push_status","msg":0,"sequence_id":"9986"}}
Lecl0ne Posté(e) Septembre 8, 2023 Posté(e) Septembre 8, 2023 Ca marche super !!! A condition d'y ajouter user_id pour moi: {"pushing":{"command":"pushall",""sequence_id":"0","user_id":"0"}} Merci !!
Motard Geek Posté(e) Décembre 14, 2023 Posté(e) Décembre 14, 2023 J'ai récemment migré de Jeedom à Home Assistant et y'a une intégration de Bambu Lab plutôt poussée Sur le papier voici quelques exemples de ce qu'on peut faire : Pour le moment je n'y ai pas passé trop de temps mais déjà la configuration de base avec ce dashboard est pas mal : 1
Aezio Posté(e) Décembre 14, 2023 Posté(e) Décembre 14, 2023 Ah oui pas mal ! Est-ce que tu sais s'il est possible d'avoir sur la même interface les infos de plusieurs X1C en simultané (par exemple avoir les deux flux vidéos en même temps) ?
Motard Geek Posté(e) Décembre 14, 2023 Posté(e) Décembre 14, 2023 Avec un print en cours il y a 39 minutes, Aezio a dit : Est-ce que tu sais s'il est possible d'avoir sur la même interface les infos de plusieurs X1C en simultané (par exemple avoir les deux flux vidéos en même temps) ? Je dirais que oui, tu peux visiblement intégrer autant d'imprimantes que tu veux avec leur couple IP / SN. 1
Lecl0ne Posté(e) Décembre 14, 2023 Posté(e) Décembre 14, 2023 Excellent. Moi ce qui m'intéresse fortement dans tes screenshots c'est l'aperçu 3d de l'impression, possible sous Jeedom vous croyez de récupérer cette image ?
Motard Geek Posté(e) Décembre 14, 2023 Posté(e) Décembre 14, 2023 Ce sont les screenshots du développeur, j'ai pas (encore?) ça sur mon dashboard. J'aurais tendance à dire qu'il s'agit d'une illustration générique mais je n'ai pas retrouvé l'image. Dans les capteurs y'a le fichier gcode, à voir si c'est juste le nom ou s'il a le contenu et donc la preview
Punkcl0 Posté(e) Février 19, 2024 Posté(e) Février 19, 2024 Le 11/08/2023 at 15:42, SR-G a dit : Le broker est intégré dans l'imprimante, il suffit de s'y connecter (depuis un client MQTT quelconque). Dans mon cas j'ai une prise commandée "SHELLY" compatible, et j'éteins à la voix ("Alexa, éteins X1"). Car en effet, il faut faire attention à ne PAS éteindre l'imprimante tout de suite = il ne faut pas l'éteindre quand les ventilateurs tournent encore, pour éviter un choc thermique (qui à la longue pourrait être dommageable). Plus, bien évidemment, souvent j'enchaîne les impressions et je ne voulais donc pas automatiser l'extinction après chaque impression. Le broker est intégré dans l'imprimante, il suffit de s'y connecter (depuis un client MQTT quelconque). Dans mon cas j'ai une prise commandée "SHELLY" compatible, et j'éteins à la voix ("Alexa, éteins X1"). Car en effet, il faut faire attention à ne PAS éteindre l'imprimante tout de suite = il ne faut pas l'éteindre quand les ventilateurs tournent encore, pour éviter un choc thermique (qui à la longue pourrait être dommageable). Plus, bien évidemment, souvent j'enchaîne les impressions et je ne voulais donc pas automatiser l'extinction après chaque impression. Sinon pour rappel, par rapport aux événements publiés par l'imprimante, moi j'ai mis çà en place pour avoir un fichier .CSV contenant la liste de tout ce que j'ai imprimé. https://forum.bambulab.com/t/beta-tester-needed-bambu-lab-observer-command-line-binary/5599/ (compatible depuis peu avec le firmware 1.06.00.00 qui a changé pas mal de choses sur l'aspect messages MQTT) Bonjour SR-G, Je n'arrive pas, avec un client Mqtt (j'ai essayé jMqtt de Jeedom et Mqttx), à me connecter au broyer de mon imprimante. Je renseigne l'IP, le port par défaut, l'ID mais le client Mqtt me renvoi "impossible de se connecter au broyer". Il y a qqch à activer dans l'imprimante ? Merci
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant