Automatiser un ventilateur de plafond à plusieurs vitesses avec Home Assistant - Self Hosted Home (2024)

Cet article peut contenir des liens affiliés. Veuillez lire monclause de non-responsabilitépour plus d'informations.

Le bureau de ma maison ne se refroidit pas aussi vite que le reste de la maison. Il est loin de son thermostat et n'obtient pas une bonne circulation. Ne serait-ce pas formidable si vous pouviez automatiquement commencer à le refroidir lorsqu'il atteint une certaine température ? Mieux encore, ne devrait-il pas démarrer à basse vitesse et augmenter à mesure que la pièce devenait de plus en plus chaude. L'article d'aujourd'hui portera sur l'automatisation d'un ventilateur intelligent à plusieurs vitesses pour refroidir automatiquement une pièce à l'aide de Home Assistant.

Si vous envisagez de connecter votre ventilateur de plafond à Home Assistant en premier lieu, consultez mon article surConvertissez votre ventilateur de plafond à chaîne en Z-Waveen utilisant leContrôleur de ventilateur intelligent GE Z-Wave. Si vous ne disposez pas déjà de données de température en temps réel pour la pièce que vous souhaitez rafraîchir, cet article commence par un mini-tutoriel sur la création d'un capteur de température WiFi bon marché à l'aide d'unESP8266 NodeMCU,uncapteur DHT22,etesphome.

Température ambiante

Si vous avez déjà un moyen d'obtenir la température d'une pièce dans Home Assistant, allez-y et ignorez cette section.

Matériel

Il existe de nombreuses façons de lire les données de température d'une pièce et de les intégrer à Home Assistant. Tout deMulticapteurs Z-Wave,Solutions ZigBee, et bien sûr des alternatives de bricolage. Une solution bon marché mais très robuste consiste à utiliser unESP8266 NodeMCUavec unCapteur DHT22. J'adore cette combinaison pour construire des capteurs de température compatibles WiFi bon marché pour ma maison. Côté logiciel, j'utiliserai esphome pour créer le firmware et communiquer avec Home Assistant.

Connecter le DHT22 à l'ESP8266 est très simple. Le DHT22 est livré avec 3 fils : GND, 5V et données. Vous pouvez lier GND à n'importe quelle broche GND sur l'ESP8266 et la ligne 5V doit aller à la broche VIN sur l'ESP8266. Enfin, j'utilise la broche 14 pour la communication de données.

Logiciel

Une fois que vous l'avez branché, il est temps pour le côté logiciel. J'utiliseesphomepour ce projet. vous pouvez trouver les instructions d'installationdans leur documentation. J'ai commencé à utiliser esphomely et j'ai été vraiment impressionné par le logiciel. Non seulement il est vraiment facile de démarrer, mais cela crée une connexion très robuste avec Home Assistant qui prend en compte tous les cas extrêmes liés à la programmation intégrée. La fonction de mise à jour en direct intégrée au logiciel signifie que vous pouvez flasher les mises à jour des appareils sans avoir à les brancher sur votre ordinateur. Bien sûr, vous pouvez faire la même chose en écrivant votre propre code Arduino ou MicroPython si vous préférez ces frameworks.

Pour utiliser esphome, vous avez besoin d'un fichier yaml déclarant votre configuration pour l'appareil. Comme nous n'utilisons qu'un DHT22, le fichier yaml est assez basique et peut être vu ci-dessous :

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

esphome:

nom: bureau

plateforme: ESP8266

conseil: nodemcuv2

Wifi:

ssid: mon_ssid

mot de passe: mon_mot_de_passe_wifi

statut_dirigé:

broche: 16

capteur:

- plateforme: dht

broche: 14

température:

nom: "Température du bureau"

humidité:

nom: "Humidité au bureau"

modèle: DHT22

mise à jour_intervalle: années 60

# Activer la journalisation

enregistreur:

# Activer l'API de l'assistant domestique

API:

ota:

texte_capteur:

- plateforme: version

nom: esphome_office_esphome_version

Quelques pièces intéressantes de la configuration :

  • Assurez-vous de modifier les champs de nom de température/humidité pour qu'ils correspondent à la pièce à laquelle l'appareil est destiné
  • Vous pouvez modifier l'intervalle de rapport du capteur, 60 secondes semble assez souvent cependant
  • Activer lestatus_ledle composant fera clignoter la led sur l'appareil s'il est déconnecté du WiFi ou ne peut pas lire à partir du DHT22
  • Activer leotale composant vous permet de flasher l'appareil via WiFi pour faciliter les futures mises à jour
  • Activer leAPIle composant utilise une connexion directe à Home Assistant, vous n'avez donc pas besoin d'exécuter un courtier MQTT

Une fois que vous avez écrit votre fichier de configuration esphome, vous pouvez générer le firmware et le charger sur l'appareil à l'aide de la commandeesphomerun office.yaml.Vous devrez activer l'intégration ESPHome dans Home Assistant. Il y a des instructions simples dans leDocumentation sur l'assistant domestique.

Automatisation du ventilateur

Comme beaucoup d'automatisations Home Assistant, il existe plusieurs façons d'accomplir la même tâche. je vais utiliser leThermostat génériquecomposant dans Home Assistant pour l'accomplir aujourd'hui.

Automatisation du ventilateur à vitesse unique

Pour ma première implémentation, j'ai simplement utilisé le thermostat générique pour déclencher le ventilateur de plafond lorsque la température cible est atteinte. La plate-forme de thermostat générique prend en charge toute l'automatisation nécessaire pour allumer le ventilateur lorsque la température ambiante atteint la température cible. Un exemple de base du composant de thermostat générique utilisant un ventilateur de plafond pourrait être :

1

2

3

4

5

6

7

8

9

dix

climat:

- plateforme: thermostat_générique

nom: Bureau

chauffa*ge: fan.office_fan

cible_capteur: capteur.office_temperature

courant alternatif_mode: Vrai

cible_temp: 78

initial_opération_mode: automatique

froid_tolérance: 2

chaud_tolérance: -2

  • ac_modeest réglé surVraiparce que nous refroidissons une pièce. Le comportement par défaut est le chauffa*ge.
  • tolérance au froidethot_tolerancesont réglés sur2et-2respectivement, c'est parce que je veux que le ventilateur s'allume lorsqu'il se trouve à moins de 2 degrés de la température cible et s'éteint lorsque la température ambiante est inférieure de 2 degrés à la température cible.

Cela vous donne une interface de thermostat pour votre interface Home Assistant.

Automatiser un ventilateur de plafond à plusieurs vitesses avec Home Assistant - Self Hosted Home (1)

Cela fonctionne très bien si votre ventilateur de plafond n'a qu'une seule vitesse. Cependant, si vous avez un ventilateur de plafond à plusieurs vitesses, il s'allume simplement à haute vitesse chaque fois que la température cible est atteinte. Continuez si vous voulez rendre le ventilateur encore plus intelligent et augmentez lentement la vitesse en fonction de la température ambiante.

Automatisation des ventilateurs à plusieurs vitesses

Si vous avez utilisé leVentilateur intelligent GE Z-Wavecontrôle, comme je l'ai mentionné dans monConvertissez votre ventilateur de plafond à chaîne en article Z-Wave, votre ventilateur de plafond prend en charge trois vitesses. Nous allons maintenant chercher à améliorer l'automatisation pour augmenter lentement la vitesse du ventilateur de plafond en fonction de la température actuelle et cible. Nous tirerons toujours parti du composant de thermostat générique pour que l'interface utilisateur reste la même, mais nous améliorerons l'automatisation.

Il y a un peu de plomberie que nous devons faire en premier. Nous voulons que la vitesse de notre ventilateur réagisse au changement de température dans la pièce ou à quelque chose qui modifie la température cible du thermostat. Pour dépendre de la température cible du thermostat, nous devons obtenir la température comme son propre capteur. De cette façon, nous pouvons déclencher l'automatisation chaque fois que la température cible change. Pour ce faire, faites uncapteur de modèlequi lit simplement l'attribut de température cible du thermostat générique.

Voici à quoi ressemble mon modèle de capteur pour extraire la température cible de mon thermostat générique de bureau.

1

2

3

4

5

6

7

8

9

dix

---

# Extraire la température de consigne du thermostat générique du bureau

plateforme: modèle

capteurs:

bureau_température_cible:

amical_nom: "Température cible du bureau"

unité_de_la mesure: '°C'

valeur_modèle: "{{ État_attribut('bureau.climatique', 'température') }}"

Maintenant, nous avons un nouveau capteur avec unidentifiant_entitédesensor.office_temperature_targetqui suit toujours la température cible du thermostat.

Ensuite, nous devons faire un interrupteur que le thermostat peut déclencher lorsque le ventilateur doit être allumé. Pour cela, nous utiliserons unCommutateur de modèlepour notre interrupteur personnalisé.

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

---

# Interrupteur utilisé par le thermostat de bureau pour allumer et éteindre le ventilateur

plateforme: modèle

commutateurs:

bureau_thermostat_changer:

valeur_modèle:"{{ est_État('automatisation.office_fan_turn_on', 'sur') }}"

tourner_sur:

service: automation.turn_on

entité_identifiant: automation.office_fan_speed

tourner_désactivé:

- service: automation.turn_off

entité_identifiant: automation.office_fan_turn_on

- service: fan.turn_off

entité_identifiant: fan.office_fan_switch_level

Lorsque l'interrupteur est allumé, il active simplement leoffice_fan_speedautomatisation (que nous sommes sur le point d'écrire). Lorsque le thermostat éteint l'interrupteur, il éteint l'automatisation et appelle un service pour éteindre le ventilateur.

Rédaction de l'automatisation

Ensuite, nous pouvons écrire notre automatisation pour ajuster la vitesse du ventilateur en fonction de la température cible et de la température actuelle.

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

---

alias: Vitesse du ventilateur de bureau

initial_État: FAUX

déclencher:

- plateforme: État

entité_identifiant: capteur.office_temperature

- plateforme: État

entité_identifiant: sensor.office_temperature_target

condition:

- condition: État

entité_identifiant: timer.office_fan_cooldown

État: 'inactif'

action:

- service: fan.turn_on

entité_identifiant: fan.office_fan_switch_level

données_modèle:

vitesse:>-

{% si (((États('capteur.office_temperature_target') | flotter) - (États('capteur.office_temperature') | flotter))) >= 1.0 %}

faible

{% elif (((États('capteur.office_temperature_target') | flotter) - (États('capteur.office_temperature') | flotter))) <= -3.0 %}

haut

{% autre %}

moyen

{% fin si %}

- service: timer.start

entité_identifiant: timer.office_fan_cooldown

Décomposons cette automatisation :

  • Il se déclenche chaque fois que la température actuelle du bureau change ou que quelque chose modifie la température cible du thermostat
  • Étant donné que la température peut changer souvent, nous utiliserons une minuterie pour nous assurer que nous ne continuons pas à changer la vitesse du ventilateur en permanence, nous en reparlerons plus tard. Mais pour l'instant, nous vérifions que la minuterie ne fonctionne pas actuellement avant de modifier la vitesse du ventilateur.
  • Enfin, l'action prend la différence entre la température actuelle et la température cible et règle la vitesse du ventilateur. Pour ma configuration, je souhaite que la vitesse du ventilateur soit faible si la température actuelle est inférieure de 1 degré ou plus à la cible. Je veux qu'il soit à grande vitesse si la température est supérieure de 3 degrés à la cible. S'il est au milieu, utilisez la vitesse moyenne.
  • L'automatisation se termine par un appel pour démarrer le temps de recharge. C'est juste pour s'assurer que l'automatisation ne se déclenche pas continuellement.
  • LeEtat initialde l'automatisation est réglé surFAUXafin que l'automatisation ne démarre pas au démarrage de Home Assistant. Au lieu de cela, notre thermostat déclenchera le commutateur de modèle, qui activera alors cette automatisation.

Refroidir

L'automatisation que nous avons écrite se déclenche chaque fois que la température ambiante ou la température cible change. Si la lecture de la température de votre pièce change toutes les minutes, vous ne voudrez peut-être pas que la vitesse du ventilateur change constamment. Cela pourrait créer du bruit sur votre réseau Z-Wave, encombrer votre journal de bord Home Assistant ou simplement ennuyer quiconque est assis dans la pièce si la vitesse du ventilateur change constamment. C'est pourquoi nous créons un temps de recharge, pour limiter la fréquence d'exécution de l'automatisation.

En utilisant leComposant de minuterievous pouvez créer un minuteur de temps de recharge, j'utilise juste un simple temps de recharge de 5 minutes.

1

2

3

4

5

6

---

# Minuterie utilisée pour contrôler la fréquence de mise à jour de la vitesse du ventilateur de bureau

bureau_ventilateur_refroidir:

nom: "Rechargement du ventilateur de bureau"

durée: '00:05:00'

Mise à jour du thermostat générique

Enfin, nous devons apporter quelques mises à jour mineures à notre instance de thermostat générique. Tout ce qui a vraiment changé, c'est que nous utilisons maintenantswitch.office_thermostat_switchcomme interrupteur à déclencher lorsque la température ambiante est dans nos limites de la température cible.

1

2

3

4

5

6

7

8

9

dix

11

---

plateforme: thermostat_générique

nom: Bureau

chauffa*ge: switch.office_thermostat_switch

cible_temp: 78

cible_capteur: capteur.office_temperature

initial_opération_mode: automatique

froid_tolérance: 2

chaud_tolérance: -2

courant alternatif_mode: Vrai

Réflexions finales

Les meilleurs projets de domotique sont ceux qui automatisent réellement votre maison pour la rendre plus intelligente. Parconvertir votre ventilateur pour qu'il soit contrôlé sans filet en écrivant un peu de configuration de Home Assistant, vous pouvez refroidir automatiquement n'importe quelle pièce de votre maison. Home Assistant est un logiciel très puissant et à l'aide de capteurs de modèle, de commutateurs de modèle, de minuteries et du composant de thermostat générique, vous pouvez créer un ventilateur de plafond automatisé vraiment intelligent.

Souhaitez-vous accomplir cela d'une autre manière? Faites-moi savoir dans les commentaires! J'aimerais entendre parler de solutions alternatives.

Automatiser un ventilateur de plafond à plusieurs vitesses avec Home Assistant - Self Hosted Home (2024)
Top Articles
Latest Posts
Article information

Author: Laurine Ryan

Last Updated:

Views: 6648

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Laurine Ryan

Birthday: 1994-12-23

Address: Suite 751 871 Lissette Throughway, West Kittie, NH 41603

Phone: +2366831109631

Job: Sales Producer

Hobby: Creative writing, Motor sports, Do it yourself, Skateboarding, Coffee roasting, Calligraphy, Stand-up comedy

Introduction: My name is Laurine Ryan, I am a adorable, fair, graceful, spotless, gorgeous, homely, cooperative person who loves writing and wants to share my knowledge and understanding with you.