Déclencheur selon l'état de plusieurs sensors

Bonjour à tous,

J’ai 3 détecteurs de présence Aqara à la maison et je souhaitais faire une automatisation simple qui m’enverrais une notif lorsque l’état de ces 3 sensors sont sur « Non Detecté » pendant plus de 30 secondes

Je pensais faire ceci comme trigger mais est-ce que cela fonctionnera uniquement si les 3 remplissent la condition ou bien un des 3 ? (je n’ai pas pu encore tester)

platform: state
entity_id:
  - binary_sensor.presence_sensor_fp2_chambre_presence_sensor
  - binary_sensor.presence_sensor_fp2_cuisine_presence_sensor
  - binary_sensor.presence_sensor_fp2_sdb_presence_sensor_1
to: "off"
for:
  hours: 0
  minutes: 0
  seconds: 30

Merci pour votre aide

Salut,

Tu peux créer un group avec tes 3 binary_sensor et tu utiliseras l’état de cette entité group dans ton automatisation.

C’est ce à quoi je pensais en premier mais pourrais tu m’aiguiller sur comment faire stp car je n’ai aucune idée ?

Tu vas dans paramètres (menu de gauche)
Dans Appareils et services
Onglet entrées
Bouton en bas à droite « + CREER UNE ENTREE »
Tu choisis « Groupe »
Tu sélectionnes « Groupe de capteurs binaires »

La doc pour les groupes

Note que tu peux (encore) le faire en YAML aussi

Effectivement, je viens de trouver après quelques recherche comment faire!

Merci à toi pour le lien je vais tester de mettre mon trigger via ce switch du coup!

Le groupe va fonctionner de la manière suivante:

  • Il sera « on » dès qu’au moins un des capteurs est « on »
  • il sera « off » lorsque tous les capteurs sont « off »

Donc si tu trigges sur le passage à « off » tu auras bien le fonctionnement que tu désires.

Voici mon groupe :

Et du coup mon automatisation, je pense que ça devrait fonctionner

platform: state
entity_id:
  - binary_sensor.all_detecteurs_presence
to: "on"
for:
  hours: 0
  minutes: 0
  seconds: 10
id: alldetectors
alias: SI NO PRESENCE 30SEC = NOTIF
if:
  - condition: trigger
    id:
      - alldetectors
  - condition: and
    conditions:
      - condition: or
        conditions:
          - condition: zone
            entity_id: device_tracker.iphone_15_pro_max
            zone: zone.home
          - condition: zone
            entity_id: device_tracker.iphone_damandine
            zone: zone.home
    alias: CHECK IF SOMEONE AT HOME
then:
  - service: notify.mobile_app_iphone_15_pro_max
    data:
      message: ❗ Aucune Détection ❗

Quel est le fonctionnement désiré ?

Ca change le mode du groupe et le trigger…

Si tu cherches à trigger lorsqu’aucun détecteur ne détecte, tu ne fait pas comme il faut en particulier concernant l’option « toutes les entités »:
C’est bien indiqué là:
image

l’option « toutes les entités » gère le passage à « ON » du groupe:

  • si « toutes les entités » est activé (ce que tu semble avoir fait)

    • le groupe passe à « on » quand toutes ses entités (donc tous les capteurs) sont à « ON »
    • donc le groupe passe à « off » dès qu’un seul capteur de détecte plus
  • si « toutes les entités » est désactivé (ce qu’il me semble que tu devrais faire…)

    • le groupe passe à « on » dès qu’une seule ses entités (donc un seul capteurs) est à « ON »
    • donc le groupe passe à « off » lorsque tous les capteurs de détectent plus

Ensuite:

  • si tu cherches à envoyer une notif pour l’absence de detection, il faut trigger sur le passage du groupe à « OFF » (tu as triggé sur « ON ») => off indique qu’aucun capteur ne détecte (si l’option « toutes les entités » est décoché).
  • si tu cherches à envoyer une notif pour une detection, il faut trigger sur le passage à « ON » => on indique qu’au moins un capteur a détecté (si l’option « toutes les entités » est décoché).

Alors je cherche effectivement à ce que le groupe s’active :

  • Uniquement lorsque tous les capteurs mentionnés ci-dessus sont en non détectés

Je ne souhaite pas que le groupe s’active si par exemple un seul des détecteurs passe à « Non détecté », il faut que ce soit TOUS

Que faut-il que je change ?

Sinon, sans faire de groupe ni autre, simplement en utilisant la console de ton automatisation, il suffit de mettre tes 3 entités en trigger (n’importe laquelle declenchera l’auto), et donc de les mettre aussi dans conditions sur l’état voulu.
Terminé.

Effectivement je pense avoir fait l’inverse

Du coup j’ai modifié mon groupe en décochant l’option « Toutes les entités »

Et j’ai ensuite changé mon trigger pour le passer en « Désactivé » au lieu de « Activé » !