Mise à jour le 06/01/2023
Introduction
Voici un tuto pour ceux qui découvrent Home Assistant et qui souhaitent se lancer dans le chauffage par automatisations. Vous pourrez aussi découvrir les scripts, les scènes, les templates, les entrées et autres de manière assez simple.
N’hésitez pas à apporter vos idées, modifications, types de fonctionnement différents ! Je pense que j’utilise actuellement seulement 10% des possibilités de l’automatisation ! Il a tellement de façon de procéder !
Mon matériel : Je dispose de 3 radiateurs, 1 sèche serviette et 1 chauffe eau Thermor, tous connectés à mon bridge Cozytouch qui utilise le signal IO Homecontrol.
Ma situation : Après un premier hiver où j’ai utilisé la programmation interne aux équipements, je me suis lancé dans la programmation sur HA, notamment suite à l’apparition de l’entrée « schedule. ».
Remarque : Il a de nombreux avantages à disposer de radiateurs déjà connectés mais également de gros désavantages. Au final, je ne passerai plus jamais par un système API pour gérer le chauffage car cela est contraignant et peut s’avérer instable dans le temps (exemple : le serveur de Thermor qui plante et cela est déjà arrivé, l’appli smartphone qui plante…).
Mais bon, j’ai acheté mon appartement avec ce matériel déjà installé donc on fait avec !
Autre remarque : J’utilise UI Lovelace Minimalist, donc je laisserai mon rendu en image.
Je vous propose ici une possibilité de gérer chaque équipement avec HA.
J’ai construit cela en utilisant seulement les automatisations et sans passer par scheduler. Je trouve intéressant de passer par les automatisations en terme de compréhension !
Pré-requis
Utilisation l’intégration Overzik :
Il existe 2 intégrations Overkiz, l’une directement dans HA et l’autre via HACS. Les fonctionnalités de l’intégration de HACS sont progressivement en train de migrer vers l’intégration de HA.
J’utilise l’intégration directement dans HA depuis que mes équipements sont pris en charge.
Vous pouvez suivre l’avancement de la migration ici.
Grâce aux liens ci dessus, vous pouvez suivre la démarche pour installer l’intégration.
Ensuite, allez dans « Paramètres » → « Appareils et services » → « Intégrations » → « Ajouter une intégration » et vous pourrez l’ajouter dans votre système.
Mes radiateurs :
Je dispose de 3 radiateurs de puissance et de forme différentes mais ce sont tous des « Equateur 4 ».
Sur l’appli Cozytouch sur smartphone ou en passant par la commande sur le radiateur, je mets mes radiateurs en mode « BASIC ». Point négatif dans ce mode, je n’ai plus de planification issue de Cozytouch.
J’ai également désactivé le jumelage des radiateurs qui se trouvent dans la même pièce.
Ils sont ajoutés à l’intégration Overkiz et reconnus comme io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent
Mon sèche serviette :
Je dispose d’un sèche serviette « Allure 3 Classic » avec une fonction « soufflerie » et une autre « séchage rapide de serviette ».
Je l’ai placé en mode « MANU. »
Il est ajouté à l’intégration Overkiz et reconnu comme io:AtlanticElectricalTowelDryer_IC3_IOComponent
Mon chauffe eau :
Je dispose d’un chauffe eau « Malicio 2 » avec sélection du nombre de douches souhaité (entre 2 et 4) et trois fonctions : « boost », « boost+ » et « Away ». Les trois fonctions ne sont pas gérées par Overkiz… Dommage !
Je l’ai également placé en mode « MANU. »
Il est ajouté à l’intégration Overkiz et reconnu comme io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent
Photos :
A développer
Voici ce que cela donne dans l’appli Cozytouch :
Sur les radiateurs :
Sur le sèche serviette :
Sur le chauffe eau :
Mon objectif :
-
Utiliser l’entrée
schedule.
pour réaliser un planning de la semaine des moments où je souhaite un chauffage à 21°C (Chauffage CONFORT) et d’autres moments à 19°C (Chauffage ECO). -
Utiliser des
device_tracker.
pour modifier cette planification en fonction de nos allers-retours. -
Utiliser des
sensor.
pour détecter les fenêtres ouvertes. -
Choisir le nombre de douches disponibles et avoir de l’eau bien chaude le matin.
-
Gérer le mode boost de mon sèche serviette depuis HA.
Gestion de mes radiateurs
Pour concevoir mes automatisations, j’ai besoin :
- De regrouper mes radiateurs qui sont dans la même pièces (si besoin) avec la création d’un
climate.
dans configutation.yaml.
climate_group
- platform: climate_group
name: 'Radiateurs Séjour'
temperature_unit: C
entities:
# Mes 3 radiateurs que je souhaite regrouper :
- climate.radiateur_salon_vertical_2kw
- climate.radiateur_salon_horizontal_1kw
- climate.radiateur_salle_a_manger_horizontal_2kw
-
D’une entrée
schedule.
.
Aller dans « Paramètres » → « Appareils et Services » → « Entrées » → « Créer une entrée » → « Planification ».
Choisissez vos plages de fonctionnement en chauffage CONFORT. -
De scripts qui vont lancer le chauffage CONFORT ou ECO ou ABSENCE ou HORS GEL.
Aller dans « Paramètres » → « Automatisations et scènes » → « Scripts » → « Ajouter un script ».
Pour éviter les problèmes liés à l’API Cozytouch, je lance mes radiateurs les uns après les autres avec 5 secondes de décalage.
Voici mon script CONFORT en yaml :
alias: Chauffage - Séjour - Confort
sequence:
- service: climate.set_temperature
data:
temperature: 21
target:
entity_id:
- climate.radiateur_salle_a_manger_horizontal_2kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 21
target:
entity_id: climate.radiateur_salon_horizontal_1kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 21
target:
entity_id: climate.radiateur_salon_vertical_2kw
mode: single
icon: mdi:radiator
Voici mon script ECO en yaml :
alias: Chauffage - Séjour - Eco
sequence:
- service: climate.set_temperature
data:
temperature: 19
target:
entity_id:
- climate.radiateur_salle_a_manger_horizontal_2kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 19
target:
entity_id: climate.radiateur_salon_horizontal_1kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 19
target:
entity_id: climate.radiateur_salon_vertical_2kw
mode: single
icon: mdi:radiator
Voici mon script ABSENCE en yaml :
alias: Chauffage - Séjour - Absence
sequence:
- service: climate.set_temperature
data:
temperature: 15
target:
entity_id:
- climate.radiateur_salle_a_manger_horizontal_2kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 15
target:
entity_id: climate.radiateur_salon_horizontal_1kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 15
target:
entity_id: climate.radiateur_salon_vertical_2kw
mode: single
icon: mdi:radiator
Voici mon script HORS GEL en yaml :
alias: Chauffage - Séjour - Hors gel
sequence:
- service: climate.set_temperature
data:
temperature: 7
target:
entity_id: climate.radiateur_salle_a_manger_horizontal_2kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 7
target:
entity_id: climate.radiateur_salon_horizontal_1kw
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 7
target:
entity_id: climate.radiateur_salon_vertical_2kw
mode: single
icon: mdi:snowflake-thermometer
-
D’un
binary_sensor
qui détecte l’ouverture de ma fenêtre. J’utilise un détecteur d’ouverture aqara. Si vous disposez de plusieurs fenêtres, vous pouvez les regrouper grâce à ungroup.
dans Paramètres → Appareils et services → Entrées → Créer une entrée → Groupe. -
D’un
binary_sensor
qui m’indique s’il fait plus froid dehors que je peux créer avec un template.
binary_sensor
- binary_sensor:
- name: "Plus froid dehors"
unique_id: temp_plus_froid_dehors
# Comparaison < entre température extérieure (intégration météofrance) et température intérieure (sonde zigbee aqara)
state: "{{ state_attr('weather.chalon_sur_saone', 'temperature')|int < states('sensor.temp_salon')|int }}"
Explications :
« state_attr » permet d’aller vérifier l’état d’une attribut d’une entité et « states » permet de vérifier l’état d’une entité. Je mets « < » au milieu pour la comparaison « strictement inférieur à » et je rajoute « int » aux deux éléments pour avoir le même format numérique.
- D’un
device_tracker
pour suivre la présence d’une personne dans l’appartement. J’utilisebluetooth_le_tracker
avec un Mi Band pour savoir quand je suis dans l’appartement et changer le statut de mon entitéperson.
. PS : En ce moment je galère avecbluetooth_le_tracker
, je cherche une autre solution.
Création de l’automatisation « gestion chauffage séjour » :
Aller dans « Paramètres » → « Automatisations et scènes » → « Automatisations » → « Créer une automatisation » → « Commencer par une automatisation vide »
Voici mon automatisation en yaml
alias: Chauffage - Séjour - Général
description: Gestion du chauffage du séjour selon une planification hebdomadaire.
trigger:
- platform: state
entity_id:
- schedule.planification_chauffage_sejour
id: planification
- platform: state
entity_id:
- person.claire
- person.simon
id: Absence Claire ou Sim
to: not_home
for:
hours: 0
minutes: 15
seconds: 0
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: schedule.planification_chauffage_sejour
state: "on"
- condition: state
entity_id: person.claire
state: home
- condition: trigger
id: planification
sequence:
- service: script.chauffage_sejour_confort
data: {}
- conditions:
- condition: state
entity_id: schedule.planification_chauffage_sejour
state: "off"
- condition: trigger
id: planification
sequence:
- service: script.chauffage_sejour_eco
data: {}
- conditions:
- condition: trigger
id: Absence Claire ou Sim
sequence:
- service: script.chauffage_sejour_eco
data: {}
mode: single
Explications :
Vous pouvez ajouter directement le code ci dessus dans votre automatisation en passant par le menu « Modifier en tant que YAML » et en modifiant chaque entité avec les noms correspondant aux vos entités. Mais je vous conseille plutôt d’essayer de comprendre mon automatisation et de la reproduire en mode « interface utilisateur ». C’est devenu beaucoup plus simple de le faire depuis la mise à jour de l’interface des automatisations.
J’utilise 2 déclencheurs (trigger) : le changement d’état de ma planification et le changement d’état de ma présence (absent pendant 15min).
Je rajoute des « ID de déclenchement » pour chaque déclencheur, cela me permet de bien choisir le déclencheur dans mes choix d’action et d’éviter que des actions se lance par un autre déclencheur.
Ensuite, je ne mets rien dans la partie « conditions » mais je passe par des « choix » dans la partie « actions ».
Vous pouvez ensuite ajouter les thermostats dans Lovelace.
Création de l’automatisation « détection de fenêtre ouverte » :
Voici mon automatisation en yaml
alias: Chauffage - Séjour - Fenêtre ouverte
description: Modifier chauffage si une fenêtre du salon s'ouvre ou se ferme.
trigger:
- platform: state
entity_id:
- binary_sensor.fenetres_salon_contact
to: "on"
for:
hours: 0
minutes: 0
seconds: 30
id: Ouvert 30s
- platform: state
entity_id:
- binary_sensor.fenetres_salon_contact
to: "off"
for:
hours: 0
minutes: 0
seconds: 30
id: Fermé 30s
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: Ouvert 30s
sequence:
- service: automation.turn_off
data: {}
target:
entity_id: automation.appart_chauffage_sejour
- service: script.chauffage_sejour_hors_gel
data: {}
- conditions:
- condition: trigger
id: Fermé 30s
sequence:
- service: script.chauffage_sejour_eco
data: {}
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: automation.turn_on
data: {}
target:
entity_id:
- automation.appart_chauffage_sejour
mode: restart
Explications
J’utilise deux déclencheurs, l’ouverture d’une des fenêtres pendant 30sec et la fermeture des fenêtres pendant 30sec.
J’ai toujours des choix dans la partie « Actions » et j’utilise un service très pratique qui est automation.turn_off
et turn_on
qui me permet d’activer ou non mon automatisation qui gère le chauffage.
En plus : Notification pour fenêtre ouverte s’il fait froid :
Voici mon automatisation en yaml
alias: Notification - Séjour - Fenêtre ouverte
description: Notification si la fenêtre reste ouverte et il fait froid.
trigger:
- platform: state
entity_id:
- binary_sensor.fenetres_salon_contact
id: fenetre
to: "on"
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id:
- binary_sensor.plus_froid_dehors
to: "on"
id: temperature
condition: []
action:
- delay:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- if:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: binary_sensor.plus_froid_dehors
state: "on"
- condition: trigger
id: fenetre
- condition: and
conditions:
- condition: trigger
id: temperature
- condition: state
entity_id: binary_sensor.fenetres_salon_contact
state: "on"
then:
- repeat:
while:
- condition: state
entity_id: binary_sensor.fenetres_salon_contact
state: "on"
sequence:
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- condition: state
entity_id: binary_sensor.fenetres_salon_contact
state: "on"
- service: notify.synochat_appart
data:
message: Il fait froid, il faut fermer la fenêtre du salon !
mode: restart
Explications
J’utilise deux déclencheurs, le changement d’état de mon capteur d’ouverture de fenêtre et mon binary_sensor
s’il fait plus froid dehors.
Dans les « Actions », j’ai un « Si - Alors » avec une boucle (repeat) qui répète les notifications vers mon application Synology Chat. Vous pouvez l’ajuster pour envoyer des messages vers une autre plateforme.
Gestion de mon sèche serviette
Pour concevoir mon automatisation, j’ai besoin :
-
D’un nouveau
schedule.
avec des plages horaires différentes car il va chauffer moins de temps que mes radiateurs du séjour. -
De nouveaux scripts pour lancer mes 4 modes différents sur le sèche serviette.
Voici mon script CONFORT sèche serviette en yaml :
alias: Chauffage - Sèche serviette - Confort
sequence:
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 20
target:
entity_id:
- climate.seche_serviette
mode: single
icon: mdi:radiator
Voici mon script ECO sèche serviette en yaml :
alias: Chauffage - Sèche serviette - Eco
sequence:
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 18
target:
entity_id:
- climate.seche_serviette
mode: single
icon: mdi:radiator
Voici mon script ABSENCE sèche serviette en yaml :
alias: Chauffage - Sèche serviette - Absence
sequence:
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 15
target:
entity_id: climate.seche_serviette_sdd_etage
mode: single
icon: mdi:radiator
Voici mon script HORS GEL sèche serviette en yaml :
alias: Chauffage - Sèche serviette - Hors gel
sequence:
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- service: climate.set_temperature
data:
temperature: 7
target:
entity_id: climate.seche_serviette
mode: single
icon: mdi:snowflake-thermometer
-
De créer deux input_boolean pour choisir les fonctionnalités Boost (soufflerie) et Dry (séchage rapide de serviette)
Aller dans « Paramètres » → « Appareils et Services » → « Entrées » → « Créer une entrée » → « Interrupteur ».
Créer un « interrupteur » (input_boolean
) pour le Boost et un pour le Dry. -
D’utiliser le service
climate.set_preset_mode
dans l’automatisation pour changer les fonctionnalités.
Dans ma situation, lespreset_mode
sont :boost
pour le Boost,drying
pour le Dry etnone
pour arrêter.
Création de l’automatisation gestion chauffage sèche serviette :
Voici mon automatisation gestion chauffage seche serviette en yaml :
alias: Chauffage - Sèche serviette - Général
description: Gestion du chauffage du sèche serviette selon une planification hebdomadaire.
trigger:
- platform: state
entity_id:
- schedule.planification_chauffage_seche_serviette
id: Planification
- platform: state
entity_id:
- person.claire
- person.simon
to: not_home
for:
hours: 0
minutes: 15
seconds: 0
id: Absence Claire ou Sim
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: schedule.planification_chauffage_seche_serviette
state: "on"
- condition: state
entity_id: person.claire
state: home
for:
hours: 0
minutes: 0
seconds: 0
- condition: trigger
id: Planification
sequence:
- service: script.chauffage_seche_serviette_confort
data: {}
- conditions:
- condition: state
entity_id: schedule.planification_chauffage_seche_serviette
state: "off"
- condition: trigger
id: Planification
sequence:
- service: script.chauffage_seche_serviette_eco
data: {}
- conditions:
- condition: trigger
id: Absence Claire ou Sim
sequence:
- service: script.chauffage_seche_serviette_eco
data: {}
mode: single
Voici mon automatisation fenetre ouverte pour seche serviette en yaml :
alias: Chauffage - Sèche serviette - Velux ouvert
description: Modifier chauffage si un velux de la Chambre Etage s'ouvre ou se ferme.
trigger:
- platform: state
entity_id:
- binary_sensor.velux_chambre_etage_contact
to: "on"
for:
hours: 0
minutes: 0
seconds: 30
id: Ouvert 30s
- platform: state
entity_id:
- binary_sensor.velux_chambre_etage_contact
to: "off"
for:
hours: 0
minutes: 0
seconds: 30
id: Fermé 30s
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: Ouvert 30s
sequence:
- service: script.chauffage_seche_serviette_hors_gel
data: {}
- service: automation.turn_off
data: {}
target:
entity_id: automation.appart_chauffage_seche_serviette_general
- conditions:
- condition: trigger
id: Fermé 30s
sequence:
- service: script.chauffage_seche_serviette_eco
data: {}
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: automation.turn_on
data: {}
target:
entity_id:
- automation.appart_chauffage_seche_serviette_general
mode: restart
Voici mon automatisation notification fenetre ouverte pour seche serviette en yaml :
alias: Notification - Sèche serviette - Velux ouvert
description: Envoyer une notification si le velux reste ouvert et s'il fait froid.
trigger:
- platform: state
entity_id:
- binary_sensor.velux_chambre_etage_contact
id: fenetre
to: "on"
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id:
- binary_sensor.plus_froid_dehors
to: "on"
id: temperature
condition: []
action:
- delay:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- if:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: binary_sensor.plus_froid_dehors
state: "on"
- condition: trigger
id: fenetre
- condition: and
conditions:
- condition: trigger
id: temperature
- condition: state
entity_id: binary_sensor.velux_chambre_etage_contact
state: "on"
then:
- repeat:
while:
- condition: state
entity_id: binary_sensor.velux_chambre_etage_contact
state: "on"
sequence:
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- condition: state
entity_id: binary_sensor.velux_chambre_etage_contact
state: "on"
- service: notify.synochat_appart
data:
message: >-
Il fait froid, il faut fermer le velux de la chambre à l'étage
!
mode: restart
Vous pouvez ensuite ajouter votre thermostat à lovelace et gérer le chauffage de votre sèche serviette.
Création de l’automatisation gestion des modes Boost et Dry :
Voici mon automatisation en yaml :
alias: Chauffage - Sèche serviette - Boost et Dry
description: ""
trigger:
- platform: state
entity_id:
- input_boolean.seche_serviette_mode_boost
id: Boost
- platform: state
entity_id:
- input_boolean.seche_serviette_mode_dry
id: Dry
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.seche_serviette_mode_boost
state: "on"
- condition: trigger
id: Boost
sequence:
- service: script.chauffage_seche_serviette_boost
data: {}
- conditions:
- condition: state
entity_id: input_boolean.seche_serviette_mode_boost
state: "off"
- condition: trigger
id: Boost
sequence:
- service: script.chauffage_seche_serviette_stop
data: {}
- conditions:
- condition: state
entity_id: input_boolean.seche_serviette_mode_dry
state: "on"
- condition: trigger
id: Dry
sequence:
- service: script.chauffage_seche_serviette_dry
data: {}
- conditions:
- condition: state
entity_id: input_boolean.seche_serviette_mode_dry
state: "off"
- condition: trigger
id: Dry
sequence:
- service: script.chauffage_seche_serviette_stop
data: {}
mode: single
Vous pouvez ensuite ajouter vos input_boolean à lovelace et lancer les fonctionnalités.
Gestion général de mon chauffage
Pour gérer l’allumage et l’extinction de mes radiateurs et de mon sèche serviette, j’utilise une autre automatisation avec un binary_sensor pour savoir si la température extérieure est supérieure à 22°C où s’il fait plus froid dehors.
Dans « Entrées » vous avez la possibilité de créer un « Capteur de seuil » en renseignant l’entité à surveiller et en ajoutant « 22 » dans « limite supérieure ».
Voici mon automatisation en yaml :
alias: Chauffage - Gestion générale
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.temperature_exterieure_superieure_22
for:
hours: 0
minutes: 0
seconds: 0
id: Temp sup 22
- platform: state
entity_id:
- binary_sensor.plus_froid_dehors
id: Plus froid dehors
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.temperature_exterieure_superieure_22
state: "on"
- condition: trigger
id: Temp sup 22
sequence:
- service: automation.turn_off
data: {}
target:
entity_id:
- automation.appart_chauffage_seche_serviette_general
- automation.appart_chauffage_sejour
- automation.appart_chauffage_seche_serviette_velux_ouvert
- automation.appart_chauffage_sejour_fenetre_ouverte
- service: script.chauffage_sejour_absence
data: {}
- service: script.chauffage_seche_serviette_absence
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.temperature_exterieure_superieure_22
state: "off"
- condition: trigger
id: Temp sup 22
sequence:
- service: script.chauffage_sejour_eco
data: {}
- service: script.chauffage_seche_serviette_eco
data: {}
- service: automation.turn_on
data: {}
target:
entity_id:
- automation.appart_chauffage_sejour
- automation.appart_chauffage_sejour_fenetre_ouverte
- automation.appart_chauffage_seche_serviette_general
- automation.appart_chauffage_seche_serviette_velux_ouvert
- conditions:
- condition: state
entity_id: binary_sensor.plus_froid_dehors
state: "on"
- condition: trigger
id: Plus froid dehors
sequence:
- service: automation.turn_on
data: {}
target:
entity_id:
- automation.appart_chauffage_sejour
- automation.appart_chauffage_sejour_fenetre_ouverte
- automation.appart_chauffage_seche_serviette_general
- automation.appart_chauffage_seche_serviette_velux_ouvert
- service: script.chauffage_sejour_eco
data: {}
- service: script.chauffage_seche_serviette_eco
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.plus_froid_dehors
state: "off"
- condition: trigger
id: Plus froid dehors
sequence:
- service: automation.turn_off
data: {}
target:
entity_id:
- automation.appart_chauffage_sejour
- automation.appart_chauffage_sejour_fenetre_ouverte
- automation.appart_chauffage_seche_serviette_general
- automation.appart_chauffage_seche_serviette_velux_ouvert
- service: script.chauffage_sejour_absence
data: {}
- service: script.chauffage_seche_serviette_eco
data: {}
mode: single
Gestion de mon chauffe eau
Pour concevoir mon automatisation, j’ai besoin :
-
D’un
input_select
pour le choisir le nombre de douches.
Dans ma situation, je vais créer2 douches
,3 douches
et4 douches
.
Aller dans « Paramètres » → « Appareils et Services » → « Entrées » → « Créer une entrée » → « Liste déroulante ».
Ajouter comme options :2 douches
,3 douches
et4 douches
. -
3 scènes qui correspondent aux 3 options ci-dessus pour paramétrer le chauffe eau.
Aller dans « Paramètres » → « Automatisations et scènes » → « Scènes » → « Ajouter un scène ».
Dans la partie « Entités » allez chercher celle qui correspond au nombre de douche de votre chauffe eau :number.
. Sélectionnez « 2 » et enregistrez le nom de cette scène comme « Chauffe eau - 2 douches ». Ensuite, créez une nouvelle scène, sélectionnez « 3 » sur lenumber.
et enregistrez comme « Chauffe eau - 3 douches ». Faites de même pour 4 douches.
Création de l’automatisation :
Voici mon automatisation en yaml :
alias: Sdd RDC - Chauffe eau - Nombre de douche
description: Modifier le nombre de douche
trigger:
- platform: state
entity_id:
- input_select.nombre_de_douches
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.nombre_de_douches
state: 2 douches
sequence:
- service: scene.turn_on
target:
entity_id: scene.chauffe_eau_2_douches
metadata: {}
- conditions:
- condition: state
entity_id: input_select.nombre_de_douches
state: 3 douches
sequence:
- service: scene.turn_on
target:
entity_id: scene.chauffe_eau_3_douches
metadata: {}
- conditions:
- condition: state
entity_id: input_select.nombre_de_douches
state: 4 douches
sequence:
- service: scene.turn_on
target:
entity_id: scene.chauffe_eau_4_douches
metadata: {}
mode: single
Vous pouvez ensuite ajouter votre input_select
à lovelace et lancer les fonctionnalités.
En plus :
Enfin, je propose de réchauffer l’eau le matin si elle n’est pas très chaude. En plus, je rajoute les conditions suivantes : « en semaine » et « présence de quelqu’un dans l’appartement ».
Pour cela, je passe mon chauffe eau à 3 douches pendant quelques minutes et ensuite je le remets à 2 douches. Il faut repérer l’entité qui surveille le nombre de douches disponibles au chauffe eau.
Voici mon automatisation en yaml :
alias: Sdd RDC - Chauffe eau - Augmenter la température le matin
description: ""
trigger:
- platform: time
at: "05:30:00"
condition:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: numeric_state
entity_id: sensor.chauffe_eau_douches_restantes
below: 2
- condition: state
entity_id: person.claire
state: home
action:
- service: input_select.select_option
data:
option: 3 douches
target:
entity_id: input_select.nombre_de_douches
- delay:
hours: 0
minutes: 30
seconds: 0
milliseconds: 0
- service: input_select.select_option
data:
option: 2 douches
target:
entity_id: input_select.nombre_de_douches
mode: single