Piloter son poêle à pellets avec une carte Arduino et Jeedom

II. Prototypage pour contrôler le câble RS232

Une fois le test effectué, je me suis attaqué au contrôle du câble pour effectuer le contact sec. Pour réaliser cette opération, je me suis construit un système DIY qui communique avec Jeedom. Pour cela, j’ai eu besoin de 3 choses essentielles :

  • une carte Arduino Uno
  • un relais
  • un émetteur/récepteur RF 433mhz
  • des câbles

Les liens pour acquérir ce matériel se trouvent un peu plus bas dans cet article.
L’émetteur/récepteur RF 433mhz sera mon moyen de communication avec mon Jeedom, car celui-ci sait déjà utiliser ce protocole . Si vous avez déjà lu mon article « domotiser sa boîte aux lettres », vous avez certainement vu que j’avais créé un système pour recevoir en RF 433mhz les informations de ma boîte aux lettres, mais que j’avais aussi prévu que le dispositif puisse émettre dans ce même protocole. Il est donc temps de l’utiliser. Le récepteur sur cette carte Arduino va me permettre de recevoir les informations de Jeedom pour allumer/éteindre le poêle à pellets tandis que l’émetteur renverra le statut du relais (ouvert/fermé).
Le relais sera piloté par la carte Arduino et il sera capable de lui donner une source courant pour activer le relais (fermer le circuit) ou pour retirer cette source de courant (ouvrir le circuit). L’extrémité du câble RS232 sera connectée directement au relais.
Le montage est relativement simple :

Mais pour faire fonctionner ce montage, il manque une partie très importante : le code. Arduino ce n’est pas que de l’électronique c’est également de la programmation. Vous pouvez retrouver le code pour faire fonctionner le montage en cliquant ici.

Le but n’est pas de vous expliquer comment apprendre à programmer avec Arduino. Vous aurez tout le loisir d’apprendre si vous le souhaitez. Néanmoins, voici l’explication du code dans les grandes lignes :

  • on inclut une librairie nommée « RCSwitch.h » qui va nous servir pour interagir avec les composants RF 433mhz (émetteur/récepteur)
  • on définit les pins de la carte que l’on va utiliser:
    • pin 8 pour le relais
    • pin 10 pour l’émetteur
    • pin 2 pour le récepteur
  • On définit des constantes pour définir les codes que ce montage doit connaître. J’ai pour cela inventé 3 codes :
    • code 117 pour ouvrir le relais (éteindre le poêle à pellets)
    • code 476 pour fermer le relais (allumer le poêle à pellets)
    • code 29 pour que ce montage émette le code d’état du relais (117 ou 476)

Vous pouvez bien entendu changer les codes par ceux que vous voulez. Le but est d’avoir des codes qui ne sont pas utilisés par chez vous.

Pour le reste du code, c’est la logique du programme qui va tourner en permanence et attendre les instructions qu’il doit recevoir. En clair, lorsque l’émetteur va capter un code RF 433 MHz il va vérifier s’il le connaît (117, 476, 29).

Si c’est le cas, le code fera :

  • 117 : on désactive le relais, le circuit est ouvert et donc le poêle à pellets s’éteint
  • 476 : on active le relais, le circuit est fermé et donc le poêle à pellets s’ouvre
  • 29 : on récupère l’état du relais et on le transmet à l’émetteur 433mhz

Il n’est pas nécessaire de comprendre le reste du code, le plus important est de comprendre le code de la fonction loop()

Bon maintenant on va tester notre prototype en envoyant les bons codes. Et pour cela on va utiliser Jeedom et le plug-in Arduidom (plus d’explications sur Arduidom dans cet article). J’ai créé un nouvel équipement Arduidom que j’ai nommé « Commande du poêle » avec les commandes suivantes :

Remarquez que la partie données ne contient pas les chiffres que j’ai renseignés dans la programmation Arduino. C’est ce genre de code qu’Arduidom utilise pour émettre en 433. Pour connaître les codes, j’ai tout simplement utilisé la fonction SendRF433Mhz() dans mon code Arduino et renseigné chacun des codes (que j’ai récupéré dans la console série de l’IDE d’Arduino).

Et voici les commandes pour savoir depuis Jeedom si le poêle est allumé ou éteint. En effet quand Arduidom demandera le statut du poêle, l’Arduino avec le relais va répondre son statut et bien entendu Arduidom doit interpréter ce code pour savoir si le poêle est allumé (476) ou éteint (117).
Il suffit ensuite d’utiliser la fonction « tester » de chaque commande et voir ce qu’il se passe sur l’Arduino avec le relais.


11 Commentaires
  1. Bravo et bon boulot.
    J’ai réalisé il y à quelques temps un système équivalent pour la gestion de ma chaudière fioul et mon poële à pelets. Je l’avais fait à base d’arduino uno et de domoticz. Le système marchais à peu près bien mais j’ai eu parfois quelques surprises en me levant le matin de découvrir qu’un escabeau mal placé ou autres objets déplacés avaient parasité mon signal et empêcher la mise en route du chauffage.
    J’ai donc abandonné les éméteurs/récepteur chinois en 433 et je suis passé par le wifi. J’utilise désormais des Wemos D1 (esp12) équipé de shield relais avec le nouveau firmware esp easy qui est d’une facilité déconcertante à utiliser et à mettre à jour. Et je ne parle pas du gain financier. Je remplace actuellement tout mes capteurs diy par des wemos et j’en suis très content. avec les micro alim 220/5v on peu même les integrer dans des boitiers d’encastrement standard.

  2. Bonjour,
    Le tuto est très bien détaillé, j’ai pour ma part un poêle de la marque Brisach Lena que je souhaiterai domotiser. L’arrière du poêle est exactement de la même configuration (prise rs232 + sonde proche), j’ai tenté de contacter la marque mais pas de retour, et la notice n’en parle pas du tout.
    Pensez vous que votre système pourrai fonctionner sur mon poêle ? Ai je moyen de tester avant l’achat de tout matériel ?
    Merci.
    Cyril.

    • Bonjour Cyril,

      Je pense qu’il est tout à fait possible de le faire mais il faudrait identifier les pins utilisées de ta prise RS232 pour reproduire un contact sec comme sur le mien. Si tu as la documentation de ton poêle, est-ce qu’il ne parle pas de l’éventualité de mettre un thermostat ? Si c’est le cas, alors il te sera possible de reproduire ce que j’ai fait avec mon poêle à pellets.

      Ensuite le meilleur moyen de tester avant l’achat un contact sec c’est de prendre un bête câble d’alimentation et le connecter aux 2 pins de ton poêle pour simuler le contact sec.

      Tu devras peut être faire des réglages dans ton poêle pour pouvoir activer la fonctionnalité (comme j’ai dû le faire pour moi)

      Bien à toi,

  3. Bonjour, de passage sur le forum, je souhaiterai domotiser mon poêle néa avec la solution thombox déjà présente chez moi. Avec le module de radiateur électrique on/off est-ce possible? Et comment Faire les branchements. Cordialement

  4. Bonjour, à quoi sert le relais 5v? J’ai la solution domotique thombox avec un contacteur on/off pour radiateur électrique. Cela pourrais fonctionner ?

    • Bonjour KINRZDY,

      Le relais 5v permet d’ouvrir ou de fermer le circuit de la prise RS232. Mon poêle à pellet envoie une tension depuis sa prise RS232 et lorsque sa tension part d’une pin pour arrivée à une autre (position fermée du relais), il sait automatiquement qu’il doit s’allumer.

      Quand le relais est ouvert, il n’y a plus de tension dans le circuit et le poêle sait qu’il doit s’éteindre.

      Pour résumer : mon relais agit comme un interrupteur de maison. Si ton module thombox fait office d’interrupteur alors je pense que ça peut en effet fonctionner.

  5. ATTENTION !! : Il existe un troisième câble que l’on retrouve par exemple sur les poêles Edilkamin Soleil et Tania … c’est la référence 620550 et les pins à utiliser sont la 2 et la 7.

  6. Bonjour et merci pour ce tuto.
    Pour mon poêle (Edilkamin Iris plus) quelqu’un saurait-il quels pins sont à relier ? J’ai essayé de ponter les 2 et 6, mais ça semble plus correspondre à un appui sur la touche ‘menu’.
    J’ai essayé plusieurs autres combinaisons, sans succès…
    Merci !

  7. Salut Did,

    Moi si j’étais toi, je m’embêterais pas et j’achèterais directement le câble qui faut pour le poêle à pellets.

    A première vue, le tiens ça serait celui là : http://www.poeles-et-accessoires.fr/edilkamin/1027-cable-pour-thermostat-externe-edilkamin.html

    Bien à toi,

    Laisser un commentaire

    Ne ratez plus aucune news !

    Inscrivez vous à notre newsletter, et recevez chaque mois toute l'actualité du blog pour ne plus rien louper: actualité, guides, tutoriaux, concours !

    Merci pour votre inscription !