jybi89 Posté(e) Mai 1, 2021 Posté(e) Mai 1, 2021 (modifié) Bonjour à tous, Apres plusieurs heures de recherche, de lecture, avec l'aide de plusieurs utilisateurs de ce forum lesimprimantes3d.fr et du forum Home Assistant Communauté Francophone. J'ai enfin pu écrire ce tuto. Etant utilisateur de Home Assistant, je souhaitais avoir un "control" sur ma ender 3v2, avoir les remontés d'informations (un maximum), ne pas avoir une interface graphique de gestion supplémentaire puisque je centralise le flux de mes données sur HA ... et surtout...gérer la consommation des filaments. En concertation avec les modos et responsables de ce forum, je vais vous faire une rapide présentation des fonctions de cette intégration (que je pense être presque complète) et vous indiquerai le lien du tuto héberger sur le forum d' HACF. Avant tout, je tiens à remercier :@PPAC @papaone @BenGamin(connu sous @Badidi dans HACF) @fran6p et l'ensemble de cette communauté pour toutes ces précieuses informations et questions/réponses. Sur HACF: une pensée particulière pour@Clemalex et ses connaissances en langage, @golfvert et @fredarro (les autres fans de Node Red) et les videos de@DcJona (ecrans tactile nextion, mqtt, NR et weemos). Dans le tuto, vous trouverez : - la création des entités mqtt Octoprint -> HA, - les codes utilisés pour les cartes, (avec les codes pour créer les inputs boolean, input number ect...), - intégration de la camera branchée sur octoprint, - les liens pour programmer les weemos pour les rubans led, - les stl pour les support des led, - les flow Node Red que vous faire en automatisation si vous n'êtes pas utilisateur de node red, - la gestion des filaments ! qui de plus désagréable que de lancer un print sans savoir si le stock de filament est suffisant !?! permet aussi de commander une bobine avant la fin, - visu sur la consommation electrique, - visu sur la temperature et l'humidité des boites de filament, - envoi de la photo du print final sur Telegram, - notification Telegram s'il reste 10m de filament dans une la bobine concernée - et tous les flow node red la petite présentation en video car je suis limité en taille de piece jointe par post et pour l'ecran Nextion : N hésitez à posez des questions ici ou sur HACF, faire des remarque (je débute dans l'impression 3D) et surtout d'apporter des améliorations ! Pour ma part je cherche à faire des macro gcode ! mais c'est une autre histoire :)) Bonne lecture du tuto à tous (il semble un peu long mais il y a beaucoup d'images )[TUTO] intégrer son imprimante 3d et gérer le stock de filaments et + - Home Assistant - Tutoriels & Partages / Intégration - Home Assistant Communauté Francophone (hacf.fr) - Modifié (le) Mai 1, 2021 par jybi89 correction 4 1
fran6p Posté(e) Mai 1, 2021 Posté(e) Mai 1, 2021 (modifié) Alors là, chapeau pour ton tutoriel complet Merci pour ce partage. Utilisant HomeAssistant, j'ai grâce à ton tutoriel appris de nouvelles choses et ça c'est une chose que j'adore (apprendre). N'hésite pas si tu as des questions sur l'impression 3D à venir les poser ici. De nombreux contributeurs, chacun avec ses compétences, connaissances, essaiera de te faire progresser. Modifié (le) Mai 4, 2021 par fran6p 1
Motard Geek Posté(e) Mai 4, 2021 Posté(e) Mai 4, 2021 Dommage j'utilise Jeedom auquel j'ai simplement ajouté le plugin Octoprint Là t'as été très loin chapeau, surtout pour la gestion du filament 1
jybi89 Posté(e) Mai 4, 2021 Auteur Posté(e) Mai 4, 2021 merci perso j'y connaissait pas grand chose en gcode et impression, ce sont les membres de nos 2 communautés qui ont bien bossé, apres j'ai juste imbriquer les choses 1
jybi89 Posté(e) Mai 14, 2021 Auteur Posté(e) Mai 14, 2021 Une mise à jour du plugin octoprint Home Assistant : ca s'annonce pas mal du tout j'attends la fin de l'impression pour voir ce que cela donne Release 3.3.0 · cmroche/OctoPrint-HomeAssistant (github.com) Support camera snapshots, and prep work to support images via MQTT plugin Adding support for connect/disconnect (from printer)1 1
M4dm4rtig4n Posté(e) Décembre 28, 2021 Posté(e) Décembre 28, 2021 Hello, Pour information j'ai crée un flow Node-RED (les domoticiens doivent connaitre) pour gérée les filaments et remonter les information dans Home Assistant depuis le plugin FilamentManager d'Octoprint et je balance tt dans MQTT. Ca permet de récupérer dynamiquement tt les informations sur les filaments et de les afficher dans Home Assistant. [{"id":"c149e48bea15ff25","type":"group","z":"85c70839c0b6be32","name":"FilamentManager","style":{"stroke":"#000000","fill":"#addb7b","label":true,"color":"#000000"},"nodes":["875a80342ba7f272","3e8386a587337e04","306884563dac1643","67e5ad1a648db995","335c7509a37f1a87","b1c0831515fb907b","b380bf8cb1407279","27dd6084663d4473","9792b0182ed43dc0","9d4cf91fc80217b9","9e84ca11197a4667","56d73242208e035c","cf4b9feca6db9d43","f78bbc85fd3c2a8e","87c36504dd947da8","5743f9277fe69799","1e04c7ea67db3cd3"],"x":34,"y":29,"w":1952,"h":122},{"id":"875a80342ba7f272","type":"inject","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"300","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":150,"y":70,"wires":[["b380bf8cb1407279"]]},{"id":"3e8386a587337e04","type":"function","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Get Spools","func":"msg.url = msg.octoprint_url+'/plugin/filamentmanager/spools'\nmsg.headers = {}\nmsg.headers['X-Api-Key'] = msg.api_key;\nmsg.method = \"GET\"\n \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":70,"wires":[["306884563dac1643"]]},{"id":"306884563dac1643","type":"http request","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"x":610,"y":70,"wires":[["67e5ad1a648db995"]]},{"id":"67e5ad1a648db995","type":"json","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","property":"payload","action":"","pretty":false,"x":760,"y":70,"wires":[["335c7509a37f1a87"]]},{"id":"335c7509a37f1a87","type":"change","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Spools => Payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.spools","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":930,"y":70,"wires":[["b1c0831515fb907b"]]},{"id":"b1c0831515fb907b","type":"split","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":1090,"y":70,"wires":[["9792b0182ed43dc0"]]},{"id":"b380bf8cb1407279","type":"credentials","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"API Key","props":[{"value":"api_key","type":"msg"},{"value":"octoprint_url","type":"msg"},{"value":"ha_prefix","type":"msg"}],"x":300,"y":70,"wires":[["3e8386a587337e04","56d73242208e035c"]]},{"id":"27dd6084663d4473","type":"mqtt out","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","topic":"","qos":"0","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"94fffe91.c7ff7","x":1910,"y":90,"wires":[]},{"id":"9792b0182ed43dc0","type":"function","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Format Sensor for Auto-Discovery","func":"var payload = msg.payload\nvar profile = payload.profile\n\nmsg.payload = []\nmsg.payload.push({\n \"topic\": msg.ha_prefix+\"/sensor/octoprint/filament_\"+payload.id+\"/config\",\n \"payload\": {\n \"name\": \"filament_\"+payload.id,\n \"uniq_id\": \"filament_\"+payload.id,\n \"stat_t\": msg.ha_prefix+\"/sensor/octoprint/filament_\"+payload.id+\"/state\",\n \"json_attr_t\": msg.ha_prefix+\"/sensor/octoprint/filament_\"+payload.id+\"/attributes\",\n \"unit_of_measurement\": \"g\",\n \"device\": {\n \"identifiers\": [ \"filament_\"+payload.id ],\n \"name\": payload.name,\n \"model\": profile.material,\n \"manufacturer\": profile.vendor\n }\n }\n})\n\n\nname = payload.name.split(\" / \")[0]\ncolor = payload.name.split(\" / \")[1]\nrestant = payload.weight - payload.used\nused_percent = 100 * payload.used / payload.weight\nstate_percent = 100 - used_percent\n\nmsg.payload.push({\n \"topic\": msg.ha_prefix+\"/sensor/octoprint/filament_\"+payload.id+\"/attributes\",\n \"payload\": {\n \"id\": payload.id,\n \"cost\": payload.cost,\n \"name\": name,\n \"color\": color,\n \"temp_offset\": payload.temp_offset,\n \"used\": payload.used.toFixed(1),\n \"used_percent\": used_percent.toFixed(1),\n \"state_percent\": state_percent.toFixed(1),\n \"weight\": payload.weight,\n \"density\": profile.density,\n \"diameter\": profile.diameter,\n \"material\": profile.material,\n \"vendor\": profile.vendor\n }\n})\n\nmsg.payload.push({\n \"topic\": msg.ha_prefix+\"/sensor/octoprint/filament_\"+payload.id+\"/state\",\n \"payload\": restant.toFixed(1)\n})\n \n \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1310,"y":70,"wires":[["9d4cf91fc80217b9"]]},{"id":"9d4cf91fc80217b9","type":"split","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":1550,"y":90,"wires":[["9e84ca11197a4667"]]},{"id":"9e84ca11197a4667","type":"change","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Format Topic & Payload","rules":[{"t":"set","p":"topic","pt":"msg","to":"payload.topic","tot":"msg"},{"t":"set","p":"payload","pt":"msg","to":"payload.payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1730,"y":90,"wires":[["27dd6084663d4473"]]},{"id":"56d73242208e035c","type":"function","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Get Selections","func":"msg.url = msg.octoprint_url+'/plugin/filamentmanager/selections'\nmsg.headers = {}\nmsg.headers['X-Api-Key'] = msg.api_key;\nmsg.method = \"GET\"\n \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":460,"y":110,"wires":[["cf4b9feca6db9d43"]]},{"id":"cf4b9feca6db9d43","type":"http request","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"x":630,"y":110,"wires":[["f78bbc85fd3c2a8e"]]},{"id":"f78bbc85fd3c2a8e","type":"json","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","property":"payload","action":"","pretty":false,"x":770,"y":110,"wires":[["87c36504dd947da8"]]},{"id":"87c36504dd947da8","type":"change","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Selections => Payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.selections","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":940,"y":110,"wires":[["5743f9277fe69799"]]},{"id":"5743f9277fe69799","type":"split","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":1110,"y":110,"wires":[["1e04c7ea67db3cd3"]]},{"id":"1e04c7ea67db3cd3","type":"function","z":"85c70839c0b6be32","g":"c149e48bea15ff25","name":"Format Sensor for Auto-Discovery","func":"var payload = msg.payload\nvar spool = payload.spool\nvar profile = spool.profile\n\nmsg.payload = []\nmsg.payload.push({\n \"topic\": msg.ha_prefix+\"/sensor/octoprint/filament_select/config\",\n \"payload\": {\n \"name\": \"filament_select\",\n \"uniq_id\": \"filament_select\",\n \"stat_t\": msg.ha_prefix+\"/sensor/octoprint/filament_select/state\",\n \"json_attr_t\": msg.ha_prefix+\"/sensor/octoprint/filament_select/attributes\",\n // \"unit_of_measurement\": \"g\",\n \"device\": {\n \"identifiers\": [ \"filament_select\" ],\n \"name\": spool.name,\n \"model\": profile.material,\n \"manufacturer\": profile.vendor\n }\n }\n})\n\n\nname = spool.name.split(\" / \")[0]\ncolor = spool.name.split(\" / \")[1]\nrestant = spool.weight - spool.used\nused_percent = 100 * spool.used / spool.weight\nstate_percent = 100 - used_percent\n\nmsg.payload.push({\n \"topic\": msg.ha_prefix+\"/sensor/octoprint/filament_select/attributes\",\n \"payload\": {\n \"cost\": spool.cost,\n \"name\": name,\n \"color\": color,\n \"temp_offset\": spool.temp_offset,\n \"used\": spool.used.toFixed(1),\n \"used_percent\": used_percent.toFixed(1),\n \"state_percent\": state_percent.toFixed(1),\n \"weight\": spool.weight,\n \"density\": profile.density,\n \"diameter\": profile.diameter,\n \"material\": profile.material,\n \"vendor\": profile.vendor\n }\n})\n\nmsg.payload.push({\n \"topic\": msg.ha_prefix+\"/sensor/octoprint/filament_select/state\",\n \"payload\": \"[\"+profile.material+\"] \"+profile.vendor+\" : \"+name\n})\n \n \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1320,"y":110,"wires":[["9d4cf91fc80217b9"]]},{"id":"94fffe91.c7ff7","type":"mqtt-broker","name":"Mosquitto","broker":"mosquitto.mosquitto","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}] 2 1
banditos Posté(e) Janvier 25, 2023 Posté(e) Janvier 25, 2023 Je viens de parcourir, super tuto! pour ma part, je suis sous Domoticz pour ma domotique et avec Octoprint, j'ai le retour l'info pour m'indiquer par SMS la fin de l'impression et l'arrêt Auto de l'imprimante 10mn apes la fin d'impression avec Domoticz.
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