Aujourd’hui, je vous partage mon dernier montage domotique DIY que je trouve bien pratique avec les grosses chaleurs du moment. Jusqu’à présent j’utilisais un système de refroidissement basique pour ma baie IT/domotique basée sur deux ventilateurs 120mm et un potentiomètre manuel pour faire varier la vitesse.
Cela fait des années que ce système est en place et fonctionne bien, mais j’avais besoin d’upgrader ce système de refroidissement pour améliorer le flux d’air de ma baie qui contient tout de même pas mal d’éléments actifs et génère beaucoup de chaleur.
Entre le NAS synology 8 baies, les NUC Proxmox (x4), les Raspberry Pi (x3), ainsi que les deux switchs PoE 16 ports passifs qui génèrent beaucoup de chaleur rien qu’à eux.
Je passe donc le système de 2 à 5 ventilateurs 120mm, mais je profite aussi de l’occasion pour rendre cela plus intelligent et connecté, car il y a des solutions pratiques et peu coûteuses pour automatiser le refroidissement de manière efficace avec un ESP32 et un peu d’imagination, alors pourquoi s’en priver.
La liste du matériel
Les ventilateurs
Premièrement il faut des ventilateurs, mais pas de simples ventilateurs, nous avons besoin de ventilateurs PWM. Ce sont des ventilateurs de boitier PC è quatre fils. Ces derniers permettent une gradation parfaite de la vitesse grâce à la commande PWM et au retour d’informations de la vitesse de rotation. Ce sont également des ventilateurs qui sont généralement plus silencieux et efficaces, parfaits pour notre projet.
L’ESP
Qui dit ESP Home dit forcément que nous allons utiliser un ESP pour réguler de manière intelligente notre rack cooler. Plus particulièrement un NodMCU doté d’un ESP 8266 et une connectivité Wi-Fi pour recevoir les ordres de HA.
L’alimentation
Enfin, nos ventilateurs tournent en 12V, il faut donc une alimentation 12V avec un peu de puissance car il y a 4 ventilateurs à alimenter.
La programmation initiale de l’ESP
Le plus compliqué avec ESP Home, c’est sans doute la configuration initiale qui nécessite de flasher le nodeMCU pour qu’il soit reconnu par ESP Home et nous permettre d’en faire la configuration pour HA.
Cela peut se faire depuis l’intégration ESP Home sous Home Assistant, mais ça devient vite compliqué quand on virtualise HA ou simplement pour des histoires de drivers USB. Le plus simple pour moi est de passer par un PC Windows, qui devrait reconnaitre le nodeMCU immédiatement. Si ce n’est pas le cas installez le driver CH341 sur votre PC et l’ESP sera identifié comme il faut dans le gestionnaire de périphériques de Windows.
Attention au type de câble USB utilisé, certains câbles ne disposent que de l’alimentation, sans transfert de données et ils bloqueront le bon déroulement de la procédure de connexion et de programmation initiale.
Se connecter à esphome web
Maintenant que notre ESP32 est reconnu par le PC, nous sommes prêts à passer à sa programmation initiale. Pour cela c’est très simple, pas besoin de logiciel, ni même de droits admin, rendez-vous simplement sur l’URL suivante https://web.esphome.io/
Cliquez sur Connect pour démarrer le processus et choisissez le port COM qui correspond à celui du nodeMCU dans votre gestionnaire de périphériques.
Le NodeMCU est maintenant prêt à recevoir sa configuration initiale. Cliquez sur Prepare for first use.
Confirmez avec Install.
C’est parti, patientez quelques secondes que le firmware du Node MCU soit installé sur l’ESP32.
C’est terminé.
Dernier point de configuration pour rendre le module disponible à la configuration depuis Home Assistant, il nous faut configurer le Wi-Fi.
Indiquez les credentials de votre réseau Wi-Fi et cliquez sur connect.
C’est terminé, on peut à present basculer sur Home Assistant pour continuer la programmation de notre ESP32 depuis ESP Home.
La configuration de ESPHome
Vous l’aurez compris, on va utiliser ESP Home pour contrôler notre système avec Home Assistant. Vous ne le saviez peut-être pas mais ESP Home est aussi un produit de chez Nabu Casa. Il est donc nativement pris en charge par le système domotique Home Assistant, lui aussi développé par Nabu Casa.
Il faut ensuite lancer l’installation de ESPHome via le bouton INSTALLER.
Une fois fait, c’est terminé, ESPHome est en place sur Home Assistant prêt à gérer notre nodMCU.
Ajout d’un nouveau périphérique ESP
Maintenant que notre NodeMCU (ESP) est préconfiguré et que nous avons mis en place ESPHome sur le système domotique Home Assistant, nous pouvons nous rendre dans Paramètres/Appareil et Services et procéder à la découverte de notre ESP via le bouton Ajouter une intégration puis rechercher ESPHome.
L’assistant ESPHome découvre alors automatiquement notre NodeMCU préconfiguré sur le réseau local. L’ESP apparait immédiatement à l’écran, il n’y a plus qu’à cliquer dessus.
L’assistant demande confirmation pour ajouter ce nouveau noeud, il faut alors cliquer sur Valider.
Et voilà notre NodeMCU intégré à Home Assistant.
Programmation du nodeMCU pour piloter les ventilateurs de la baie informatique
Retour sous l’extension ESPHome dans la configuration de Home Assistant et on y retrouve notre NodeMCU fraîchement importé, il ne reste plus qu’à finaliser sa programmation via le bouton Adopt.
On donne alors un nom à notre périphérique.
Et voilà la configuration qui démarre.
Il reste enfin à cliquer sur le bouton EDIT pour intégrer notre configuration yaml dans le programme.
Placez votre cuseur sous la ligne web_server, puis copiez/collez le code ci-dessous :
sensor:
- platform: pulse_counter
pin: GPIO13
name: PWM Fan RPM
id: fan_pulse
unit_of_measurement: 'RPM'
filters:
- multiply: 0.5
count_mode:
rising_edge: INCREMENT
falling_edge: DISABLE
update_interval: 3s
output:
- platform: esp8266_pwm
pin: GPIO12
frequency: 20000 Hz
id: fanhub_pwm
fan:
- platform: speed
output: fanhub_pwm
name: "PWM Fan"
On pousse alors notre configuration dans l’ESP via le bouton Install en haut à droite de la fenêtre.
Plusieurs solutions pour joindre le nodeMCU, le plus simple est de l’attaquer directement via le réseau local et le wifi en cliquant sur l’option “Wirelessly”
Les lignes défilent et quand cela s’arrête, c’est terminé.
Retour sous Paramètres/Appareil et Services puis l’intégration ESPHome où vous aurez un périphérique et vous visualiserez notre pilotage de ventilateur de la baie.
ON/OFF pour démarrer ou arrêter la ventilation, vitesse de rotation mesurée par l’ESP et plus intéressant, modulation de la vitesse de rotation en cliquant sur PWM Fan.
Nous avons maintenant tout le nécessaire pour passer à l’action et piloter nos ventilateurs de manière dynamique et intelligente.
L’assemblage du rack de ventilation
Le lot de ventilateurs que j’ai acheté est composé de 5 ventilateurs, j’ai donc utilisé 3 ventilateurs attachés entre eux par des petits colliers et fixés sur un passe-câbles de baie IT pour lequel j’ai retiré les 3 pattes centrales et conservé les deux pattes aux extrémités pour fixer le bloc de 3 ventilateurs. Le tout s’imbrique parfaitement, je peux donc fixer mes ventilateurs au passe-câbles avec des colliers de serrage là aussi avec un peu de mousse entre les deux parties pour limiter le bruit.
Ce rack vient prendre place au milieu de la baie et les deux autres ventilateurs sont quant à eux placés en extraction au-dessus de la baie pour créer un flux d’air qui traverse la baie et refroidit efficacement.
Câblage de l’ensemble
Concernant les branchements à effectuer, pour obtenir une régulation pilotable via le système domotique, vous devrez appliquer le câblage comme ci-dessous.
Enfin, je renferme le nodeMCU dans une petite boîte plexo pour la protéger et faire un montage propre et il ne reste plus qu’à assembler le tout.
Pas de modification ni de soudure à faire sur le câblage des ventilateurs. Ceux-ci sont composés d’une extension très pratique pour les brancher en cascade, c’est parfait.
Le dashboard Home Assistant pour piloter l’ensemble
Comme toujours, on peut imaginer un peu tout ce que l’on veut en matière de tableau de bord. De mon côté, j’ai ajouté une mesure de consommation avec une prise Zigbee à mesure d’énergie branchée sur l’alimentation.
Cela me permet de voir aussi bien l’incidence du montage sur la température, mais également sur la consommation. Ensuite, pour le pilotage, il y a la carte ventilation qui intègre déjà tout le nécessaire pour piloter la ventilation avec une régulation précise via une entité variateur au même titre qu’une lumière.
J’ai créé 3 nouvelles entités de type bouton avec des valeurs préconfigurées 10%, 50% et 100% qui me permettent de définir des vitesses de rotation que j’appelle dans une automatisation en fonction de la valeur de température, mais que je peux aussi forcer manuellement à la demande.
Retrouvez le code complet à copier coller dans votre dashboard + les différentes extensions à utiliser pour reproduire ce tableau de bord et ces graphiques de suivi en à télécharger ici mon Ko-Fi. Vous trouverez également dans le pack le code de l’automatisation pour gerer la vitesse en fonction des boutons %.
Dernier point, puisque je parle de température, il faut aussi une sonde de température. Il y a le choix, personnellement, j’ai fait le choix de la sonde Zigbee Sonoff.
L’efficacité du dispositif
Sur le graphique suivant, on voit clairement l’impact du changement de vitesse sur la température de la baie. La régulation de la température via ce dispositif est redoutablement efficace. En associant le rack à une sonde de température, on est alors capable d’automatiser le tout via une automatisation Home Assistant pour disposer d’un système de refroidissement dynamique et intelligent.
Conclusion
Voilà, vous savez tout et vous pouvez, vous aussi reproduire mon montage pour optimiser le refroidissement de votre baie IT, réseau ou domotique. Les ventilateurs sélectionnés ici ont de multiples avantages, notamment le démarrage à petite vitesse qui n’est pas un problème là où d’autres nécessitent une certaine puissance pour démarrer. Enfin, autre point et pas des moindres, ils sont vraiment silencieux, ce qui est toujours un plus.
Bon bah merci hein.
J’allais justement chercher à faire un truc comme ça moi aussi
Quelques petites impressions 3d et je m’attaque a mettre ça dans le rack
Au top !!
Merci beaucoup pour ce tuto intéressant !
Super article/tuto
Super tuto!
Pourrait-on avoir plus d’informations à propos de la carte custom pour la gestion des ventilateurs (repo HACS, configuration YAML) ?
Hello,
Je vais intégrer un paragraphe sur la construction du dashboard.
Merci pour le tuto, j’attends avec impatience la suite pour le dashboard sur Ha… 👍
Hello,
tu sais qu on attends toujours avec impatience ta carte 🙂
Hello,
oui il faut que je m’en occupe 😉
Merci, cela tombe bien, avec la chaleur du moment.
l’installation est super simple et très détaillé néanmoins j’ai deux questions :
-> les rpm du ventilateur sont farfelus je suis à plus de 25000 avec des ventilos Artic F12 …
-> As tu une explication pour intégrer des % fixe sur un dashboard
Encore merci à toi
Bonjour,
non, le câblage est bien conforme à l’installation réalisée.
Je vais intégrer un paragraphe sur la construction du dashboard.
Moi aussi même problème
top 🙂 dommage de ne pas avoir intégré une sonde directement sur l esp avec un seuil de déclenchement.
en effet, je n’avais pas de sonde compatible sous la main, mais une sonde zigbee… mais c’est une évolution à faire dans un prochain guide en effet. J’ai d’autres idées à venir autour de l’ESP.
Bonjour à tous,
Un grand merci pour ce tuto hyper bien fait, que j’ai suivi à la lettre car je débute avec HA (je viens de l’univers Domoticz).
Une petite question : est-ce normal que le ventilo tourne encore lentement même si on met OFF le “Cooler_rack PWM Fan”, et le “Cooler_rack PWM Fan RPM” indique 0 ?
Le matériel utilisé est identique au matériel décrit dans cet article.
Je lis avec passion vos tous vos articles.
Bonjour,
j’ai en effet aussi identifé ce “petit bug” sur mon installation. Je n’ai pas creusé plus car negligeable étant donné que ce genre d’installation a toujours une rotation minimale.
Il y a en effet des erreur dans le code et dans le montage.. 12V 2A pour ces 3 ventilos en l’état, avec ce code, c est trop peu. Donc j ai un peu adapté le code 😉
Bonjour
Tu peux partager ton code ?
Qu’est ce qu’il faut adapter ?
Bonjour,
Je viens de compiler un pack code dashboard et automatisation.
Désolé pour l’attente 😉
Bonjour,
Et peut-on avoir cette modification de code car pour moi, cela ne fonctionne pas.
Je vais encore essayer de tout reprendre à 0 mais les modifs de code pourraient être utiles à la communauté 😉
Pour mon commentaire ci-dessous, je n’ai pas encore eu le temps de reprendre le tout.
Merci pour le travail en tout cas.
Bonjour,
Merci pour cet excellent tuto. J’ai tout fait comme expliqué dans le tuto et avec le même matériel.
Lorsque je branche l’alimentation sur les ventilateurs, ils tournent en permanence et si l’ESPHome est branché comme dans le tuto, rien ne se passe.
Si je mets le gris (pin 6 sur esp) et dans le troisième branchement des ventilos et le vert dans le 4ème et en d7 sur esp, je n’ai rien qui se passe. Si j’inverse les deux (gris et vert), alors je peux voir une valeur en rpm mais cela ne change rien, le ventilo tourne non-stop même s’il est éteint dans HA.
Et si je mets une valeur de fan à 50% par exemple, alors j’ai des RPM à 300000 rpm, un peu irréaliste car le ventilo n’a pas changé de vitesse.
Où est-ce que cela pose problème et comment résoudre cela ?
Bonjour,
étrange, car le même montage fonctionne correctement pour moi et d’autres lecteurs. Donc je dirai un soucis dans la mise en oeuvre. Peut être recommencer de 0 la procedure pour voir.
Bonjour,
D’après le schéma simplifié et la photo, il me semble qu’il manque au moins une connexion entre le GND des ventilos et le GND de l’ESP, à moins que l’ESP soit alimenté via l’USB pas la même alim que les ventilos:
FAN pin 1 -> GND vers alim 12V pour ventilos ===> ET GND de l’ESP (A mon avis, il manque ce lien)
FAN pin 2 -> 12V vers alim 12V pour ventilos
FAN pin 3 -> GPIO12 (Output PWM)
FAN pin 4 -> GPIO13 (Speed counter)
Il faut bien une GND commune pour l’ESP et les ventilos, pour garantir le fonctionnement du PWN et speed input.
Peux-tu préciser /clarifier le câblage pas visible à droite de la photo ?
Salutations
Laurent
Bonjour,
il s’agit bien du câblage que j’ai appliqué à mon montage.
Tout fonctionne parfaitement. Les RPM sont (parfois)un peu fantaisistes, mais la commande de régulation fonctionne très bien.