refactoring/imprimante-fiche-machine #2

Merged
rackham merged 14 commits from refactoring/imprimante-fiche-machine into main 2026-09-02 22:13:25 +00:00
Owner
No description provided.
La capture de 22 Ko sert de fixture aux tests du parser Bambu, l'animation
CoreXY sert de reference au futur composant PrinterX2D.
Fonctions pures parse_report et merge_report, dataclasses PrinterSnapshot,
Nozzle, Tray et Ams avec les champs que la tâche 2 (AMS/buses) remplira.
Remplace nozzle_temp/nozzle_target/total_filament_kg par les colonnes de la
double tête et de l'AMS. Ajoute job_task_id/job_started_at et un task_id
unique sur print_jobs, socle du cumul d'heures de la tâche suivante.
Migration 0019 amorce total_hours à 310 h, valeur lue sur l'écran de la
machine, Bambu ne publiant aucun cumul lifetime en MQTT.
Remplace apply_live_state par apply_snapshot, qui consomme PrinterSnapshot
et cumule localement les heures d'impression (Bambu ne publie aucun
compteur lifetime). Les schémas Pydantic exposent têtes et AMS. Les
colonnes disparues (nozzle_temp, nozzle_target, total_filament_kg) ne
sont plus lues.
Remplace l'analyse Anycubic par bambu.parse_report/merge_report, dérive
les topics device/<serial>/report et /request du numéro de série, ajoute
un filtre digest() pour ne rediffuser que les changements significatifs
et publie l'état hors ligne à la déconnexion. Ajoute mqtt_serial dans la
config et retire mqtt_topic, désormais inutile.
Une base indisponible au même instant que la perte du courtier faisait
s'échapper l'exception hors de la boucle de reconnexion et arrêtait
définitivement le worker. La notification hors ligne est maintenant
capturée et journalisée sans interrompre la boucle.
Une exception echappee du `while True` mettait fin a la tache definitivement :
plus aucune reconnexion ni changement d'etat jusqu'au redemarrage du backend.
Une panne de base pendant la consommation est desormais traitee comme une perte
de connexion, l'annulation de tache continuant de remonter intacte.
L'illustration est pilotee par les donnees de la machine : buse active lisible
au decalage du chariot, plateau chaud, bobines aux couleurs reelles de l'AMS.
Les legendes ancrees ne paraissent que lorsqu'une mesure bouge, la densite
d'information vivant dans la colonne de droite.
Titre, texte et étiquettes de la section Impression, entrée de la liste des
technologies, étiquette du visualiseur 3D. Le contenu éditable vivant en base,
la migration 0019 reporte la réécriture et sait revenir en arrière.
Le pont cloud Anycubic et son broker mosquitto sont arrêtés et supprimés, le
worker et ses tests avec. La documentation MQTT décrit désormais le broker LAN
de la X2D, ses sujets, ses rapports partiels et l'absence de compteur à vie.
Sans SITE_MQTT_SERIAL le worker se coupait au démarrage. MQTT_TOPIC disparaît,
les sujets se déduisent désormais de la série.
extruder.info[].temp porte la consigne en poids fort et la lecture en poids
faible : la tête chaude remontait 16384250 °C. htar servait de consigne alors
qu'il ne fait que répéter l'identifiant de la tête.
feature(X2D): Change for X2D arrival
Some checks failed
backend-tests / test (push) Failing after 10s
gitleaks / gitleaks (push) Successful in 4s
bca8d1ad1d
rackham deleted branch refactoring/imprimante-fiche-machine 2026-09-02 22:13:25 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rackham/website!2
No description provided.