From d23643bd320276ab920594c66d6cadd3cecaea1b Mon Sep 17 00:00:00 2001 From: Gitea Actions Date: Fri, 27 Jun 2025 07:52:01 +0000 Subject: [PATCH] Auto-update blog content from Obsidian: 2025-06-27 07:52:01 --- .../6-ac-automation-home-assistant-node-red.md | 7 +++---- .../6-home-assistant-node-red-ac-automation.fr.md | 15 +++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/content/post/6-ac-automation-home-assistant-node-red.md b/content/post/6-ac-automation-home-assistant-node-red.md index 265ef30..fffd889 100644 --- a/content/post/6-ac-automation-home-assistant-node-red.md +++ b/content/post/6-ac-automation-home-assistant-node-red.md @@ -30,7 +30,7 @@ That said, once automations start getting more complex, like reacting to multipl ### Node-RED -That’s exactly why I turned to Node-RED. It’s a visual tool that lets you build logic using blocks called “nodes,” which you connect with wires to create flows. Each node performs a small task: trigger at a certain time, check a condition, send a command to a device, etc. Instead of writing YAML, you just drag, drop, and connect. +That’s exactly why I turned to Node-RED. It’s a visual tool that lets you build logic using blocks called “nodes”, which you connect with wires to create flows. Each node performs a small task: trigger at a certain time, check a condition, send a command to a device, etc. Instead of writing YAML, you just drag, drop, and connect. Node-RED does not replace Home Assistant, it empowers it. I won't cover the installation of Node-RED neither the integration in HA, I've done that 2 years ago, but for that I remember, this is quite straightforward. @@ -53,13 +53,12 @@ To help me achieve that, I'm using 4 [Aqara temperature and humidity sensors](ht ### Workflow -Let me introduce my new AC workflow within Node-RED and explain what it does in detail - +Let me introduce my new AC workflow within Node-RED and explain what it does in detail: ![New Node-RED air conditioning workflow](img/node-red-new-ac-workflow-with-legend.png) #### 1. Temperature Sensors -In the first node, I combined all the temperature sensors together in one `trigger state node`, but I also added humidity levels in addition to the temperature, managed by the sensor. The node then contains 8 entities in a list (2 for each of my sensor). Each time one value change out of these 8 entities, the node is triggered: +In the first node, I combined all the temperature sensors together in one `trigger state node`, but I also added humidity levels in addition to the temperature, managed by the sensor. The node then contains 8 entities in a list (2 for each of my sensor). Each time one value change out of these 8 entities, the node is triggered: ![Nœud trigger state dans Node-RED avec les 8 entités](img/node-red-temperature-sensors-trigger-node.png) Each of my temperature sensors are named with a color in French, because each has its own color sticker to distinguish them: diff --git a/content/post/6-home-assistant-node-red-ac-automation.fr.md b/content/post/6-home-assistant-node-red-ac-automation.fr.md index 82d0e26..d62bb40 100644 --- a/content/post/6-home-assistant-node-red-ac-automation.fr.md +++ b/content/post/6-home-assistant-node-red-ac-automation.fr.md @@ -24,7 +24,7 @@ Et si je pouvais automatiser tout ça ? Après tout, j’utilise déjà Home As ### Home Assistant -Home Assistant, c’est le cerveau de ma maison connectée. Il relie tous mes appareils (lumières, capteurs, volets, etc.) dans une interface unique. Sa vraie force, c’est la possibilité de créer des automatisations : _si quelque chose se passe, alors fais ça_. Des actions simples comme “allumer la lumière de la cuisine quand un mouvement est détecté” se mettent en place en quelques clics. Et pour des scénarios plus avancés, Home Assistant propose un système de scripts en YAML avec des conditions, des minuteries, des déclencheurs, et même du templating. +Home Assistant, c’est le cerveau de ma maison connectée. Il relie tous mes appareils (lumières, capteurs, volets, etc.) dans une interface unique. Sa vraie force, c’est la possibilité de créer des automatisations : si quelque chose se passe, alors fait ça. Des actions simples comme “allumer la lumière de la cuisine quand un mouvement est détecté” se mettent en place en quelques clics. Et pour des scénarios plus avancés, Home Assistant propose un système de scripts en YAML avec des conditions, des minuteries, des déclencheurs, et même du templating. Mais dès qu’on commence à faire des automatisations un peu complexes, qui dépendent de plusieurs capteurs, d’horaires spécifiques ou de la présence de quelqu’un, ça devient vite difficile à lire. Les blocs de code YAML s’allongent, et on ne sait plus trop ce qui fait quoi, surtout quand on veut corriger un petit détail plusieurs semaines plus tard. @@ -36,7 +36,7 @@ Node-RED ne remplace pas Home Assistant, il le renforce. Je ne détaillerai pas ## Ancien Workflow -J’avais déjà une solution plutôt efficace pour contrôler ma climatisation via Home Assistant et Node-RED, mais je voulais l’améliorer pour qu’elle prenne aussi en compte le taux d’humidité dans l’appartement. Mon automatisation actuelle, bien qu’elle fonctionne, n’était pas vraiment évolutive et assez difficile à maintenir. +J’avais déjà une solution plutôt efficace pour contrôler ma climatisation via Home Assistant et Node-RED, mais je voulais l’améliorer pour qu’elle prenne aussi en compte le taux d’humidité dans l’appartement. Mon workflow actuel, bien qu’il fonctionne, n’était pas vraiment évolutif et assez difficile à maintenir. ![Ancien workflow Node-RED pour contrôler la climatisation](img/node-red-ha-ac-automation-before.png) ## Nouveau Workflow @@ -53,13 +53,12 @@ Pour m’aider à faire tout ça, j’utilise 4 [capteurs de température et d ### Workflow -Laissez-moi vous présenter mon nouveau workflow de climatisation dans Node-RED, et vous expliquer en détail comment il fonctionne. - +Laissez-moi vous présenter mon nouveau workflow de climatisation dans Node-RED, et vous expliquer en détail comment il fonctionne : ![New Node-RED air conditioning workflow](img/node-red-new-ac-workflow-with-legend.png) #### #### 1. Capteurs de Température -Dans le premier nœud, j’ai regroupé tous les capteurs thermiques dans un seul `trigger state node`, en ajoutant non seulement la température mais aussi le taux d’humidité géré par chaque capteur. Ce nœud contient donc une liste de 8 entités (2 pour chaque capteur). À chaque fois qu’une de ces 8 valeurs change, le nœud est déclenché: +Dans le premier nœud, j’ai regroupé tous les capteurs thermiques dans un seul `trigger state node`, en ajoutant non seulement la température mais aussi le taux d’humidité géré par chaque capteur. Ce nœud contient donc une liste de 8 entités (2 pour chaque capteur). À chaque fois qu’une de ces 8 valeurs change, le nœud est déclenché : ![Nœud trigger state dans Node-RED avec les 8 entités](img/node-red-temperature-sensors-trigger-node.png) Chacun de mes capteurs thermiques porte un nom de couleur en français, car ils ont tous un autocollant coloré pour les distinguer : @@ -93,7 +92,7 @@ msg.payload = { return msg; ``` -Pour le dernier nœud, dans la majorité des cas, les capteurs envoient deux messages simultanés : l’un pour la température, l’autre pour l’humidité. J’ai donc ajouté un `join node` pour fusionner ces deux messages s’ils sont envoyés dans la même seconde. +Pour le dernier nœud, dans la majorité des cas, les capteurs envoient deux messages simultanés : l’un pour la température, l’autre pour l’humidité. J’ai donc ajouté un `join node` pour fusionner ces deux messages s’ils sont envoyés dans la même seconde : ![Join node in Node-RED to merge temperature and humidity](img/node-red-temperature-sensor-join-node.png) #### 2. Notification @@ -135,9 +134,9 @@ return null; // Don't send anything now Le second nœud est un `call service node` qui envoie une notification sur mon téléphone Android avec les informations fournies : ![Node-RED call service node for notification](img/node-red-call-service-node-notification.png) -#### 3. Curseurs de température +#### 3. Curseurs de Température -Pour pouvoir ajuster la température sans avoir à modifier tout le workflow, j’ai créé deux entrées (ou helper) Home Assistant, de type _number_, pour chaque unité de climatisation, ce qui me fait un total de 6 entrées : +Pour pouvoir ajuster la température sans avoir à modifier tout le workflow, j’ai créé deux entrées (ou helper) Home Assistant, de type number, pour chaque unité de climatisation, ce qui me fait un total de 6 entrées : ![Curseur de température dans Home Assistant pour chaque unité](img/home-assistant-temperature-room-sliders.png) Ces valeurs représentent la température de base utilisée pour le calcul des seuils, en fonction des offsets que je détaillerai plus loin.