======== Programmation Chauffage avec le noeud "Ramp-Thermostat" ======== ====node-red-contrib-ramp-thermostat 0.8.3==== Un nœud Node-RED qui émule un thermostat programmable. npm install node-red-contrib-ramp-thermostat ====thermostat à rampe==== version npm : v0.8.3 Un nœud de contribution Node-RED qui émule un thermostat programmable. {{ :start:nodered:capture_d_ecran_du_2025-12-18_22-51-07.png?direct&400 |}} Source Wikipédia : Un thermostat programmable est un thermostat conçu pour ajuster la température selon une série de réglages programmés qui s’appliquent à différents moments de la journée. Les thermostats programmables sont également appelés thermostats à horloge . Le thermostat à rampe commande un actionneur en fonction de la température d'entrée actuelle et de la température cible (consigne). La température cible est définie pour profileune période de 24 heures (00:00-23:59). Une programmation hebdomadaire ou pour les jours fériés est possible grâce à différents profils. ====Configuration==== La température cible est définie par un profil qui fournit sa valeur en fonction de l'instant présent . Ce profil est constitué de plusieurs points dont les connexions forment une séquence de lignes. Le moment de commutation peut être optimisé en définissant une ligne de gradient , 00:00-23:59par exemple une courbe en U.ramp Un profil doit comporter au moins 2 points et doit commencer à 00:00 et se terminer à 23:59. L'hystérésis sert à éviter les oscillations. La [+]valeur est ajoutée à la cible et la [-]valeur (absolue) est soustraite de la cible. Dans cette zone neutre, aucune action n'est effectuée. {{ :start:nodered:capture_d_ecran_du_2025-12-18_23-02-28.png?direct&800 |}} {{ :start:nodered:capture_d_ecran_du_2025-12-18_23-03-41.png?direct&600 |}} {{ :start:nodered:capture_d_ecran_du_2025-12-18_22-59-23.png?direct&600 |}} ====Usage==== Ce nœud attend un numericmessage (msg.payload) contenant la température actuelle (valeur numérique). Le sujet (msg.topic) doit être défini setCurrent. Il calculera la température cible en fonction de la valeur de msg.payload à l'instant présent et affichera trois valeurs : *état (booléen) *température actuelle (nombre) *température cible (nombre) L'état (vrai/faux) sert à commander un actionneur. Les sorties de température actuelle et cible peuvent être connectées, par exemple, à un nœud ui_chart. ====Paramètres d'exécution==== ===définir la cible=== msg.topic: setTarget msg.payload: nn.n (number) La cible restera valide jusqu'à ce qu'une nouvelle cible ou un nouveau profil soit défini, ou jusqu'à ce que Node-RED soit redémarré. ===setHysteresisPlus=== msg.topic: setHysteresisPlus msg.payload: nn.n (number) L'hystérésis restera valable jusqu'à ce qu'une nouvelle hystérésis soit définie ou jusqu'à ce que Node-RED soit réinitialisé. ===définirHysteresisMinus=== *msg.topic: setHysteresisMinus *msg.payload: nn.n (number) L'hystérésis restera valable jusqu'à ce qu'une nouvelle hystérésis soit définie ou jusqu'à ce que Node-RED soit réinitialisé. ===obtenirProfil=== *msg.topic: getProfile *msg.payload: profile-name L'objet profil est envoyé à la sortie 3 : msg.topic: getProfile msg.payload: { "name": "profile-name", "points": [{ "00:00": 18 }, { "04:00": 18 }, { "08:00": 20.5 }, { "12:00": 20.5 }, { "12:00": 19 }, { "12:30": 19 }, { "13:30": 20.5 }, { "19:00": 20.5 }, { "19:00": 18 }, { "23:59": 18 }] }