Overkiz - Cozytouch - Thermor : Gestion chauffage

Mise à jour le 06/01/2023

:zero: Introduction :zero:

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.

:arrow_right: 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 !

:one: Pré-requis :one:

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 :

  • :white_check_mark: 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).
  • :white_check_mark: Utiliser des device_tracker. pour modifier cette planification en fonction de nos allers-retours.
  • :white_check_mark: Utiliser des sensor. pour détecter les fenêtres ouvertes.
  • :white_check_mark: Choisir le nombre de douches disponibles et avoir de l’eau bien chaude le matin.
  • :white_check_mark: Gérer le mode boost de mon sèche serviette depuis HA.

:two: Gestion de mes radiateurs :two:
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 à un group. 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’utilise bluetooth_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 avec bluetooth_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.

Exemple UI Lovelace Minimalist :

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.

:three: Gestion de mon sèche serviette :three:
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, les preset_mode sont : boost pour le Boost, drying pour le Dry et none 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.

Exemple UI Lovelace Minimalist :

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.

:four: Gestion général de mon chauffage :four:
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

:five: Gestion de mon chauffe eau :five:
Pour concevoir mon automatisation, j’ai besoin :

  • D’un input_select pour le choisir le nombre de douches.
    Dans ma situation, je vais créer 2 douches, 3 douches et 4 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 et 4 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 le number. 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.

Exemple UI Lovelace Minimalist :

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

9 « J'aime »

Hello

Joile travail !! :ok_hand:

Merci pour ce superbe tuto.
Comment est utilisé le boost sur le sèche serviette ? Via l’écran tactile du sèche serviette ou uniquement le via HOme Assistant ? Il n’est pas désactivé sur l’écran tactile quand cozytouch a la main ?

Si quelqu’un prend une douche dans les horaires eco, donc a 18,5, le boost ne chauffera pas beaucoup car limité a 18,5 + 2 degrés. Et la Claire va râler. Est ce un sujet pour toi ?

@ClassicRed merci !

@Argonaute merci aussi ! Pour le sèche serviette, il a y deux systèmes différents.
Mes scripts confort (21°), éco (18,5°) et hors gel (7°) gèrent le chauffage du sèche serviette pour ajuster la température ambiante.

Au moment d’une douche il est possible d’activer le mode « boost » qui lance la soufflerie (la température dans la salle de bain peut monter rapidement vers les 28°.
Je l’active soit par la commande sur le sèche serviette (bouton boost) soit par HA avec ma carte Lovelace. Cozytouch ne prend pas la main, il va suivre l’état donné par HA.

Concernant le 18.5° + 2° je n’ai pas compris… Si c’est au moment où le sèche serviette est en éco, la soufflerie prend le dessus et chauffe la salle de bain.

Par contre, point négatif : overkiz ne prend pas en compte la minuterie du mode boost de la soufflerie. Quand je l’active, il passe directement sur la dernière minuterie réglée, exemple : la dernière fois j’ai mis 20min de boost, du coup la prochaine fois, si je l’active par HA, il va se mettre automatiquement à 20min.

1 « J'aime »

Je comprend pas en mode Basic j’ai accès a toutes les fonctionnalités de mon coté,… Conso, prog cozy touch, détecteur de fenêtre( qui ne marchent que par -5°c).

Pour les Absence et vu que je suis très tête en l’air, j’utilise un notification qui me propose deux actions :
Maison vide: Absence Courte ou Absence longue(+24h)

  • L’absence courte reprend le programme sur le prochain créneau de changement, et baisse la température à 16°c( a voir a quel vitesse se réchauffe votre maison)
    -L’absence longue met tout en mode Eco voir meme plus bas 15°c (à voir en fonction de l’humidité, vmc/extracteur etc)) et Coupe le chauffe eau jusqu’à nouvelle ordre

Pour le chauffe eau je trouvera ca sympa d’avoir une card d’incrémentation pour les douches ca prendrais moins de place sur l’interface je pense que ca doit exister. (d(ailleur tout devrait tenir dans une seul card avec le nombre de douche restante)
Dans mon cas mon sensor « nombre de douche » ne fonctionne pas bien (chez Ariston) donc j’ai fais un script qui se met en queue jusqu’à 4 x 20min.
Heure creuse : Par contre je programme la chauffe du chauffe eau (comme pour l’utiliser en heure creuse) et donc il se peut qu’il soit vide, donc pareil je me suis fait une notification avec une action pour forcer la chauffe.

Ah oui, tu as raison ! Je n’avais plus de remonté d’infos le premier jour où j’ai mis en mode basic, mais maintenant j’ai tout qui remonte !

Intéressant ! C’est vrai que je n’ai pas différencié absence courte et longue.
Pour le chauffe eau, j’ai moins de possibilités avec UI Lovelace Minimalist, il faudrait que je regarde dans les custum card pour savoir s’il y a quelque chose de simple à mettre en place…
Mon chauffe eau n’est pas très bien pris en charge avec Overkiz. Le mode Away, qui pourrait être très pratique pour cela, ne peut être activé et pourtant j’ai l’info dans mon entité.

Bonjour,
Merci je débute en domotique. Votre post m’intéresse beaucoup car j’ai des radiateurs Thermor et ma pac Atlantic sur un bridge cozytouch. Je vais le garder en mémoire pour quand je serai à cette partie la ! :slight_smile:

Bonsoir,
Petit question, j’ai bien installé l’intégration Overdkiz et HA voit bien mes 5 radiateurs qui sont tous du même modèle donc comment je sais lequel et lequel pour que je puisse leur attribuer la bonne pièce?
J’ai les numéro de série des radiateurs, mais je vois pas ou on peut les trouver sur HA!

Merciiiiii !!!

Hello

Essai avec la fonction marche - Arrêt , et regarde laquelle s’allume ou s’éteint

Bonjour !
La solution de @ClassicRed est possible, sinon il y a une fonction particulièrement adaptée.
Dans un de tes radiateurs, dans la partie « Diagnostic », tu dois avoir une entité « Identify » ou « Identification », tu cliques sur « Appuyer ».
Clipboard 1
Ensuite, sur le radiateur, tu vas voir apparaitre un message :

1 « J'aime »

Bonjour,
Merci de vos retours ! Oui j’avais essayé le on off sans succès. Je ne voyais pas de mise à jour.
Je vais essayer l’autre solution mais les radiateurs sont à l’autre bout de la maison je vais devoir courir :wink:

j’ai appelé le service technique de thermor car j’ai un msg d’erreur de mise à jour sur l’appli. et ils ne savaient même pas qu’on pouvait utiliser Overkiz. Pour eux c’était leur outil de travail…

Tu peux te balader avec ton PC portable ou utiliser un smartphone pour faire la manip

oui merci bonne idée, les radiateurs sont dans mes gîtes donc il faut que j’attende la fin de séjour de mes locataires. A distance ça aurait été plus simple.
Sur ma page j’ai 167 entités rien que pour mes radiateurs. Lesquelles sont utiles notamment pour voir si le chauffage est allumé ou éteint? merciii !

@Hankey71 Merci pour tes explications.

J’ai mis en place un bridge Cozytouch sur une installation ou il y a une box Rexel Energesy qu’il est impossible de connecter avec Overkiz…

Il y a des choses qui remontent mais au niveau des radiateurs les modes ne semblent pas fonctionner. On peu juste ajuster la consigne…

Tu confirmes ?

Salut @mycanaletto !
En effet, tout ne remonte pas et quand il y a des infos, ce ne sont pas forcément les bonnes.
Tout dépend du modèle de tes radiateurs. D’ailleurs, je suis enfin passé à l’intégration HA et j’ai laissé tombé celle de HACS.
Pour mes radiateurs, j’ai la chance qu’ils soient plutôt bien pris en charge.
Je peux changer :

  • le type d’opération (HVAC_Mode) avec « Off », « auto » et « heat ».
  • le type de mode (Preset_mode) avec « eco », « comfort », « frost protection », etc…
  • la température

Dans mes automatisations de chauffage, je suis essentiellement passé par des changements de température avec le service « climate.set_temperature ».
J’avais l’impression que les modes et les opérations étaient plus longs à répondre sur les radiateurs et qu’ils perturbaient le cozytouch… Mais je ne suis pas sûr…
Autre exemple, mon sèche serviette remonte des infos inutiles (luminosité alors qu’il n’y a pas de capteur de luminosité sur ce modèle, la météo du jour mais les données sont représentées en °C du coup on ne comprend rien…).

Je pense qu’en indiquant ton identifiant de matériel dans « Appareil » dans une issue sur le Github de Overkiz, tu pourrais avoir des retours rapidement.

1 « J'aime »

J’ai installé une Tahoma Switch pour voir.

Connection a Overkiz ok. Pour l’instant rien d’assicié et contrairement à la Cozy rien ne remonte tt seul.

Par contre Overkiz donne le code Homekit qui permet de configurer Homekit de facon à l’avoir en local dans HA.

A suivre

Curiosité : Pour activer la Tahoma en Homekit sous Home Assistant, il faut d’abord l’associer avec un iPhone avec Home, puis la supprimer de l’iPhone et à partir de ce moment la Home Assistant va la voir… (mais il n’y a pas grand chose qui remonte…)

Bonsoir @Hankey71,
Je m’adresse à toi car tu as expliqué avoir un « ballon » Thermor.
J’ai également un Malicio 3 reconnu correctement.
Sur l’appli Thermor je peux paramétrer de 1 à 5 douches
Sur Overkiz, même si en apparence on peut faire varier de 1 à 5, dès que tu varies et que tu tentes de remonter à 5, cela reste bloqué sur 4.
Capture

Le bug est connu, le dev a répondu ici

Il faudrait modifier ce fichier dans core/homeassistant/components/overkiz/number.py
Capture1
Le problème c’est comment aller éditer ce fichier sans devoir attendre une mise à jour
Sur mon Rasp4, je n’ai pas accès à ce chemin et je ne sais pas comment aller le chercher.
Par ailleurs le « switch to Eco mode » me renvoie une erreur…
Je te remercie

Merci pour les retours sur le malicio, perso je n’utilse pour l’instant HA avec malicio2 uniquement pour la remontée d’info.
je suis en tarif tempo (tarif bleu blanc et rouge) , J’aimerais bien pouvoir mettre mon malicio en mode AWAY en fonction des HP et HC?
Au début j’avais mis un gros sonoff pour éteindre et allumer le malicio en fonction des tarifs.
Par sécurité, j’ai appelé le SAV THERMOR et ils m’ont indiqué que d’éteindre mon cumulus n’était pas bon pour la carte électronique.
Si vous avez des remarques ou idées je suis preneur, j’avance douccement sur HA
merci