Home Assistant & Hygrostat

Longtemps j'ai utilisé l'intégration custom Hygrostat pour forcer la VMC lorsque quelqu'un prend une douche. C'est un détournement en ce sens qu'un hygrostat est plutôt fait pour fonctionner de façon contestante, comme par exemple dans une cave à vin. 

La dernière version de Home Assistant (2021-08) apporte dans son lot de nouveautés un hygrostat intégré. J'ai donc naturellement voulut l'utiliser. Mais celui ci, bien que plous évolué, ne me semble pas fait pour travailler sur un écart rapide d'humidité. Hors le niveau d'humidité dans une maison varie en fonction des saisons et de la la météo. Donc, à moins de l'ajuster manuellement tous les jours, si je règle la consigne sur une valeur arbitraire, le résultat sera aléatoire.

Mon idée, il y a surement d'autres façons de faire, est de calculer la moyenne de la valeur humidité sur les 8 heures passées et d'ajuster dynamiquement la consigne de mon hygrostat toutes les heures (ces deux valeurs restent à affiner).

Mise en œuvre

On commence par déclarer l'intégration dans le fichier de configuration (attention à bien supprimer le custom hygrostat si vous l'utilisiez avant car il a le même nom) :

generic_hygrostat:
  - name: "Hygrostat : SdB"
    humidifier: switch.ipx800_7_vmc
    target_sensor: sensor.rpi_mi_h_sdb
    min_humidity: 20
    max_humidity: 80
    target_humidity: 67
    dry_tolerance: 3
    wet_tolerance: 0
    device_class: "dehumidifier"
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_state: true
    away_humidity: 35
    away_fixed: True
    sensor_stale_duration: 00:15:00

Pour les détails de sa configuration ça se passe ici.

Je ne me suis pas vraiment intéressé aux autres valeurs possibles, mais dans notre cas on veut déshumidifier, donc attention du device class...

Ensuite je vais utiliser l'intégration Statistics afin de calculer la moyenne du taux d'humidité de la salle de bain durant les 8 dernières heures :

    - platform: statistics
      name: 'Humidité Salle de Bain (moyenne)'
      entity_id: sensor.rpi_mi_h_sdb
      sampling_size: 700     
      max_age:
        hours: 8

Et pour terminer je vais créer une petite automation qui va ajuster la consigne en fonction de cette moyenne en ajoutant + 10 :de façon à ce que la VMC se mette en route si l'humidité monte lors d'une douche :

- alias: '000 : Set Hygrostat'
  trigger:
  - platform: time_pattern
    hours: '1'
  action:
  - service: humidifier.set_humidity
    target:
      entity_id: humidifier.hygrostat_sdb
    data_template:
      humidity: "{{ states('sensor.humidite_salle_de_bain_moyenne') | float + 10 }}"

Il ne reste plus qu'à tester... Et surement à affiner les valeurs.

Alternatives

L'objectif étant de forcer la VMC lors d'une douche il y a d'autres alternatives à explorer :

  • Détecter si quelqu'un prend une douche : ça pourrait se faire en détectant le débit de l'eau... un peu compliqué ! Ou encore avec un détecteur de présence dans la cabine de douche. A creuser.
  • Par un scénario : en hiver quand je dis à Alexa que j'ai l'intention d'aller me doucher, elle lance un script qui va lancer une play list sur Sonos et un radiateur soufflant, ensuite elle me dit (c'est bien la seule à répondre à touys mes souhaits !) quand la température est idéale pour me doucher. Je pourrait inclure la VMC.

Enjoy !

PS : idées et corrections bienvenues...

 

Commentaires (8) -

  • Ce que je trouve finalement étonnant, c'est que lors d'une douche ton capteur ne s'affole pas.

    Dans mes 2 Sdb, si je prend une douche, l'humidité ambiante dépasse le 90%, du coup aucun doute.

    Pour ma part, je ne gère que le mode boost de la VMC, elle tourne en permanence et si on dépasse les 80% ET que l'humidité extérieur n'est pas au dessus, je lance le boost.
    • Bien sur que ça monte, mais différemment selon les saisons. D'où le calcul de la moyenne faute de pouvoir déclenche sur un écart.
  • Peut être avec un capteur de température sur le tuyau de la douche? :)
    • Oui, j'y ait pensé, un esp avec une sonde type DS18xx, mais encore un truc à alimenter...
  • Sur Domoticz le script pour la VMC fonctionnait super bien, je m en suis servi des années...
    Etant une quiche en dev je ne me sens pas de le porter sur HA, c' est dommage c' est le seul truc qui me manque de Domoticz.
  • Comme uen quiche je viens de voir que le custum hydrostat dont tu parles c' est celui de Domoticz... il est nickel celui la non ?
  • Hello,
    Je viens aussi de domoticz, et je coince sur le sujet, mais pas pour gérer la ventilation :)
    Sur dz, toutes les 5 minutes, je compare la valeur de l'humidité actuelle à celle d'il y a 5min.
    Si augmentation (hact - hpass >5) j'incremente un compteur global de douches.
    Si à la prochaine plage d'heures creuses le compteur est supérieur à 0, j'active le seche serviettes pendant 30 min et je raz le compteur. Donc pas de serviette humide le soir :)
    J'ai la sensation que le capteur "dérivée" de mon capteur permettrait de "voir" ces pics et de gérer la situation, sans accéder à l'historique,  quelle que soit d'humidité extérieure actuelle (comme mon delta sous dz, l'acces à l'histoire en plus).
    La où je coince, c'est  comment le faire dans ha sans declencher en permanence, pas louper le pic,...  mais peut etre que je me fais des des noeuds au cerveau et que c'est simple !
    Des réalisations ?
    Merci!

  • Bonjour Lionel,
    Bravo pour tes sujets dont je m'inspire souvent !.
    Petite amélioration que tu pourrais apporter en ajoutant simplement un unique_id à ton generic_hygrostat.
    Chez moi j'ai pour pour ma douche une VMC dédiée:

    generic_hygrostat:
    # https://canaletto.fr/post/home-assistant-and-hygrostat
      - name: "Hygrostat : Douche"
        unique_id: "hydrostat.douche001" #c'est ça qui fait la dif!
        humidifier: switch.sonoff_10001ac02a
        target_sensor: sensor.ble_humidity_temperature_douche_1er
        min_humidity: 20
        max_humidity: 95
        target_humidity: 70
        dry_tolerance: 3
        wet_tolerance: 0
        device_class: "dehumidifier"
        min_cycle_duration:
          seconds: 5
        keep_alive:
          minutes: 3
        initial_state: true
        away_humidity: 35
        away_fixed: True
        sensor_stale_duration: 00:15:00

    et ensuite quand tu vas chercher
    Paramètre>Appareils et services>Entités ===> Hygrostat:Douche,
    tu as une jolie carte qui te permet de modifier en live ta valeur cible d'hygrométrie.
    Du coup, je n'utilise pas ta moyennisation de l'hygrométrie de la douche que tu as développée.

    Tu peux bien sûr rajouter cette carte à tes tableaux de bord qui complète parfaitement une carte custom:versatile-thermostat-ui-card

    type: horizontal-stack
    cards:
      - type: custom:versatile-thermostat-ui-card
        entity: climate.chauffage_douche_1er
        set_current_as_main: true
        name: Douche 1er
        disable_name: false
        disable_cool: true
      - type: humidifier
        entity: humidifier.hygrostat_douche
        features:
          - type: humidifier-toggle
        show_current_as_primary: true

    A noter que cette carte s'appelle humidifier même pour un "dehumidifier"

    Merci encore pour tes posts, je vais voir celui sur le clavier linkind de ce click !
    https://www.canaletto.fr/post/home-assistant-and-keypad



Ajouter un commentaire

Loading