Gestion de présence à partir du mouvement

Bonjour,

Je vous présente ma gestion de la présence à partir de capteurs de mouvement. Je ne rentre pas dans les détails de l’implémentation, car c’est déjà assez long et c’est une présentation, pas un tutoriel :smiley: .

Commencement
J’ai débuté la domotique par la gestion de l’éclairage. Je voulais un système qui gère toutes les lumières de façon automatique. L’idée était de n’avoir rien à faire, surtout pour les invités. Je me suis vite rendu compte que la gestion de la présence est indispensable en domotique.

En regardant en long et en large sur le net, je constate qu’il existe énormément de contenu qui traite le sujet de la gestion de présence à partir du Wi-Fi des smartphones, de modules NUT, de géolocalisation, etc… Personnellement, j’estime que le logement n’est pas vraiment autonome dans la gestion de la présence des occupants car trop dépendant de technologie externe sans même parler de la fiabilité. Il faut équiper « technologiquement » toutes les personnes susceptibles d’être présentes à son domicile (prêt d’un NUT ou appairage en Wi-Fi/Blutooth de leurs smartphones avec la box). Je trouve cela contraignant pour tout le monde. De plus, je n’aime pas trop le pistage, les membres de la famille et les amis encore moins. J’imagine mal demander à mes proches: « passez-moi vos téléphones si vous voulez avoir du chauffage les prochains jours ou mettez ce bracelet si voulez avoir de la lumière dans les pièces où vous êtes »

Les spots publicitaires me font doucement rire aussi : « La lumière s’éteint lorsque vous quitter votre domicile ». Oh, c’est beau ! En regardant de plus près, le principe est toujours basé sur le smartphone et la lumière s’éteint souvent après une minuterie de 20 minutes lorsque le smartphone est parti. Mouais, je ne suis pas convaincu.

Aussi, j’ai besoin de gérer la présence de façon fine, pièce par pièce pour les lumières : donc la géolocalisation GPS et le Wi-Fi ne sont pas du tout adaptés. Je ne vais pas allumer toutes les pièces en même temps ! J’avais en tête de gérer la présence « à l’ancienne » principalement à base de capteurs de mouvement. Mais je n’ai jamais vraiment vu de solution uniquement basée sur des capteurs de mouvement, barrières infrarouge, capteurs ultrasons, détecteur d’ouvertures, etc… Pourquoi ? Peut-être parce qu’

Un capteur de mouvement n’est pas un capteur de présence
Je différencie bien la présence du mouvement.

S’il y un mouvement, alors il y a une présence.

Ou

S’il n’y pas de présence alors il n’y pas eu de mouvement.

Mais

S’il y a une présence, alors il n’y a pas forcément de mouvement.

Une personne peut très bien être présente et immobile dans une pièce. Ah, comment faire alors ?

Avant de répondre, regardons ce qui se fait déjà avec les capteurs de mouvement. Parmi les solutions existantes destinées à l’éclairage, elles s’appuient très souvent sur le principe de la minuterie :

S’il y a un mouvement alors une minuterie s’enclenche pour X minutes après le dernier mouvement.

Ceci est très bien adapté pour éclairer un couloir où on ne fait que passer (beaucoup de mouvement) et on ne reste pas longtemps (minuterie courte). Pour un bureau, c’est problématique car il y a très peu de mouvement, la personne devra « faire le singe » régulièrement pour relancer la minuterie et avoir de la lumière, c’est assez pénible.

Inconvénients du duo capteur de présence + minuterie : il faut faire un compromis sur la durée de la minuterie et il faut bouger régulièrement.

Moins il y aura de mouvement dans une pièce, plus il faudra compenser en allongeant la durée de la minuterie pour augmenter statistiquement les chances d’obtenir un nouveau mouvement avant l’extinction de la minuterie.

Je trouve un peu crétin de quitter une pièce et d’attendre 20 minutes que la lumière s’éteigne.

Rappel
Je veux en faire le moins possible, donc « faire le singe » le moins possible pour signaler ma présence et je veux une gestion fine de la présence.

J’ai donc installé des modules partout : des capteurs de mouvement dans toutes les pièces de la maison et des détecteurs d’ouverture sur toutes les fenêtres et toutes les portes extérieures et intérieures. Au final : 12 capteurs de mouvement et 17 détecteurs d’ouverture (3 portes extérieures, 7 portes intérieures, 2 portes-fenêtres, 5 fenêtres). Les détecteurs d’ouverture des fenêtres ne servent pas ici pour la gestion de présence. En effet, je pars du principe qu’on ne sort pas par la fenêtre !

Les capteurs de mouvement restent actifs 30 secondes après le dernier mouvement, ils sont tous réglés à 30 secondes, ils communiquent uniquement lors des changements d’état, et non pas à chaque mouvement :

  • 1ème fois lorsque le capteur passe à l’état actif dès le 1er mouvement
  • 2ème fois lorsqu’il passe au repos 30s après le dernier mouvement

Les détecteurs d’ouverture communiquent également uniquement lors des changements d’état.

Concept
J’ai commencé la gestion de présence par une pièce simple : les toilettes. Il s’agit d’une pièce « fermée », avec une porte et que l’on ferme lorsqu’on y va.

Lorsque je suis aux toilettes, que j’ai fermé la porte et que j’ai bougé (le temps que je m’installe) puis que je ne bouge plus (le temps que je reste en position, longtemps parfois :smile: ). La domotique comprend, il y a du mouvement, la porte est toujours fermée, la personne ne peut sortir donc elle est et sera toujours dedans même s’il n’y a plus de mouvement tant que la porte ne s’ouvre pas.

Lorsque le capteur passe au repos 30 secondes après le dernier mouvement, cela signifie que le mouvement a eu lieu 30 secondes avant. En réalité, il faut du mouvement après la fermeture de la porte. Ainsi,vérifier si le capteur est toujours actif juste après la fermeture de la porte ne suffit pas puisque le mouvement a déjà eu lieu. Mais lorsque le capteur est actif, la domotique ne sait pas si le mouvement a eu lieu avant ou après la fermeture de la porte. Donc, la domotique va regarder si le capteur est toujours actif 30 secondes après la fermeture de la porte pour confirmer la présence. Lorsque la présence est confirmée, la présence sera maintenue même s’il n’y aura plus de mouvement.

La logique est la suivante :

  • On active la présence dès qu’il y a un mouvement
  • On confirme la présence dès que la porte est fermée de plus de 30s (+5s de marge)
  • On ne confirme plus la présence dès que la porte s’ouvre
  • On désactive la présence dès qu’il n’y a plus de mouvement lorsque la présence n’est pas confirmée

Dans la vraie vie
J’ai ajouté 5 secondes de marge, ainsi le système attendra 35 secondes après la fermeture de la porte pour être vraiment sûr que le capteur soit bien revenu au repos. La minuterie du capteur peut ne pas être exacte et il faut prendre en compte la latence des modules RF, la lenteur du système : on perd vite 2 secondes. Il faut donc 2 détections pour que la durée du mouvement soit supérieure à ces 35 secondes. De plus, il ne faut pas oublier que les capteurs de mouvement ont aussi un temps d’aveuglement de quelques secondes après chaque détection de mouvent.

Le capteur détecte un premier mouvement dès qu’on rentre. Le capteur est aveugle un instant. On ferme la porte. Le capteur détecte un second mouvement 8 secondes plus tard par exemple lorsqu’on s’installe. Cette deuxième détection prolongera le mouvement de 8 secondes soit 38 secondes en tout, qui est supérieur aux 35 secondes qui permettront au système de confirmer la présence. Tout se désactive qu’on sort en ouvrant la porte. La présence n’est plus confirmée instantanément puis est désactivée 30 secondes plus tard en fin de mouvement.

Tout ceci fonctionne très bien. Une fois la présence confirmée, vous pouvez rester immobile, vous êtes toujours considéré comme présent, donc la gestion de l’éclairage devient facile.

  • On allume la lumière dès qu’il y a une présence
  • On éteint la lumière dès qu’il n’y a plus de présence

En cas d’envie pressante, si vous rentrez aux toilettes, vous fermez la porte et vous installez en 4 secondes puis vous restez immobile pendant 31 secondes. La présence ne sera pas confirmée et sera désactivée. Dans ce cas, la lumière s’éteindra, votre réflexe sera de chercher le bouton dans le noir. Le fait de bouger, le nouveau mouvement activera la présence qui allumera la lumière et qui sera confirmée instantanément puisque cela fait déjà plus de 35 secondes que la porte est fermée .

Maintenant, si un malin rentre et sort aussitôt des toilettes en fermant au pas la porte en partant, le système ne confirmera pas sa présence, celle-ci sera active juste le temps du mouvement, c’est-à-dire 30 secondes. Magnifique !

J’ai ensuite appliqué ce concept pour toutes les pièces dites « fermées » qui ont des portes (chambres, bureau, cuisine, SDB, WC, garage). Dans le bureau, une fois la porte fermée et la présence confirmée, je suis tranquille, je peux rester immobile à lire devant mon écran, la présence ne se désactivera pas (et la lumière ne s’éteindra pas non plus). Cool !

Présence voisine
Maintenant, allons plus loin. Tout le monde ne ferme pas la porte, même aux toilettes. Bien souvent, les portes intérieures restent entrouvertes, refermées à 90% mais ouvertes tout de même pour le détecteur. Et lorsque la porte est ouverte, c’est retour à la préhistoire, il faut « faire le singe » toutes les 30 secondes pour activer la présence. C’est là qu’intervient la notion de présence voisine. Je me dis que

Si la porte est ouverte mais qu’il n’y pas de présence derrière la porte dans la pièce voisine, cela revient au même que d’avoir la porte fermée et que s’il y a du mouvement dans la pièce voisine et que la porte est ouverte, alors peut-être que la personne a quitté la pièce, ainsi la présence dans la pièce ne devra plus être confirmée.

Avec l’option Presence Voisine, la logique devient :

  • On active la présence dès qu’il y a un mouvement
  • On confirme la présence dès que la porte est fermée de plus de 30s (+5s de marge), ou (en option), si la porte est ouverte, qu’il n’y a plus de présence voisine de plus de 30s (+5s de marge)
  • On ne confirme plus la présence dès que la porte s’ouvre ou (en option), si la porte est déjà ouverte, la présence voisine est active
  • On désactive la présence dès qu’il n’y a plus de mouvement lorsque la présence n’est pas confirmée

Avec la prise en compte de la présence voisine, plus besoin de devoir fermer les portes pour obtenir la confirmation de la présence. Il suffit de se balader dans les pièces et de vivre sa vie.

La présence s’active automatiquement dès qu’on rentre une pièce, reste active tant qu’on reste dans la pièce et se désactive automatiquement 30 secondes après avoir quitter la pièce.

Pour imaginer la présence, pensez « présence = lumière ». Le soir, la lumière s’allume automatiquement dès qu’on rentre une pièce, reste allumée tant qu’on reste dans la pièce et s’éteint automatiquement 30 secondes après avoir quitter la pièce. J’adore côté fluide de toutes ces actions. C’est génial !

Si vous vivez seul, super, aucun problème, vous ne pouvez être qu’à un seul endroit à la fois. Tout se passe bien. En revanche, si vous vivez à plusieurs, que vous êtes tranquille dans votre chambre mais avec la porte ouverte et qu’une autre personne passe dans le couloir, dans ce cas, votre présence dans la chambre ne sera plus confirmée et si en plus vous êtes immobile, votre présence sera désactivée (et la lumière s’éteindra).

Donc, pour être tranquille, on ferme sa porte, ça sert à ça ! On ne prend pas sa douche avec la porte de la salle de bain ouverte si on n’est pas seul chez soi.

Du bon sens finalement.

Quand il n’y a pas de porte
Les pièces sont dites « ouvertes » ou « semi-ouvertes » :

  • Les pièces « ouvertes » n’ont pas du tout de portes avec leur pièces voisines
    (Exemple : un escalier)
  • Les pièces « semi-ouvertes » n’ont pas de porte avec TOUTES leurs pièces voisines
    (Exemple : couloir à l’étage donnant sur un escalier et accédant aux chambres qui ont des portes)

Quand il n’y a pas de porte entre 2 pièces, j’en considère une fictive toujours ouverte et je prends en compte la présence voisine. Dans ce cas, l’option Presence Voisine est quasi obligatoire.
Idéalement, il faudrait une barrière infrarouge pour déterminer si une personne change de pièce. Mais, je n’en ai pas. Dans ce cas, c’est toute une pièce qui fait office de porte. L’escalier sépare l’étage du RDC par exemple.

Inconvénient
Lorsque 2 pièces « semi-ouvertes » ou « ouvertes » sont voisines et non séparées par une barrière infra-rouge, leurs confirmations de présence s’annulent mutuellement, c’est très problématique. Situation avec 2 personnes, l’une dans la salle et l’autre dans le salon. Ces 2 pièces se sont pas séparées. Dans ce cas, dès qu’une personne bouge, cela crée une présence voisine qui annule la confirmation de présence dans l’autre pièce et si l’autre personne est immobile alors sa présence sera en plus désactivée (et la lumière s’éteindra) et inversement.

Je pense, car je le n’ai pas encore implémenté, que ce problème de présences confirmées qui s’annulent mutuellement peut-être résolu en créant virtuellement une pièce qui est la réunion des 2. Les 2 personnes annuleront mutuellement les confirmations de présence de leurs pièces mais pas la confirmation de présence de la pièce virtuelle regroupant les 2.

Cette idée de regrouper plusieurs pièces, je l’ai appliqué seulement au niveau de la maison toute entière. Ainsi, lorsqu’on rentre à une ou plusieurs personnes dans la maison et qu’on ferme la porte d’entrée (toutes les autres portes extérieures étant fermées), la présence dans la maison se confirmera au bout de 35 secondes, même s’il n’y a aucune pièce dont la présence est confirmée (lorsque les personnes ne font que de se déplacer de pièces en pièces par exemple).
Une fois que la présence de la maison est confirmée, on peut faire ce qu’on veut : bouger, rester immobile, dormir. Tant que les portes extérieures restent fermées, on n’a pas pu sortir, donc on est présent.

Autre inconvénient
Situation avec 2 personnes présentes dans la même pièce puis une des deux personnes quitte cette pièce, la présence ne sera plus confirmée dès qu’elle sera passé devant le capteur de la pièce voisine.
Le fait de quitter la pièce entraîne un mouvement de 30 secondes donc de la présence de 30 secondes supplémentaire dans cette pièce. Ensuite, la personne qui est restée devra refermer la porte si elle existe ou attendre que la personne partie ait aussi quitté la pièce voisine et devra bouger une nouvelle fois pour confirmer de nouveau sa présence.

Exemple avec un enfant en bas âge, c’est vite pénible, l’adulte ne peut pas quitter la pièce si l’enfant reste immobile.

Lorsque le petit est sûr le pot peu mobile et proche du sol, si l’adulte quitte la pièce, la présence aussi quitte la pièce (entraînant l’extinction de la lumière et un hurlement). L’adulte revient alors, la présence aussi et le bébé est content.

Mais s’il repart, ça recommence. Comme il n’est pas possible de duper le système, il faut espérer que l’enfant s’agite. Bien sûr, si vous vivez seul, toujours aucun souci, vous ne pouvez être qu’à un seul endroit à la fois. Tout se passe bien.

Présence extérieure
Je n’ai pas installé de capteur à l’extérieur, trop compliqué à mon goût, sauf un seul à l’entrée mais qui ne sert pas pour la gestion de présence du domicile. Un chat qui rôde dans le coin ne signifie pas une présence à votre domicile, même si c’est le vôtre.
Alors, j’ai fait simple et utilisé l’information des détecteurs d’ouverture des portes extérieures :

  • Si la porte d’entrée est ouverte, alors il y a une présence fictive à l’entrée.
  • Si la porte du garage est ouverte, alors il y a une présence fictive sur le parking devant le garage.
  • Si une des 2 portes portes-fenêtres est ouverte, alors il y a une présence fictive sur la terrasse côté jardin.

Ainsi

  • S’il y a une présence à l’entrée ou sur le parking ou sur la terrasse ou dans la maison, c’est qu’il y a une présence au domicile.

Finalement, s’il y a une présence au domicile, alors il n’y a pas d’absence. La réciproque est moins vraie, mais je l’utilise tout de même pour gérer l’absence, je n’ai pas autre chose. Le but final est que l’alarme s’enclenche ou que le chauffage se baisse automatiquement quand nous quittons le domicile. (Absence de plus 2h par exemple)

Nombre de personnes
Que peut-on faire de plus ? Bah, compter le nombre de personnes, ouais !

À quoi ça sert ? Au début, à rien comme beaucoup de choses, puis on fini par trouver une utilité.
Dans mon cas, cela permet à la domotique de savoir s’il y a une ou plusieurs personnes afin de ruser un peu pour palier certains inconvénients cités plus hauts lors de l’extinction des lumières.

  • S’il y a une présence confirmée (ou pas) au niveau de la maison, alors il y a au moins une personne.
  • Le système compte le nombre de présences confirmées s’il y en a plus d’une
  • Le nombre de personnes correspond au maximum du nombre de présences confirmées au cours du temps.

Nous sommes 3 à la maison. À un moment donné, nous allons nous retrouver chacun dans des pièces différentes, soit 3 confirmations, le système calcule 3 personnes. Même si par la suite on se retrouve tous dans la même pièce, soit 1 confirmation, le système comprendra toujours 3 personnes car personne n’est sorti puisque les portes sont restées fermées.

  • Si une des portes extérieures s’ouvre, il faut remettre à jour les compteurs.

J’ai encore des améliorations à faire sur ce point, notamment lorsque les portes restent extérieures restent ouvertes en continu.

Le système peut ainsi compter jusqu’à 9 personnes au maximum sur les 12 zones dont 7 « fermées ».
Sur les 5 zones « ouvertes » ou « semi-ouvertes » qui sont toutes plus ou moins adjacentes, le système peut compter seulement 2 personnes car il faut une pièce tampon pour séparer 2 présences confirmées. Il compte plutôt bien : j’ai environ un raté toutes 2 à 3 semaines où le compteur monte à plus de 3 personnes alors que nous sommes 3, il doit rester quelques zones d’ombres.

Impossible de duper le système

Une personne peut en dissimuler une autre mais ne peut pas en simuler deux.

Exemple de cas tordu (il fait mal à la tête celui là). En 4 secondes, une personne quitte la chambre 1 pour aller dans la chambre 2 en passant par le couloir puis ressort aussitôt de la chambre 2 pour rejoindre la chambre 3 en repassant par le couloir. En passant dans le couloir une première fois, la personne se fait détecter, donc la présence sera désactivée dans la chambre 1. La présence dans le couloir s’activera pendant 30 secondes. En arrivant dans la chambre 2, la présence s’activera également pendant 30 secondes. En repassant dans le couloir une seconde fois très rapidement, la personne n’est pas détectée à cause du temps d’aveuglement du capteur. En arrivant dans la chambre 3, la présence s’activera pendant 30 secondes au minimum. La personne est bien partie de la chambre 2, mais le système ne le sait pas. Au bout de 30 secondes après le mouvement dans le couloir, la présence dans le couloir n’est plus active mais celle de la chambre 2 est encore active un instant, et la présence est confirmée dans la chambre 2. Donc, le système croit que la personne est toujours dans la chambre 2 et aussi dans la chambre 3 et qu’il y a en effet 2 personnes finalement. Pour éviter cela, j’ai rajouté 5 secondes de marge sur la durée de la présence voisine (cela revient à obtenir un délai de 35 secondes après le dernier mouvement dans la pièce voisine). Ainsi, la présence voisine prolongée de 5 secondes dans le couloir dure (35s) finalement plus longtemps que la présence dans la chambre 2 (30s) donc il n’y a pas de confirmation de la présence dans la chambre 2. Remarque, les 30s de présence dans la chambre 2 ont commencé 1 à 2 secondes après les 35s de présence voisine dans le couloir car la personne est passée rapidement du couloir à la chambre 2. Si la personne avais mis 6 secondes, alors le capteur dans le couloir n’aurait plus été aveugle lors du second passage et le temps de présence dans le couloir aurait été rallongé de 6 secondes avec toujours les 5 secondes supplémentaires de marge pour être sûr de bien désactiver la présence dans la chambre 2.

Quand ça ne marche pas ?
Le domoticien s’énerve, le client aussi, et encore plus.

Lorsque tous les capteurs fonctionnent correctement, tout va bien. Maintenant, imaginez ce qu’il se passait lorsque j’avais des soucis en tout genre avec mes modules Z-Wave.

Cas 1 : Les portes intérieures physiquement ouvertes passaient à l’état fermé quelques heures après le redémarrage du réseau Z-Wave. On dirait que je sois toujours le seul à être dans ce caca sur ce forum. Voir Door/Window Sensor 2 se ferme tout seul lors du 1er réveil Avec une fausse porte fermée, la présence était confirmée automatiquement dès qu’un mouvement avait lieu dans la pièce en question et la présence (lumière avec) restait confirmée indéfiniment jusqu’à ce qu’on ferme puis rouvre la porte.

Alerte : si la durée du confirmation de présence est supérieur à X heures.

Mais le délai est bien trop long. À la base, c’est une alerte pour signaler si une personne est resté enfermée trop longtemps dans une pièce.

Cas 2 : Les capteurs de mouvement restaient bloqués à l’état actif (ou au repos) à cause du mode sécurisé mal supporté d’openzwave 1.4. Voir mes contributions sur ce fil Soucis sur mon réseau z-wave - #15 par Domatizer Un vrai cauchemare

Alerte : si la durée du mouvement est supérieur à 15 minutes dans les couloirs ou à 30 minutes dans les autres pièces.

C’est très rare d’avoir du mouvement pendant 30 minutes dans une pièce, sauf à y faire du sport ou un déménagement et encore. Une autre solution plus élégante consisterait à vérifier si les états des capteurs de mouvements alternent parfaitement entre état actif et état au repos. En effet, puisque les capteurs ne communiquent que lors des changements d’état, toute répétition d’état indiquerait une erreur. Depuis mon passage en mode non sécurisé, le réseau Z-Wave est maintenant suffisamment fiable pour ne pas avoir besoin de le vérifier.

Les modules sont extrêmement liés entre eux pour un bon fonctionnement. Malheureusement, il n’existe pas vraiment de façon simple pour désactiver un module particulier tout en gardant un bon fonctionnement de tout le reste. En fait, il faudrait une domotique qui adapte la logique lorsqu’un capteur n’est plus fonctionnel. En revanche, je peux désactiver la gestion de la présence voisine pour chaque pièce séparément. Ensuite, pour autres les parties domotique qui utilisent la présence, telles que les lumières, la présence est toujours en option donc activable/désactivable.

Une bonne gestion implique des bonnes pratiques

Tout d’abord, il faut vraiment des capteurs performants, les faux-positifs et autres problèmes ne sont pas du tout les bienvenus. Pour cela, j’ai choisi la technologie Z-Wave pour son retour d’état et sa fiabilité (pas celle d’openzwave 1.4 en mode sécurisé hein !)

Ensuite, le positionnement des capteurs de mouvements est TRÈS TRÈS TRÈS important :

  • En aucun cas, les capteurs ne doivent détecter de mouvement depuis une pièce voisine ou pire depuis une pièce voisine de la pièce voisine.
  • En aucun cas, une personne ne doit pouvoir sortir d’une pièce ou traverser une pièce sans être vue (Exemple: une personne passe de la chambre 1 à la chambre 2 en empruntant le couloir, le capteur du couloir doit fonctionner à tous les coups, rajouter plusieurs capteurs si nécessaire pour bien couvrir la zone)

Attention aussi aux « coucous » possibles à travers les fenêtres depuis l’extérieur (pour les pièces au RDC)

L’emplacement optimum se trouve souvent dans le coin de la pièce au plafond près de la porte.

Le but est bien évidemment d’éviter le cas où la présence reste confirmée et donc activée dans une pièce alors que plus personne n’est dans la pièce. Ce serait dommage que la lumière reste plus longtemps allumée pour rien que sans domotique.

De plus, la durée de maintien de tous les capteurs de mouvement est réglée à l’identique : 30 secondes. Des durées différentes compliqueraient sérieusement les choses un peu inutilement.

Par ailleurs, la marge des présences voisines doit être ajustées en fonction des temps d’aveuglement des capteurs de mouvement. Un temps d’aveuglement court (<5s) est préférable pour les zones de passages comme les couloirs.

Jeedom

Pour gérer toute la présence, j’utilise près d’une centaine de scénarios sous Jeedom :

  • 70 pour la présence (14 groupes de 5)
  • 28 pour les minuteries des portes (fermeture depuis 30 secondes)
    Tout ça pour faire juste un TANT QUE sur chacune des ouvertures

Les scénarios sont nombreux, mais cela facilite énormément le debug.

Même en optimisant les scénarios, ce qui n’est pas évident sans faire foirer la logique, la charge CPU n’est pas négligeable. J’ai dû passer du Raspberry Pi3b au Pi4b. La différence de charge CPU entre le jour et la nuit, c’est le jour et la nuit : 0.80 et 0.25.

Photo de la bête


Lorsqu’il y a du monde à la maison, ce tableau de bord clignote dans tous les sens. Les boutons servent juste au debug à l’exception de ceux concernant l’option Presence Voisine.

Résumé de la présence dans la maison
PresenceMaison

Conclusion

La présence nous suit automatiquement lors de tous nos déplacements dans la maison, c’est vraiment appréciable. Et il n’y a aucune action à faire à part peut-être fermer un peu plus souvent les portes intérieures ! Cependant, il reste encore des points négatifs à améliorer lorsque plusieurs personnes sont présentes au domicile.

Je serais heureux de connaître vos avis sur ce genre de gestion de présence.
Si vous avez des idées, n’hésitez pas à les partager.

Mise à jour
Un peu plus de détails concernant l’organisation des virtuels, widgets et scénarios

Mise à jour 2
Petit tuto plus bas avec un exemple de la gestion de présence dans les WC. Gestion de présence à partir du mouvement - #30 par Domatizer

Amélioration
Dernièrement, j’ai migré cette même logique sous Node-Red. Et là, c’est le bonheur, Node-Red est super adapté pour la « logique de masse ». Comme c’est facile de gérer massivement tous ces délais dans Node-Red, j’ai créé un Mouvement Virtuel qui permet de maintenir actif plus longtemps le mouvement du capteur PIR. Ainsi, avec 1m30s c’est plus confortable qu’avec 30s, statistiquement, ça laisse plus de temps pour la confirmation de la présence ait lieu. C’est ce Mouvement Virtuel que j’utilise pour la gestion de la présence au lieu de Mouvement Etat. C’est plus pratique et plus fiable que de changer la valeur de 30s par défaut dans tous les modules.

Autre amélioration
Celle-ci concerne la désactivation de la confirmation. Avant, lorsqu’une personne désactivait instantanément la confirmation de présence en ouvrant la porte de la pièce où elle voulait entrer, la présence pouvait être aussi désactivée instantanément s’il n’y avait pas de mouvement actif à cet instant. Donc, la présence se désactivait puis réactivait aussitôt avec le mouvement de cette personne qui rentre. Comme la gestion de la lumière se base sur celle de la présence, l’ouverture de la porte pouvait provoquer l’extinction puis l’allumage de la lumière, ce qui est toujours désagréable. Pour éviter le souci, j’ai rajouté une Confirmation Virtuelle qui se désactive 30s après la désactivation de la Confirmation (si aucune présence ne s’est toujours pas confirmée pendant ces 30s), ce qui laisse un délai supplémentaire avant de désactiver le présence en l’absence de mouvement.

Améliorations futures
Actuellement, la durée du mouvement PIR doit être le même partout. Or, je voudrais avoir un temps assez court dans les couloirs est un peut plus long dans les pièces de vie. Le but de cette prochaine amélioration est de pouvoir gérer des durée de présences différente en fonction des pièces.

Au lieu de gérer la présence par pièce (1 présence par pièce), je vais gérer la présence par frontière entre 2 pièces. Ainsi, pour chaque limite (exemple une porte) entre 2 pièces, je considère les 2 cotés avec chacun sa présence (1 présence par côté). Ces 2 présences unitaires pourront avoir des durées de mouvements PIR différents. La vraie présence d’une pièce sera une combinaison de ces présences unitaires. Pour une pièce avec qu’une seule porte, ça ne change rien. Mais pour une pièce avec plusieurs portes comme un couloir, ce sera un « OU » logique entre ces présences unitaires. Il y aura 2 fois plus de présences unitaires que de transitions entre les pièces, mais toujours une seule présence finale par pièce. En principe, je devrais obtenir le même fonctionnement qu’actuellement mais avec plus de souplesse au niveau de la gestion des durées du Mouvement Virtuel (= mouvement PIR + délai).

De plus, je rajouterai en option la confirmation de présence (truc facile). Le but, est d’avoir une gestion de présence dite "dégradée si certains détecteurs de porte ou de mouvement dans les pièces voisines ne sont pas en service temporairement. Ainsi, sans la confirmation de présence, on retrouve le fonctionnement qu’avec un PIR classique, il suffira juste d’augmenter la durée du Mouvement Virtuel pour le plus de confort.

Et un jour
Une V2 de cette gestion de présence :wink:
L’objectif sera de résoudre les inconvénients cités plus haut.

6 « J'aime »

Bon l’exposé est intéressant mais la solution va à l’encontre d el a fiabilité recherchée. Taux de dysfonctionnement proche de 100% avec ta solution logicielle plus capteurs à mon sens.

De mon coté : solution KNX avec capteurs de présence (des vrais pas des capteurs de mouvement) dans les pièces à domotiser. Tout est autonome. Je n’utilise Jeedom que pour les interface graphiques (comandes - monitoring) et la configuration. Le controle commande est dans KNX. Et après plus de deux ans ça marche et sans fausse note.

Pour l’extérieur ; caméras (AXIS) à détection de passage cher mais sans problème. Sinon barrière à balayage laser c’est imparable mais aussi un poil plus cher…

3 « J'aime »

Salut ,Domatizer,

Très long exposé, je trouve ton approche intéressante, sur une problématique très certainement commune.

mais alors la complexité! Il te faut du 100% opérationnel en permanence sinon ton calcul tombe. A part tes calcul sur les délais long, tu as d’autre moyen de vérification?

J’ai justement un capteur de mvt pour allumer ma ‹ domo-tablette ›, et le scénario qui créé la minuterie ne sort pas de son exécution parfois (rare, mais ça arrive, et c’est le seul, pour le moment).

=> Comment tu fait pour la nuit? tu est présent dans la chambre, mais faut bien que ça s’éteigne!

Je serais curieux de voir comment tu gère tes compteurs également.

Chez nous (on est 4), on ne ferme quasi jamais les portes, et selon le membre de la famille, même celle des toilettes… La petite soeur rentre avec la grande, en sort, vite, ca court, saute claque les portes et les rouvre dans la seconde… et tes scénarii improbables le deviennent!

@Yves19 : est ce que tu peux donner des référence de capteur de présence stp?
A chaque fois que je cherche je tombe sur des capteurs de mouvement.

Bonjour,

Bel effort pour l’exposé, mais, droit au but : c’est ingérable !

  • Et surtout, les personnes doivent se comporter comme vous l’avez « pensé » et ça, c’est encore une fois ingérable.

Des « boutons » télécommandes, auraient largement allégé tout cela tout en rendant le système plus simple (et par logique, plus fiable).

Même les Widgets sont « prise de tête », il faut lire sur le bouton pour savoir quoi faire.

  • Là, c’est largement perfectible avec Jeedom v4 et le système de Widgets intégré (sans code) en faisant des switchs par exemple.

A mon avis, vous ne devez pas utiliser les tags pour les scénarios pour en avoir autant.

  • Bon, on ne se connait pas, mais à lire tout cela, je pense que vous vous êtes simplement fait plaisir en découvrant Jeedom mais, quand vous en aurez une autre vision, plus logique, vous allez largement alléger tout cela et surtout les contraintes.

Dans ma vie précédente, je faisais de l’immotique (domotique mais en pro) et il nous aient arrivé de bloquer des personnes dans des cours à cause d’idée comme cela. Ou nous avions l’anti pass-back qui contraignait les usages des gens à faire « comme on voulait ». Mais voilà, cela n’a pas bien été suivit / comprit. Et plusieurs interventions des pompiers plus tard (pour libérer des utilisateurs qui ne pouvaient pas sortir d’une cour ou il n’étaient pas entrée (le fait d’aller à 2 boire un café par exemple, mais que celui qui avait badgé était partie avant celui qui l’accompagnait… ), nous avions fini par changer nos programmations pour rendre cela moins contraignant.

Au finale, la domotique doit se faire transparente et se faire oublier

Faites attention, la porte des WC est ouverte :wink:

2 « J'aime »

Si c’était le cas, ça gueulerai très souvent, ce qui n’est plus le cas depuis que mon réseau Z-Wave est fiable.

Avec KNX, on ne joue pas effectivement dans la même cour. Quels sont tes capteurs de présence ?
Ils sont souvent appelés abusivement capteur de présence. Je pensais que ça n’existait pas des vrais capteurs de présence ! Je veux bien voir.

J’y avais pensé mais non finalement.

Le principe de base est simple, c’est juste ça appliqué à toutes les pièces :

Pour simplifier les choses :grin:, j’ai fait justement un scénario par action. Mes minuteries ne plantent jamais et j’utilise en plus les fameux WAIT que tout le monde interdit !
Si la box tombe en rade, on allume et éteint les lumières normalement avec les boutons physiques.

Pour la partie lumière, il me faudrait faire un autre exposé du même genre :rofl: qui, pour le coup, est compliqué puisqu’il y a des subtilités d’une pièce à l’autre. Pour les chambres, pas question d’allumer plein phares lorsque le conjoint dors déjà :grinning:. Donc, à partir d’une certaine heure (l’heure de celui ou celle qui se couche le plus tôt), c’est une veilleuse qui s’allume à la place. Si on rentre dans la chambre avant, la lumière principale s’allume, celui qui veut dormir éteint la lumière, tant qu’il ne sort pas de la chambre, l’état de la lumière ne change pas. En pleine nuit, celui qui lève ne fera même pas allumer la veilleuse. Celle-ci s’allumera seulement lorsqu’il reviendra. Elle s’allume sur la présence et elle s’éteint sur la fin du mouvement. Donc juste le temps de se recoucher. Elle ne s’allume pas lorsqu’on se retourne dans le lit.

Merci. Alors c’est ingérable pour moi, mais c’est mon problème. Je n’impose rien aux autres. Mais je suis conscient que la solution est invendable avec la maison. En cas de revente, je laisserais éventuellement les capteurs, le repreneur se démerderai pour la partie box.

Non, en fait, c’est naturel. Je dis juste au gens que les lumières sont automatiques et si l’état ne leur convient pas, ils peuvent le changer avec l’interrupteur physique. Il n’y a pas à faire le « singe sans arrêt » comme avec les capteurs de mouvement+minuterie.

Il y a toujours les boutons physique si l’état « choisi » par la domotique ne convient pas. Une personne peut très bien allumer la lumière en plein jour (puisque ce ne sera pas fait en automatique). Elle s’éteindra en revanche automatiquement dès que la personne quittera la pièce.

J’ai quelques télécommandes aussi. Mais justement, ça c’est trop compliqué pour les gens. Car il faut retenir ah le bouton 1 allume X, le 2 éteint Y.

Non, car il n’y a rien à faire, les widgets ne servent qu’à moi de temps en temps, il n’y pas besoin de les voir. Ma femme n’a même pas voulu installer l’appli Jeedom sur son téléphone. Trop chiant et je la comprend.

J’ai essayé, mais je n’arrivais pas faire un scénario sous forme de fonction et de lui envoyer comme paramètre ici un tag contenant le nom de la pièce. De plus, avoir un gros scénario avec le multi lancement. Le log devenait pour le coup impossible à gérer.

Même pas, j’avais juste un objectif final à atteindre, je ne me suis pas vraiment fait plaisir car je trouvais ça galère de faire rapidement des trucs simples, en particulier les minuteries pour les portes. J’ai déjà une autre vision, c’est d’utiliser un automate avec des vraies fonctions. L’avantage de l’automate, c’est plus fiable à tous les niveaux et qu’en plus on peut faire une simulation avant de se lancer en mode production. Ce qui n’est pas le cas sur les box domotiques.
Je dis souvent :

Un truc pas testé = un truc qui ne marche pas !

Tout à fait d’accord, c’est pour ça que je n’ai pas fait d’IHM.

1 « J'aime »

Salut @Domatizer,

Les wait c’est bien ! ce sont les sleep qui peuvent poser problème s’ils sont cumulés car ça bloque un thread

1 « J'aime »

Capteur de présence non KNX ici

testé (en entreprise) ça marche à 100% -:slight_smile:

Capteur de présence/mouvement KNX

installé chez moi et ça marche :slight_smile:

Merci, je note pour une prochaine installation. Au niveau tarif, ce n’est pas la même chose. On n’est plus dans le monde grand public, le Legrand est 3x plus cher que les modules Z-Wave (Pas cher le Z-Wave finalement). Aussi, c’est du filaire.

Maintenant, il faudrait la même chose en RF. J’ai refait une recherche, mais ils sont difficiles à trouver puisque les détecteur de mouvement sont appelés abusivement détecteur de présence avec des descriptions de ce genre :

Le détecteur de présence détecte la présence (le mouvement) de personnes.

Impossible d’être sûr de tomber sûr un vrai détecteur de présence.
Bon, je viens d’en trouver un, c’est bien précisé que c’est un vrai

Je m’interroge pourquoi il n’existe pas plus de modèles. Le besoin est pourtant là en domotique.

Bonjour.

Et oui c’est là toute la différence entre un bidule qui va fonctionner ou pas au moment attendu et de manière plus ou moins certaine et un équipement fiable et durable.
Pour le Legrand il est disponible dans les boutiques sérieuses à moins de 120 EUR.

Domotique pro (fiable et maintenable) et domotique de loisir la différence de prix est souvent (pas tjrs) justifiée par la qualité de service in fine.

Pour le Homematic attention. Il ne fonctionne avec une base Wifi et via un protocole non standard.

Oui, dommage que leur protocole soit propriétaire, leurs produits sont intéressants.

Anecdote, pendant mes vacances, je suis tombé sur une installation avec un détecteur de mouvement ou de présence Legrand (il semblait être assez sensible aux micro mouvements) et sans interrupteur mural pour la gestion de l’éclairage dans la salle de bain. Le module était réglé à 2 min. Pour se laver les dents, pas de souci, mais pour la douche, impossible de prendre une douche sans se retrouver plusieurs fois dans le noir. Ah, je me suis dit, s’ils avaient mis un capteur sur la porte pour vérifier que je ne suis pas sorti ! De plus, il fonctionnait nuit et jour pour une salle de bain avec fenêtre, c’est con !
Un bon point pour le WAF quand ça marche mieux chez soi que chez les autres. :grinning:

Et si vous rentrez à 2, la capteur vous vois sortie alors que ce n’est pas forcément le cas.
Tous ces trucs sont tordu et ne fonctionne que si l’humain se comporte comme le gars qui a imaginé le truc… Et ça…c’est jamais le cas !

2 « J'aime »

Bravo pour l’explication détaillée, je reconnais l’héritage de Prevert.
J’ai un fonctionnement similaire, je l’applique à toutes les pièces de vie et circulation avec un détecteur de mouvement zwave Fibaro et une tempo, elle varie en fonction des heures de la journée, pour éviter de devoir gigoter devant la TV (maillé à 20mn).
Cela me semble plus simple et fiable à 98% (cas où est planqué au fond du canapé et sans bouger)

Et ceci en diy
https://www.google.com/shopping/product/1?q=radar+de+présence+2.4ghz&safe=active&client=tablet-android-lenovo&sa=X&biw=1280&bih=800&tbs=vw:l,ss:44&sxsrf=ALeKk0238Ixeh6W3-zTYI3ucIL8UizhvVg:1595092549242&prds=num:1,of:1,epd:9830307668170151723,paur:ClkAsKraX_4WBftYwMC9IpMUMtiUOj6-WHW0pFK3Kgyg5951-qz3ioldPS0lWTwEwxSGAKLlrrw2BVe-D5c6eIhcTl4WJgp9At2N-2dYA0V9GPdnu60YnMVOKxIZAFPVH70EGFxqYEeN1I-DgJUq_BY7YvMY3w,prmr:1,pid:9830307668170151723,cs:1&ved=0ahUKEwjo153mptfqAhXwxoUKHdtlDfUQgjYIhgo

Bah je crois que pire ça doit pas exister . Radar à 2.4 et 5.5GHz GHz en plein Wifi, ZigBee et BlueTooth. Donc interférences garanties. De plus au vu de la petite antenne sur le circuit je pense qu’il vaut mieux éviter la bricole. Ce qui fait l’intérêt d’un détecteur radar c’est surtout son antenne émission/réception. Sur ce module elle est quasi inexistante et donc le module sera plus que compliqué à intégrer à son emplacement final pour remplir correctement sa fonction.

Le système de « confirmation de présence » permet justement de résoudre les 2% restant et d’éviter de mettre une temporisation de 20 minutes.

Si 2 personnes rentrent dans une pièce et que l’une des 2 sort, alors la présence n’est juste pas confirmée dans la pièce. Une présence non confirmée ne signifie pas qu’il n’y a pas de présence. Là, on se retrouve dans le cas classique comme @SWR où tant qu’il y a du mouvement ou de la minuterie il y a de la présence.

Je pense qu’on a du mal à se comprendre. Il n’y pas de truc tordu à faire. L’humain peut faire ce qu’il veut. C’est la domotique qui doit s’adapter.

1 « J'aime »

Bonne remarque, je suis passé à côté.
Et pourtant, ça fonctionne bien, y compris à travers les murs, je n’ai pas trouvé plus efficace.

À travers les murs, c’est trop ! J’ai des voisins ! Ce n’est pas parce que les voisins sont présents chez eux qu’il y a une présence chez moi. :smile:

Au lieu de critiquer et dire que ça ne fonctionne pas j’ai comme toi mis un détecteur d’ouverture de porte et beaucoup de détecteur de présence ( mais pas dans toute les pièces car justement avec le salon j’ai constaté que ça ne ‹ fonctionait pas sans faire le singe ›)

Si tu veux un bêta testeur au moins pour les WC ( ou j’ai un détecteur de porte et de présence dedans et dans les couloirs ) je suis preneur !!

Après je viendrai faire ma critique pour dire que ça ne fonctionne pas si c’est le cas :))

Oui, ça critique. C’est normal, le concept sort un peu de l’ordinaire.
Il faudrait des idées toutes aussi farfelues pour avancer, des choses comme :

Ah, il y a une présence certaine à l’étage, personne ni dans les chambres ni dans la salle de bain, mais le dernier mouvement a eu lieu dans le couloir, donc la présence serait dans le couloir, etc… :smile:

Pour les WC, c’est le cas le plus simple. La théorie fonctionne à 100%. Donc, si ça ne fonctionne pas, c’est l’implémentation qui ne va pas. J’attends ton retour.

En effet, en maison, je me pose moins de question.