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.

1 « J'aime »

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é).
1 « J'aime »

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é.

1 « J'aime »

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é » !

1 « J'aime »