Comparer 2 températures

En intégrant toutes les réponses que vous m’avez fournies, voici le nouveau code. Il est en test, je surveille pour voir comment ça se comporte.

alias: VMC Studio
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.humidite_sdb_studio_humidity
    below: 65
    id: Sec
  - platform: numeric_state
    entity_id: sensor.humidite_sdb_studio_humidity
    id: Intérieur < Extérieur
    below: sensor.temperature_pool_house_humidity
  - platform: template
    value_template: >-
      {% if (states('sensor.humidite_sdb_studio_humidity')|float(0)) -
      (states('sensor.temperature_pool_house_humidity')|float(0)) >=10
      %}true{%endif%}
    id: Extérieur < Intérieur+10
  - platform: numeric_state
    entity_id: sensor.humidite_sdb_studio_humidity
    id: Humide
    above: 77
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Sec
              - Intérieur < Extérieur
          - condition: state
            entity_id: timer.vmc_studio
            state: idle
        sequence:
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.vmc_studio
          - delay:
              hours: 0
              minutes: 0
              seconds: 10
              milliseconds: 0
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.vmc_studio
      - conditions:
          - condition: trigger
            id:
              - Extérieur < Intérieur+10
              - Humide
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.vmc_studio
          - delay:
              hours: 0
              minutes: 0
              seconds: 10
              milliseconds: 0
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.vmc_studio
          - if:
              - condition: trigger
                id:
                  - Humide
            then:
              - service: timer.start
                data: {}
                target:
                  entity_id: timer.vmc_studio
mode: single

Merci beaucoup pour votre aide.

ca m’a l’air pas mal et je vois que tu apprends très vite .
Juste un truc qui doit fonctionner à essayer:
remplace :

  - platform: template
    value_template: >-
      {% if (states('sensor.humidite_sdb_studio_humidity')|float(0)) -
      (states('sensor.temperature_pool_house_humidity')|float(0)) >=10
      %}true{%endif%}
    id: Extérieur < Intérieur+10

par ca :

  - platform: template
    value_template: >-
      {{(states('sensor.humidite_sdb_studio_humidity')|float(0)) -
      (states('sensor.temperature_pool_house_humidity')|float(0)) >=10}}
    id: Extérieur < Intérieur+10

Ca doit le faire également sans surcharger le code.

OK j’essaye, en effet c’est plus élégant :slightly_smiling_face:

L’automation fonctionne bien à l’exception d’une condition qui apparait toujours non remplie alors qu’elle l’est. J’ai cherché de tous les côtés et je ne comprends pas.

Ce déclencheur ne s’active pas.

Je décoche volontairement « Sec » pour le test car je ne suis pas sûr à 100% que le système fasse un ‹ OR ›.

platform: numeric_state
entity_id: sensor.humidite_sdb_studio_humidity
below: sensor.temperature_pool_house_humidity
id: Intérieur < Extérieur

image
image
image
image
image

J’ai retourné ça dans tous les sens, j’ai essayé de redémarrer HA, je ne comprends pas !

Pourquoi ne pas essayer avec ca?

- platform: template
    value_template: >-
      {{(states('sensor.temperature_pool_house_humidity')|float(0)) -
      (states('sensor.humidite_sdb_studio_humidity')|float(0))>0}}
    id: Intérieur < Extérieur

J’y ai pensé, malheureusement ça donne la même résultat, le test échoue alors qu’il devrait réussir. Dans le concret c’est encore plus déroutant, parfois ça se déclenche, parfois non, et je n’arrive pas à comprendre pourquoi. Quand ça se déclenche c’est un peu n’importe quand, pas au moment exact où une nouvelle mesure d’humidité fait passer le seuil. Aujourd’hui ça aurait dû se déclencher il y a 8h, et rien…

Je n’avais pas remarqué que tu avais inversé les termes de la comparaison… J’essaie…

Mais le test échoue toujours. On va voir à l’usage.

J’ai d’autres tests qui passent bien dans HA, je ne comprends pas ce qui cloche avec ceux-là.

Bonjour,
je me permet de répondre ici, j’ai copié l’automatisation ci dessus pour l’adapter pour ma VMC.

J’ai crée plusieurs boutons : Mode Normal / Mode été / Mode Mi saison

Et je souhaitais créé une automatisation pour ouvrir le bypass automatiquement, lorsque

  • Mi saison → ouverture du Bypass lorsque la température EXT > INT
  • Ete → ouverture du bypass lorsque la température EXT< INT

Je fais un truc simple au depart pour que cela fonctionne, mais je reçois sans arrêt le même message :

« Bypass mode en mi saison. Text supérieur a Tint »

, et ce meme en inversant les signes >et < lorsque j’ai déclaré dans le trigger.

alias: test
description: ""
trigger:
  - platform: template
    value_template: >-
      {{(states('sensor.comfoairq_outside_temperature_2')|float(0)) - (states('sensor.comfoairq_exhaust_temperature_2')|float(0)) >0.5}}
    id: Text superieur Tint
  - platform: template
    value_template: >-
      {{(states('sensor.comfoairq_outside_temperature_2')|float(0)) - (states('sensor.comfoairq_exhaust_temperature_2')|float(0)) <0.5}}
    id: Text inferieur Tint
  - platform: state
    entity_id:
      - input_select.bypass_mode
    to: mi-on
    id: Bypass ACTIF mi saison
  - platform: state
    entity_id:
      - input_select.bypass_mode
    to: ete-on
    id: Bypass ACTIF été
  - platform: state
    entity_id:
      - input_select.bypass_mode
    to: normal-off
    id: Bypass INACTIF
  - platform: state
    entity_id:
      - sensor.comfoairq_bypass_state_2
    to: "0"
    id: Etat Bypass 0
  - platform: state
    entity_id:
      - sensor.comfoairq_bypass_state_2
    id: Etat Bypass 100
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Bypass ACTIF mi saison
              - Text superieur Tint
        sequence:
          - service: notify.mobile_app_pixel_7
            data:
              message: Bypass mode en mi saison. Text superieur Tint
      - conditions:
          - condition: trigger
            id:
              - Bypass ACTIF mi saison
              - Text inferieur Tint
        sequence:
          - service: notify.mobile_app_pixel_7
            data:
              message: Bypass mode en mi saison. Text inferieur Tint


mode: single