Aller au contenu

[BETA TEST] Binaire (windows, linux, mac) "bambu-lab-observer"


SR-G

Messages recommandés

Hello,

J'ai commencé un petit programme qui lit les events MQTT des Bambu (et n'en fait pas grand chose pour le moment, mais çà pourrait servir à en faire plus demain).

- Si quelqu'un peut tester de son côté, çà m'intéresserait de savoir si çà fonctionne pour vous

- Si vous voyez des messages inconnus par le programme, faites moi signe (je ne crois plus en avoir, mais certaines fonctions spéciales peuvent envoyer des events MQTT que je n'ai encore jamais rencontrés et qu'il pourrait être intéressant de décoder / prendre en compte pour en extraire des informations en plus).

- Si vous avez des idées de features à implémenter, faites moi signe ! (notifications, rapports, etc.)

 

Pour le moment çà se contente de recevoir les events, détecter les impressions, et produire un fichier EXCEL (.CSV) contenant tous les builds et le temps passé, soit : 

image.thumb.png.97358809694cc8fe3f8b11a1fea5d566.png

Ce qui permet de tracer ce qu'on a imprimé, combien de temps çà a pris, etc.

Je vais encore voir si je peux ajouter le volume de filaments utilisé (pas sûr que l'info soit publiée) et la liste des couleurs (çà je devrais probablement pouvoir), par exemple.

 

Les binaires de tests sont là : https://github.com/SR-G/bambu-lab-observer/releases/download/1.0.0-SNAPSHOT/bambu-lab-observer-1.0.0-SNAPSHOT.zip

C'est multi-plateforme mais je ne peux tester facilement que sous LINUX / AMD64 pour ma part.

image.thumb.png.7ae6bc4d5af09ce3a588302a9188ef31.png

 

La doc est assez simple, il suffit de configurer le fichier JSON ci-dessous (présent dans le ZIP, dans chaque répertoire), notamment "BambuLabsIP" (çà marche normalement en multi-imprimantes) et le pass pour le LAN (obligatoire depuis la dernière MAJ du firmware vu que mécanismes sécurisés en TLS activés maintenant). Les autres champs peuvent être laissés tels quels ou même être retirés. Un bout d'explications plus détaillées est pour le moment là : https://github.com/SR-G/bambu-lab-observer

image.png.796e96ff174f7149fad5de3d049e3425.png

 

Exemple de logs à l'exécution

2023-02-06 20:10:28    INFO  configuration.go:43 Will use configuration file provided through --config parameter, path is [../resources/configuration/bambu-lab-observer.json]
2023-02-06 20:10:28    INFO  configuration.go:65 Configuration file found under [../resources/configuration/bambu-lab-observer.json], now reading content
2023-02-06 20:10:28    INFO  bambu-lab-observer.go:100 Application [bambu-lab-observer], version [1.0.0-SNAPSHOT], built on [2023-02-06T13:55:44Z]
2023-02-06 20:10:28    INFO  bambu-lab-observer.go:101 Configured policy about detecting beginning of prints [FIRST_MESSAGE_TIMESTAMP]
2023-02-06 20:10:28    INFO  bambu-lab-observer.go:69 Starting events processor
2023-02-06 20:10:28    INFO  bambu-lab-observer.go:75 Starting MQTT receiver
2023-02-06 20:10:28    INFO  events_processor.go:205 Starting events processor
2023-02-06 20:10:28    INFO  events_processor.go:209 Dump of all events avativated - to be dumped inside folder [../resources/events/campaigns/2023-02-06/]
2023-02-06 20:10:28    INFO  mqtt_connector.go:61 Starting MQTTConnector on broker [tcp://192.168.8.130:1883], with clientId [bambu-lab-observer-192.168.8.130-XSxupcexAanpTPOJ]
2023-02-06 20:10:28    INFO  mqtt_connector.go:78 Trying to connect on [tcp://192.168.8.130:1883], retry interval [0] sec
2023-02-06 20:10:28    INFO  mqtt_connector.go:96 MQTTConnector connected to the broker [tcp://192.168.8.130:1883]
2023-02-06 20:10:28    INFO  mqtt_connector.go:104 About to (re-)subscribe to all configured subscription topics
2023-02-06 20:10:28    INFO  mqtt_connector.go:108 Now subscribing to topic [device/+/report]
2023-02-06 20:10:28 WARNING  events_processor.go:66 Discarded content #1 (IDLE) (and next events) : {Command:push_status GCodeStartTime:0 GCodeState:IDLE MCPercent:0 MCRemainingTime:0 MCPrintStage:1 PrintName: PrintErrorCode:0 SequenceID:2021}
2023-02-06 20:10:52 WARNING  events_processor.go:69 Discarded content #2 (PREPARE) : {Command:push_status GCodeStartTime:0 GCodeState:PREPARE MCPercent:0 MCRemainingTime:0 MCPrintStage:1 PrintName:sharpening-angle-gauge_plate_1 PrintErrorCode:0 SequenceID:2021}
2023-02-06 20:10:53    INFO  events_processor.go:233 Status [START DETECTED] (0%), model [sharpening-angle-gauge_plate_1] from printer [00M00A261900054] (print duration : 0 seconds)
2023-02-06 20:11:57    INFO  events_processor.go:241 Status [PRINT IN PROGRESS] (1%), model [sharpening-angle-gauge_plate_1] from printer [00M00A261900054] (print duration : 1 minute 4 seconds) (remaining : 30 minutes)
2023-02-06 20:13:36    INFO  events_processor.go:241 Status [PRINT IN PROGRESS] (16%), model [sharpening-angle-gauge_plate_1] from printer [00M00A261900054] (print duration : 2 minutes 43 seconds) (remaining : 25 minutes)
2023-02-06 20:14:16    INFO  events_processor.go:241 Status [PRINT IN PROGRESS] (17%), model [sharpening-angle-gauge_plate_1] from printer [00M00A261900054] (print duration : 3 minutes 23 seconds) (remaining : 25 minutes)
2023-02-06 20:18:13    INFO  events_processor.go:241 Status [PRINT IN PROGRESS] (18%), model [sharpening-angle-gauge_plate_1] from printer [00M00A261900054] (print duration : 7 minutes 20 seconds) (remaining : 25 minutes)
(...)
2023-02-06 21:57:54    INFO  events_processor.go:241 Status [PRINT IN PROGRESS] (98%), model [sharpening-angle-gauge_plate_2] from printer [00M00A261900054] (print duration : 48 minutes 32 seconds) (remaining : 0 seconds)
2023-02-06 21:58:23    INFO  events_processor.go:241 Status [PRINT IN PROGRESS] (99%), model [sharpening-angle-gauge_plate_2] from printer [00M00A261900054] (print duration : 49 minutes 1 second) (remaining : 0 seconds)
2023-02-06 21:59:14    INFO  events_processor.go:235 Status [END DETECTED] (100%), model [sharpening-angle-gauge_plate_2] from printer [00M00A261900054] (print duration : 49 minutes 52 seconds)
2023-02-06 21:59:14    INFO  events_processor.go:57 Removed entry for source IP [192.168.8.130], number of remaining entries [0]
```

 

C'est un premier jet rapide (en GOLANG) mais çà fonctionne bien chez moi.

Ca fait suite à ce topic qui donnait quelques exemples de messages : 

 

Modifié (le) par SR-G
  • J'aime 3
Lien vers le commentaire
Partager sur d’autres sites

Pas besoin du mode LAN : il faut juste l'activer un coup (pour récupérer le code), puis le désactiver (c'est ainsi que je fonctionne - sans le mode LAN).

Ce code est également nécessaire pour l'authentification par FTP (qui fonctionne dans tous les cas, avec ou sans mode LAN, par ex. pour récupérer manuellement les timelapses / vidéos en remote).

Lien vers le commentaire
Partager sur d’autres sites

il y a 16 minutes, SR-G a dit :

Pas besoin du mode LAN : il faut juste l'activer un coup (pour récupérer le code), puis le désactiver (c'est ainsi que je fonctionne - sans le mode LAN).

Oui mais sauf erreur de ma part, pas de mode LAN sur la P1P 🤔

Lien vers le commentaire
Partager sur d’autres sites

Yes, je connais, mais ce n'est pas la même chose en effet (le topic que tu évoques est vraiment dédié au fait d'afficher sur un dashboard home assistant les infos issues des Bambu - par contre (bien évidemment / sans surprise) çà repose bien sûr sur le même mécanisme (en l'occurrence les events MQTT))

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...