Sensor Template ou Filter

Mon problème

Bonjour, comme évoqué dans mes 1er post, je suis en cours de migration jeedom
Là je m’attaque au sujet VMC salle de bain qui doit se déclencher selon des seuils d’humidité

Comme je suis dans une région avec un fort taux d’humidité et de fortes variations, je suis obligé de passer par des méthodes de calcul par rapport à un taux d’humidité relative entre l’extérieur et une pièce de référence et un taux d’humidité moyen sur 48h dans la Salle de bain.

Tout ça j’arrivais parfaitement à le gérer dans un scénario jeedom

J’ai pratiquement réussi à tout reproduire dans home assistant, avec l’intégration Template j’ai crée une entité humidité relative à laquelle j’ajoute +5 pour déclencher ma VMC par une automatisation

# calcul humidité relative +5 pour VMC
template:
  - sensor:
      - name: "SDB1ER-HUM-RELATIVE+5"
        unique_id : SDB1ER-HUM-RELATIVE+5
        unit_of_measurement: "%"
        state: >
          {% set extsud = states('sensor.extsud_temp_sensor_humidity') | float %}
          {% set salon = states('sensor.salon_humidity') | float %}
          {{ (((extsud + salon) / 2) + 5) |round(2) }}
          

J’ai créé une entité moyenne d’humidité sur 48H avec filter

# calcul moyenne humidité sdb-1er pour VMC
sensor:
  - platform: filter
    name: "SDB1ER-MOYENN-48H"
    unique_id : SDB1ER-MOYENN-SDB1ER-48H
    entity_id: sensor.sdb1er_hum_sensor_humidity
    filters:
      - filter: time_simple_moving_average
        window_size: "48:00"
        precision: 2

La seule chose que je n’arrive pas faire c’est ajouter +5 à l’entité filter 48H, si je crée un template avec
l’entité de filter ça ne marche pas et je n’ai pas trouvé si on pouvait le faire directement dans l’intégration filter (je n’ai pas trouvé si on pouvait le faire directement dans une automatisation)

Merci pour votre aide

Ma configuration


[center]## System Information

version core-2023.10.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 6.1.56
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 11.0
update_channel stable
supervisor_version supervisor-2023.10.0
agent_version 1.6.0
docker_version 24.0.6
disk_total 30.8 GB
disk_used 4.6 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.7.1), File editor (5.6.0), Network UPS Tools (0.12.2)
Dashboards
dashboards 1
resources 0
views 12
mode storage
Recorder
oldest_recorder_run 11 octobre 2023 à 11:44
current_recorder_run 18 octobre 2023 à 08:56
estimated_db_size 81.66 MiB
database_engine sqlite
database_version 3.41.2
[/center] ___

Je pense avoir trouvé, les indicateurs fonctionnent, je ne sais pas si c’est la bonne manière de faire mais les résultats semblent cohérents

# calcul humidité relative +5 et humidité 48H +5 pour VMC
template:
  - sensor:
      - name: "SDB1ER-HUM-RELATIVE+5"
        unique_id : SDB1ER-HUM-RELATIVE+5
        unit_of_measurement: "%"
        state: >
          {% set extsud = states('sensor.extsud_temp_sensor_humidity') | float %}
          {% set salon = states('sensor.salon_humidity') | float %}
          {{ (((extsud + salon) / 2) + 5) |round(2) }}
      
      - name: "SDB1ER-HUM-48H+5"
        unique_id : SDB1ER-HUM-48H+5
        unit_of_measurement: "%"
        state: "{{ (states('sensor.sdb1er_moyenn_48h') |float +5) |round(2) }}"
1 « J'aime »

Salut,

Sur le fond, les templates c’est la bonne méthode.
Sur la forme, ça m’étonne de devoir ajouter un + 5 systématiquement, voire
2 fois :

  • Moyenne +5 et arrondi
  • Moyenne 48h +5

Si c’est pour un déclencheur par exemple:
template + 5 >= seuil
c’est pareil que
template >= seuil -5

En fait je ne déclenche la vitesse 2 de la VMC que si je dépasse de +5 les deux seuils (ET dans l’'automatisation) (c’est une valeur empirique que je peux modifier),
j’étais arrivé à ce compromis dans mes scénarios jeedom pour éviter que la VMC tourne trop longtemps. J’habite en Normandie et les taux d’humidité varient énormément d’un jour à l’autre, donc un taux fixe ne fonctionne pas, j’ai pas mal tâtonné pour trouver ce compromis

Je ne remets pas en cause le fait d’ajouter 5 mais plutot de savoir où :
si je prends des chiffres :

  • ta moyenne brute sur 48h vaut 70%, tu ajoutes 5 (donc ça donne 75 dans le template n°2 )et tu fais une automatisation qui dit si template n°2 supérieur à 80 allume la VMC

ça fait exactement pareil que :

  • ta moyenne brute sur 48h vaut toujours 70%, mais avec une automatisation qui dit si moyenne brute supérieure à 75 (80-5) allume la VMC

Par contre, tu gagnes un template (avec le calculs, le stockage en base etc) qui n’a pas besoin d’exister

Ah ok je n’avais pas compris
Je vais regarder, quand j’aurais récupéré mon home assistant, à chaque fois que j’installe HACS il plante.

J’ouvrirais un sujet si je ne m’en sors pas

c’est corrigé et c’est effectivement plus simple que mon usine à gaz :smiley:

En tout cas merci d’avoir pris le temps de regarder ce que j’avais fait et me conseiller

1 « J'aime »

De rien c’est logique d’échanger et de partager les points de vue.
Dans le même genre d’idée, tu fais un +5 dans la moyenne

Là tu ne peux pas faire l’économie d’un sensor (il faut bien faire la moyenne à un moment donné) mais par contre ça fausse un peu la vision.

Autre précision, dans tes exemples la notion de 48h n’en n’est pas vraiment une, tu fais pas de calcul sur la durée.
Regarde du coté de filter

- platform: filter
  name: sonde_jardin_temperature_moyenne5min
  entity_id: sensor.sonde_jardin_temperature
  filters:
    - filter: time_simple_moving_average
      window_size: "00:05"
      precision: 1

Oui celui la j’ai corrigé après ta 1ère remarque

# calcul humidité relative pour VMC
template:
  - sensor:
      - name: "SDB1ER-HUM-RELATIVE"
        unique_id : SDB1ER-HUM-RELATIVE
        unit_of_measurement: "%"
        state: >
          {% set extsud = states('sensor.extsud_temp_sensor_humidity') | float %}
          {% set salon = states('sensor.salon_humidity') | float %}
          {{ (((extsud + salon) / 2)) |round(2) }}

Pour filter je vais me pencher sur la question et essayer de comprendre

1 « J'aime »

Bon dans filter je n’ai pas trouvé mais j’ai fait autrement, je vais voir d’ici demain ce que ça donne

sensor:
  - platform: statistics
    name: "SDB1ER-MOYENN-HUMID-48H"
    unique_id : SDB1ER-MOYENN-HUMID-48H
    entity_id: sensor.sdb1er_hum_sensor_humidity
    state_characteristic: average_linear
    precision: 2
    max_age:
      hours: 48          
          
1 « J'aime »

Avec une moyenne sur 5min dans le nom et une valeur à window_size à 5, tu as pas vu le truc ?
ton truc doit marcher aussi cependant

Je suis un peu à l’ouest cet après-midi, j’avais fait cette config dans filter

# calcul moyenne humidité sdb-1er pour VMC
sensor:
  - platform: filter
    name: "SDB1ER-MOYENN-48H"
    unique_id : SDB1ER-MOYENN-SDB1ER-48H
    entity_id: sensor.sdb1er_hum_sensor_humidity
    filters:
      - filter: time_simple_moving_average
        window_size: "48:00"
        precision: 2

Par rapport à ce que tu m’as envoyé, je n’ai pas vu mon erreur :neutral_face:

Je découvre Home assistant et ses subtilités, c’est un peu addictif … le produit me plait bien

Tu peux aussi jeter un oeil du coté de https://www.home-assistant.io/integrations/trend/ qui de ce que j’ai compris crée un sensor qui passe à on si la valeur que tu veux mesurer augment de x% sur une periode.
Ou l’integration derivative https://www.home-assistant.io/integrations/derivative/ qui fonctionne sur le meme principe.
Je ne les ai pas encore tester mais j’avais garder les liens sous le coude pour une future utilisation.
Un sujet qui compare un peu les 2 : https://community.home-assistant.io/t/i-still-dont-understand-how-to-use-the-trend-sensor-for-humidity/491257

Merci je vais regarder
j’étais parti dans l’idée de partir au maximum sur les intégrations et addon natifs, après ce n’est peut-être pas toujours possible.
J’avais fait une 1ère tentative il y a deux ans, je trouve que ça a considérablement évolué en terme de facilité pour faire ce qu’on veut.

trend est intégré nativement à HA