Intégration domotique Elegoo 3D printers, gratuite et open source

Imprimantes 3D Elegoo SDCP (Saturn, Mars, Centauri Carbon) : impression et températures, en local.
Suivez vos imprimantes 3D Elegoo dans Gladys, sur votre réseau local, sans le cloud Elegoo : état de l'impression, progression, couches, temps écoulé et restant, nom du fichier, températures et ventilateurs, déclencheurs de scène quand une impression se termine, échoue ou passe en pause, et, si vous l'autorisez, pause / reprise / arrêt depuis une scène.
Intégration non officielle, sans lien avec Elegoo.
Jamais testée sur une vraie imprimante. Cette première version n'a jamais été testée sur une vraie imprimante : elle suit le protocole public SDCP d'Elegoo et l'intégration Home Assistant
elegoo-homeassistant, et n'a été vérifiée qu'avec des imprimantes simulées. Vos retours sont les bienvenus sur le forum Gladys.
Imprimantes compatibles
Les imprimantes Elegoo qui parlent SDCP V3 par une WebSocket locale (port 3030) :
- résine : Saturn 4 Ultra, Saturn 4 Ultra 16K, Mars 5 Ultra (et les autres Saturn / Mars SDCP V3) ;
- FDM : Centauri Carbon.
Non prises en charge : la Saturn 3 Ultra et les autres imprimantes en SDCP V1 par MQTT (l'intégration les reconnaît et le signale dans son état), la Centauri Carbon 2 (autre protocole), et les imprimantes sans réseau.
Mise en place
- Donnez à chaque imprimante une adresse IP fixe dans votre box (réservation DHCP). L'adresse s'affiche sur l'écran de l'imprimante, dans les réglages réseau.
- Dans Gladys, ouvrez l'intégration Elegoo, saisissez les adresses dans Adresses IP des imprimantes (séparées par des virgules), et enregistrez. C'est le moyen fiable : l'intégration tourne dans un conteneur qui n'entend pas les diffusions du réseau.
- Ou cliquez sur Chercher les imprimantes : Gladys envoie le message de découverte SDCP (UDP port 3000) sur votre réseau et liste les imprimantes qui répondent. S'il ne trouve rien, saisissez les adresses.
- Les imprimantes apparaissent dans l'onglet Découverte dès qu'elles ont envoyé leur état : ajoutez-les.
Une imprimante n'accepte que quelques connexions à la fois (application Elegoo, trancheur, Home Assistant...) : si elle ne répond pas, fermez-en une.
Ce que Gladys affiche
| Fonctionnalité | Remarques |
|---|---|
| État de l'impression | Au repos, Préparation, Impression, Mise en pause, En pause, Arrêt en cours, Arrêtée, Terminée, Erreur, Occupée |
| État de la machine | Ce que fait l'imprimante (impression, transfert de fichier, autotest, mise à niveau...) |
| Progression (%) | Donnée par l'imprimante, ou calculée d'après les couches |
| Couche en cours, nombre de couches | |
| Temps écoulé, temps restant | En minutes |
| Fichier | Le fichier en cours d'impression (le dernier au repos) |
| Erreur, code d'erreur | 0 et « Aucune » quand tout va bien |
| Températures | FDM : buse, plateau, enceinte ; résine : LED UV, et la cuve si l'imprimante a un capteur |
| Ventilateurs | FDM : ventilateurs de pièce, auxiliaire et d'enceinte (%) |
Chaque imprimante ne reçoit que les températures et ventilateurs qu'elle signale. Les températures et ventilateurs sont envoyés au plus une fois par minute ; les autres valeurs dès qu'elles changent. Les imprimantes envoient seules leurs changements, et Gladys leur demande aussi leur état à chaque Intervalle de rafraîchissement (30 s par défaut).
La Langue des noms et des états s'applique aux noms des fonctionnalités des imprimantes ajoutées ensuite et aux textes (état de l'impression, erreur).
Scènes
Déclencheurs, chacun avec l'imprimante à surveiller :
- Impression Elegoo terminée : une impression vue en cours se termine
avec succès (une fois par impression). Variable :
file. - Erreur d'impression Elegoo : un état d'erreur, une erreur
d'impression, ou un message d'erreur de l'imprimante. Variables :
file,error,error_code. - Impression Elegoo en pause : l'impression passe en pause, quelle que
soit l'origine de la pause. Variable :
file.
Seuls les changements vus pendant que Gladys est connecté comptent : une impression terminée pendant que l'imprimante ou Gladys était éteint ne déclenche rien.
Pilotage des impressions (désactivé par défaut)
L'action de scène Piloter une impression Elegoo met en pause, reprend ou arrête l'impression en cours. Elle est refusée tant que vous n'avez pas coché Autoriser pause, reprise et arrêt depuis Gladys : toute personne pouvant modifier les scènes de votre Gladys pourrait alors arrêter une impression.
Règles de sécurité :
- Gladys ne lance jamais d'impression et ne déplace jamais les axes : ces commandes n'existent pas dans l'intégration.
- Avant chaque commande, l'imprimante est interrogée sur son état. Sans réponse récente, rien n'est envoyé. La commande est aussi refusée si elle ne convient pas : pause seulement pendant une impression, reprise seulement en pause, arrêt seulement pendant une impression.
- Une seule commande à la fois par imprimante. Une commande que l'imprimante ne confirme pas en 5 secondes est signalée comme telle : vérifiez l'imprimante, elle a pu être appliquée.
Dépannage
- « Pas encore de réponse de ... » : l'imprimante est éteinte, l'adresse est fausse, ou toutes ses connexions sont prises. Vérifiez qu'elle est joignable depuis la machine Gladys. L'intégration réessaie seule, en attendant un peu plus à chaque fois (jusqu'à 5 minutes).
- La recherche ne trouve rien : saisissez les adresses ; la découverte dépend du réseau entre Gladys et les imprimantes.
- Une imprimante a changé d'adresse : remplacez l'ancienne adresse par la nouvelle dans la configuration ; l'imprimante est reconnue par l'identifiant de sa carte, son appareil et son historique sont gardés.
- Pour oublier une imprimante, retirez son adresse et supprimez son appareil.
Confidentialité
Tout reste sur votre réseau local : Gladys parle directement aux imprimantes (WebSocket sur le port 3030, UDP sur le port 3000). Rien n'est envoyé à Elegoo ni à personne d'autre.
Paramètres de configuration
Voici les paramètres demandés par Elegoo 3D printers dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Vos imprimantes Elegoo, sur votre réseau local | section | Non | Pour les imprimantes Elegoo qui parlent SDCP V3 sur le réseau local : résine (Saturn 4 Ultra et 16K, Mars 5 Ultra ; pas la Saturn 3 Ultra, SDCP V1) et FDM (Centauri Carbon). Gladys lit l'état de l'impression, la progression, les couches, les temps, le nom du fichier, les températures et les ventilateurs par la WebSocket de chaque imprimante (port 3030), sans le cloud Elegoo. Donnez à chaque imprimante une adresse IP fixe dans votre box et saisissez-la ci-dessous : c'est le moyen fiable. « Chercher les imprimantes » peut aussi les trouver. Une imprimante n'accepte que quelques connexions à la fois (application Elegoo, trancheur...). Jamais testé sur une vraie imprimante pour l'instant. Non officiel, sans lien avec Elegoo. |
| Adresses IP des imprimantes | string | Non | Séparées par des virgules, par exemple 192.168.1.50, 192.168.1.51. Affichées sur l'écran de l'imprimante (réglages réseau). |
| Intervalle de rafraîchissement (s) | number | Non | Les imprimantes envoient seules leurs changements ; Gladys leur demande aussi leur état à ce rythme, en secondes. |
| Langue des noms et des états | select | Non | Sert aux noms des fonctionnalités des imprimantes ajoutées désormais, et aux textes (état de l'impression, erreur). |
| Pilotage des impressions | section | Non | L'action de scène « Piloter une impression Elegoo » peut mettre en pause, reprendre ou arrêter l'impression en cours. Elle est désactivée par défaut : toute personne pouvant modifier les scènes de votre Gladys pourrait alors arrêter une impression. Gladys ne lance jamais d'impression et ne déplace jamais les axes. Avant chaque commande, l'imprimante est interrogée sur son état, et la commande est refusée si cet état est inconnu ou ne convient pas (pas de pause si elle n'imprime pas, pas de reprise si elle n'est pas en pause). |
| Autoriser pause, reprise et arrêt depuis Gladys | boolean | Non |
Comment installer Elegoo 3D printers dans Gladys
- Dans Gladys, ouvrez Intégrations : Elegoo 3D printers apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/lm1lc3n7/gladys-elegoo:0.1.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-elegoo.
Elegoo 3D printers nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Elegoo 3D printers est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par LM1LC3N7, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation