Automatisation avec une condition OU

Bonjour.

J’ai une VMC avec un interrupteur marche forcée que j’ai domotisé avec un Shelly 1.

J’ai un capteur T°/Humidité Xiaomi dans nos 2 salles de bain.

Je voudrais que quand l’humidité dépasse 65% (pour l’instant, à affiner) dans une des 2 pièces, le Shelly soit activé pour passer en marche forcée.

J’ai donc générer ce code via l’interface graphique :

alias: Force VMC
description: VMC grande vitesse si Hum > 65%
trigger:
  - type: humidity
    platform: device
    device_id: eb258853d787f0f276404625128dcde0
    entity_id: sensor.ble_humidity_capteur_th_a4_c1_38_d7_11_ed
    domain: sensor
    below: 100
  - type: humidity
    platform: device
    device_id: a0f3f09ad0220fd5787cfb7c2d5a6af7
    entity_id: sensor.ble_humidity_capteur_th_a4_c1_38_53_1b_51
    domain: sensor
    below: 100
condition: []
action:
  - if:
      - type: is_humidity
        condition: device
        device_id: a0f3f09ad0220fd5787cfb7c2d5a6af7
        entity_id: sensor.ble_humidity_capteur_th_a4_c1_38_53_1b_51
        domain: sensor
        above: 65
      - condition: or
        conditions:
          - type: is_humidity
            condition: device
            device_id: eb258853d787f0f276404625128dcde0
            entity_id: sensor.ble_humidity_capteur_th_a4_c1_38_d7_11_ed
            domain: sensor
            above: 65
    then:
      - type: turn_on
        device_id: 5471efe89e57708d7ee1bcabf6c0b168
        entity_id: switch.shelly1_98f4abd0c750
        domain: switch
    else:
      - type: turn_off
        device_id: 5471efe89e57708d7ee1bcabf6c0b168
        entity_id: switch.shelly1_98f4abd0c750
        domain: switch
mode: single

Mais quand je lance l’automatisation, il entre dans la branche Else et coupe le Shelly :

Executed: May 18, 2023 at 10:45:25
Result:
choice: else
if
Executed: May 18, 2023 at 10:45:25
Result:
result: false
if/condition/0
Iteration 1
Executed: May 18, 2023 at 10:45:25
Result:
result: false
if/condition/0
Iteration 2
Executed: May 18, 2023 at 10:45:25
Result:
result: false
if/condition/0/entity_id/0
Executed: May 18, 2023 at 10:45:25
Result:
result: false
state: 60
wanted_state_above: 65

Pourtant une des salles de bain est bien au dessus de 65 :

https://imgur.com/bBT7AQZ

Et je n’ai qu’une seule trace de mon automatisation, celle que j’ai forcé l’exécution, alors que les valeurs changent et donc HA devrait déclencher l’automatisation.

Merci de votre aide

Salut, tu peux essayer en créant un groupe de sensor avec le type maximum pour déclencher ton automatisation

1 « J'aime »

J’ai donc créé un sensor humidite_sdb qui est le maximum de l’humidité des 2 capteurs.

Et j’ai modifé mon automatisation comme suit :

alias: Marche forcee VMC
description: VMC grande vitesse si Hum > 65%
trigger:
  - platform: state
    entity_id:
      - sensor.humidite_sdb
action:
  - if:
      - condition: template
        value_template: "{{ states(\"sensor.humidite_sdb\")|int(0) > 65 }}"
    then:
      - type: turn_on
        device_id: 5471efe89e57708d7ee1bcabf6c0b168
        entity_id: switch.shelly1_98f4abd0c750
        domain: switch
    else:
      - type: turn_off
        device_id: 5471efe89e57708d7ee1bcabf6c0b168
        entity_id: switch.shelly1_98f4abd0c750
        domain: switch
mode: single

Je sors de la douche, l’humidité max est bien passée au dessus de la barre des 65% et l’automatisation est bien déclenchée et la marche forcée activée.

Bon, le truc c’est que l’automatisation est déclenchée à chaque changement de % mais je vois pas comment faire un truc qui se déclencherais moins souvent et qui permettrait en même temps d’arrêter la marche forcée.

Il faut voir le trigger !
un exemple un peu plus compliqué chez moi, avec 2 sondes et une vérification du status !
Qui enclenche le déshumidificateur et sèche serviette si besoin ( chauffage)

automation SdB


le Yaml

alias: Humidité Salle de Bain
description: Humidité SdB entre 68 et 64 %
trigger:
  - platform: numeric_state
    entity_id: sensor.thgn122_123_thgn132_thgr122_228_238_268_32_01_humidity
    for:
      hours: 0
      minutes: 0
      seconds: 1
    above: 67.9
    id: hygro>68
  - platform: numeric_state
    entity_id: sensor.thgn122_123_thgn132_thgr122_228_238_268_32_01_humidity
    for:
      hours: 0
      minutes: 0
      seconds: 1
    below: 64.5
    id: hygro<64
  - platform: numeric_state
    entity_id: sensor.oregon_12801hygrometry
    above: 67.9
    id: hygro1>68
    for:
      hours: 0
      minutes: 0
      seconds: 1
  - platform: numeric_state
    entity_id: sensor.oregon_12801hygrometry
    below: 64.5
    id: hygro1<64
    for:
      hours: 0
      minutes: 0
      seconds: 1
  - platform: state
    entity_id:
      - sensor.thgn122_123_thgn132_thgr122_228_238_268_32_01_humidity_status
    attribute: assumed_state
    from: comfort
    to: wet
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: wet
  - platform: state
    entity_id:
      - sensor.thgn122_123_thgn132_thgr122_228_238_268_32_01_humidity_status
    attribute: assumed_state
    from: wet
    to: comfort
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: comfort
condition: []
action:
  - choose:
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id: hygro>68
              - condition: trigger
                id: hygro1>68
              - condition: trigger
                id: wet
        sequence:
          - type: turn_on
            device_id: 885e6ab527e72840d6e835cf211f719f
            entity_id: switch.shellyswitch25_c45bbe792269_channel_1
            domain: switch
          - type: turn_on
            device_id: 885e6ab527e72840d6e835cf211f719f
            entity_id: switch.shellyswitch25_c45bbe792269_channel_2
            domain: switch
          - service: notify.mobile_app_m2012k11ag
            data:
              message: >-
                {{ states ("sensor.time") }} Humidité salle de bain {{ states
                ("sensor.oregon_12801hygrometry") }}
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id: hygro<64
              - condition: trigger
                id: hygro1<64
              - condition: trigger
                id: comfort
        sequence:
          - type: turn_off
            device_id: 885e6ab527e72840d6e835cf211f719f
            entity_id: switch.shellyswitch25_c45bbe792269_channel_1
            domain: switch
          - service: notify.mobile_app_m2012k11ag
            data:
              message: >-
                {{ states ("sensor.time") }} Humidité salle de bain {{ states
                ("sensor.oregon_12801hygrometry") }}
mode: restart
1 « J'aime »

Merci, @Doubledom, j’ai fait un mix des vos 2 solutions avec le sensor et je pense que je tiens la solution parfaite :wink: