Gestion de présence à partir du mouvement

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

Tu as donné un concept que je ne suis pas capable de reproduire et sauf erreur tu n’as pas mis de script « modèle » et peut être que le mieux serait d’avoir un plugins où l’on a les objets ( souvent les pièces de jeedom ) avec un moyen de les ‹ relier › entre elle et d’indiquer s’il y a une porte ou non’

Je suis resté au niveau du concept pour la présentation car le sujet est déjà assez dense.

Concernant un plugin, j’y ai pensé pour avoir objet (par pièce) comme celui-ci plus rapidement.
Presence_Bureau

Pour l’instant, derrière ce virtuel, j’indique les pièces voisines, les détecteur de portes et capteurs de mouvement.


Je renseigne les 3 éléments suivants :

  • Mouvement
  • Porte (s’il y en a sinon je mets un ‹ 1 › pour signaler que c’est toujours ouvert entre les pièces)
  • Voisine (combinaisons des portes et des présences voisines)

Les 3 autres éléments sont des états :

  • Etat (de la présence de la pièce)
  • Virtuelle (présence de la pièce prolongée de 5 secondes)
  • Confirmation

Ces 3 états sont activés/désactivés par 2 boutons chacun qui sont actionnés par des scénarios. Ici, ils me servent juste pour le débug (je pourrais les cacher maintenant que ça fonctionne).

J’ai tellement galéré dans les scénarios avec cette notion de porte fermée depuis 35 secondes que j’ai séparé le problème et fait un autre widget spécifiquement pour chacune des portes comme ceci.
Porte_Bureau
La porte virtuelle s’ouvre toujours en même temps que la porte physique et se referme 35 secondes après la fermeture de la porte physique. Remarques : si on ouvre entre temps la porte physique, le compteur revient à zéro et si on s’amuse à ouvrir et fermer la porte physique toutes les 10 secondes, la porte virtuelle reste bien toujours ouverte.

Coté scénario, je procède toujours de la même façon en faisant du Set/Reset pour tous les états binaires. Un premier scénario active l’état à ‹ 1 › et un second désactive l’état et le remet à ‹ 0 ›. Comme il y a 4 états (Presence/Etat, Presence/Virtuelle, Presence/Confirmation et Porte/Virtuelle) par pièce, j’ai 8 scénarios par pièces. Et j’ai 14 pièces ! Alors je copie/colle. C’est vraiment lourd, mais c’est très fiable. Je n’ai pas su faire de scénario générique où je rentrerais simplement comme paramètre le nom de la pièce. Même si c’est sans doute faisable avec du code, il resterait la partie avec les déclencheurs… Trop pénible !

Avec un plugin, la partie scénario serait intégrée, il y aurait juste à renseigner les 3 infos (Presence/Mouvement, Presence/Porte et Presence/Voisine)

Avant de se lancer dans un plugin, il faudrait un peu plus de monde intéressé. Pour le moment, il n’y a pas foule (ce sont les vacances aussi), tu es le seul @PHB_fr

1 « J'aime »

Pour réduire les objets je pense que tu auras pu avoir une seule fonctions/scénarios avec en passage de paramètres ( tag ) l’objet qui va bien.

Après ce qui fait sujet c’est la possibilité de ‹ jointure › entre les pièces.

1 « J'aime »

Je trouve cette solution très intéressante bien que difficile à mettre en place (dans jeedom mais aussi à cause du nombre de capteurs que cela nécessite).
Certai’s points restent obscure pour moi, en effet je ne vois pas comment jeedom « comprend » le nombre de personne présente au domicile (peu être en gérant la localisation de celle ci tout simplement ?)

1 « J'aime »

Il faut dans l’idée avoir un appareil (smartphone, Nut, etc qui sert a savoir qui est présent, mais ce cas est pour les « habitués » de la maison je pense que dans le cadre d’ami arrivant dans la main c’est plus délicat et ca demande un passage en + en mode « manuel » a ce moment

Dis moi ce qui n’est pas très clair dans cette partie.

Pour chaque pièce, Jeedom « sait » si la présence est confirmée. Il suffit de les compter. Pour la première présence, Jeedom « regarde » au niveau de la maison. En effet, dans le cas où la(les) personne(s) se déplacent en continu, il n’y aucune pièce où là présence est confirmée mais il y a du mouvement dans la maison donc au moins une personne présente. Ceci permet d’avoir l’information très rapidement.

Oui le smartphone c’est bien pour gérer la présence ou l’absence du logement entier, donc c’est plutôt adapté pour le chauffage mais certainement pas pour l’éclairage dans chaque pièce.

De plus, je ne veux pas imposer à mes proches de devoir installer une appli sur leur smartphone, ou de mettre un bracelet. D’où la solution présentée. Le logement doit être autonome.

Hello,

Je découvre le sujet. Merci à toi @Domatizer pour l’explication détaillée et tout les cas d’usage.
Personnellement, je gère la présence avec nos 4 téléphones (Wifi) et la géoloc, mais pour la mise en absence, je teste effectivement si il n’y a pas eu de dernier mouvement plus recent que la derniere fermeture de porte. Et a part quand on part et qu’un de mes enfants reste aux WC un peu trop longtemps ET qu’il a désactivé son wifi, je n’ai jamais eu de faux positif depuis 2014.
Et pour lumière, je gère ca en allumage global dans la piece a vivre (cuisine/entrée/salon/couloir ouvert) en fonction de mode déclenchés sur la luminosité exterieur, l’allumage ou non de la télé, et l’heure de la journée. Et pour l’extinction et les veilleuses sur mouvement, c’est global lors du passage en mode absence, ou du mode nuit.
Mais ton approche me plait bien pour les autres pieces, ou la lumière n’est pas automatisée pour le moment, sauf à l’extinction si absence ou nuit.
Merci pour le partage.

Suite à des demandes personnelles, je vais donner un exemple de gestion de présence avec la pièce des WC.

Le mouvement
image
Il s’agit d’un Virtuel qui pointe vers un capteur de mouvement PIR

La porte
image
Il s’agit d’un Virtuel qui pointe vers un détecteur de porte


Il contient aussi la commande Virtuelle qui correspond à une porte « Virtuelle » qui s’ouvre en même temps de que la porte réelle et qui se ferme 35 secondes après la fermeture de la porte réelle (si on ouvre et ferme la porte réelle toutes les 20s, la porte virtuelle n’a pas le temps de se fermer).
Remarque : j’ai augmenté la marge à 10 secondes au lieu de 5s afin qu’elle soit supérieure au temps d’aveuglement des capteurs PIR qui est à 8s. Donc, maintenant, la porte Virtuelle se referme 30+10=40s au lieu de 35s après la fermeture de la porte (Etat).

Le scénario de la porte est le suivant


Porte_Virtuelle.json.txt (6,4 Ko)

Avec comme déclencheur l’état de la porte tout simplement
image

La présence (j’ai caché les boutons pour la prise en compte ou pas de la présence voisine)
image
Évidemment, pour la présence voisine, il faut un autre capteur de mouvement dans la pièce voisine.
Elle permet d’obtenir la confirmation de présence lorsque la porte est ouverte. Même pour les WC, c’est utile !

Dans le Virtuel Presence


Côté scénarios Presence, il y en 5 par pièce (et j’ai 15 pièces ! :slightly_smiling_face:)
image

Voilà, les scénarios sont courts donc très facile à déboguer. Les premières versions faisaient plusieurs 10aine de lignes. Remarque, les fichiers JSON en .json.txt sont à renommer en .json

La seule limite sous Jeedom sera la puissance de calcul (avec un Pi3, c’est insuffisant) lorsque le nombre de pièce augmente. En effet, un mouvement dans le couloir va déclencher tous les scénarios Porte et Presence du couloir ainsi que tous ceux des pièces voisines. Perso, je trouve ça très lourd en terme de ressources pour faire de la simple logique séquentielle.

2 « J'aime »

Mise à jour du premier post avec quelques améliorations apportées

Quand tu parles de Node-Red. Tu parles du plugin du même nom dans Jeedom?
Ou bien tu as installer le package?

1 « J'aime »

Je ne savais pas qu’il y avait un plugin Node-Red. Remarque, je ne l’ai pas vu sur le market.
J’utilise Node-Red à part dans un conteneur Docker et je n’utilise pas le plugin Docker.

Hello

Je vais faire mon rabas joie désolé, mais ton système n’est pas du tout comparable avec les capteurs d’occupations, c’est complètement différent, pas fiable et même contraire à la domotique car le bon fonctionnement de ta gestion de présence dépend d’une action manuelle nécessaire de ta part (ne pas oublier d’ouvrir/fermer les portes). Ton système t’oblige à t’adapter à ta domotique et a prendre de nouvelles habitude pour la domotique, alors que c’est la domotique qui doit s’adapter à toi, reproduire les tâches quotidiennes de manière autonome sans attendre aucune actions de ta part.

Je m’explique, ta gestion de présence est conditionnée par des PIR et donc toute les contraintes qui vont avec comme le mouvement, l’absence de mouvement n’implique pas forcément une absence de présence.
J’ai pris le temps de lire ton post et j’ai bien compris que par ta gestion tu essai de contrer le problème des PIR par des déductions et donc que ton système fonctionne à partir de probabilitées.
Les critiques sur ton post ne sont pas dû à de l’incompréhension, ils ont toute à fait raison sur le taux de fiabilité.

Je gère l’éclairage des pièces selon la présence et le seuil de luminosité depuis 6 ans (4 ans avec des PIR et 2 ans avec des capteurs d’occupation) mais de manière fiable, sans que ce soit une usine à gaz basé sur des probabilités et sans aucune contraintes.

Concrètement, l’éclairage doit réagir selon les besoins de luminosité en situation normale sans la domotique, comme suit :
•Quand on entre dans une pièce sombre, la lumière s’allume.
•Quand on quitte la pièce, la lumière s’éteins
•Quand la luminosité devient suffisante dans une pièce déjà en présence, la lumière s’éteins (exemple, quand les volets s’ouvrent le matin dans les pièces déjà occupées, ou le soir en ouvrant les volets après une journée de canicule dans les pièces déjà occupées).
•Quand la luminosité devient insuffisante dans une pièce déjà occupé, la lumière s’allume.
•Quand on entre dans une pièce où une personne dors, soit on allume pas, soit on allume sur une faible luminosité.

Avec les capteurs d’occupations Aqara FP1/FP2 couplé à des capteurs de lux, mon système gère toutes ces actions naturellement de manière autonome sans aucunes interventions de ma part, pas d’obligation de porte à fermer/ouvrir, pas de déductions hasardeuses sur les dernières pièces en mouvements pour savoir si quelqu’un est toujours dans la pièce (statique) etc …
Pour toi c’est peut être qu’une simple porte à fermer mais pour beaucoup c’est une contrainte.
-Tu veux prendre une douche, tu ferme la porte pour ne pas que la lumière s’éteigne, si quelqu’un entre pendant la douche (femme ou enfants) il faut lui rappeler de fermer la porte.
-Tu est malade, donc tu cours vomir au WC, tu doit penser à fermer la porte pour ne pas vomir dans le noir, pareille si quelqu’un t’amène un rouleau de PQ il faut qu’il referme la porte.
Bref, devoir fermer toutes les portes y compris le bureau pour valider une présence c’est vraiment pas la solution du siècle, comment tu fait avec des enfants en bas âges ou dans les pièces ouverte dans portes comme par exemple une cuisine ouverte sur salon/salle à manger ?

Avant d’avoir des capteurs d’occupations, j’avais solutionné la contrainte des PIR bien plus facilement et fiablement que ta solution. Maintenant je gère avec les capteurs d’occupations depuis 2 ans donc j’ai adapté mais avec les PIR j’avais aucune contraintes de porte ou autres , dans les pièces on l’on reste statique j’avais mis:

3 PIR dans ma salle de bains (WC présent)

  • Un au-dessus de la porte pour allumer en entrant dans la salle de bains
  • Un au dessus du lavabo pour capter les plus petits mouvements de mains en étant statique (brossages de dents, maquillage etc …), car en étant devant le lavabo, on était dos au capteur au dessus de la porte.
  • Un au dessus de la douche
    Pour une douche aucuns problèmes mais pour prendre un bains sans que la lumière s’éteigne c’est simple, j’avais fait un groupe des 3 PIR de la sdb, pour aller à la baignoire j’étais obligé de passer devant le pir de la porte, puis le pir du lavabo et enfin le pir de la douche. Donc quand le dernier pir à avoir déclenché était différent du pir de la porte, c’est forcément que quelqu’un est dans la baignoire puisque le dernier capteur qui déclenche est celui qui passe à 0 après une absence, en gros ça revient à dire que si pir baignoire = 1 et pir lavabo = 0 et pir porte = 0 alors quelqu’un prend un bain, la lumière ne s’éteins pas tant que la personne y reste, sauf si une deuxième personne entre et sort dans la salle de bains et qu’au même moment là personne dans le bains ne bouge plus depuis 30 secondes, dans ce cas précis il y avais juste à bouger et la lumière ne s’éteignaient plus.

Pour le toilette encore plus simple, j’avais résolu la problématique des PIR en mettant simplement un bouton poussoir en guise de capteur de pression sous la cuvette et il était invisible (inter Xiaomi), celui ci remonte les infos d’appuis (1,2,3,4 click etc …) mais surtout le long click (pression sur le bouton), en s’assoyant sur la cuvette il remontait un « long click » (duration réglable pour différencier la petite et grosse commission :sweat_smile:) qui désactivé l’extinction des lumières sur absence de mouvements, et en se levant il l’a réactivé.

3 PIR dans la cuisine

  • Un à l’entrée de la cuisine
  • Un dans le champ principale du plan de travail
  • Un au dessus du levier
    Et jamais les lumières ne s’éteignaient car même en restant statique ils étaient tous mis proche des points statiques de sorte à capter les petits mouvement de mains.

Au début de ton post tu expliques que ta gestion de présence est préférable au ping des téléphones couplé aux nut, mais ce sont deux infos complètement différentes, la présence globale d’un côté (maison en mode présent/absent) et la présence dans les pièces, même si maintenant avec des capteurs d’occupation dans chaque pièces on peux faire de la présence globale, les actions qui sont exécutés sont différentes, ce sont deux infos distinctes, quand l’éclairage des pièces est automatisé tu n’a pas besoin d’éteindre ou d’allumer les lumières sur absence/présence globale de la maison.

Encore une fois désolé de faire le rabat joie, c’est mon côté passionné et perfectionniste des automatisations qui parle, et pour moi une automatisation est abouti que quand les infos qui les conditionnent sont à 200% fiable, sans contraintes ni attitude à adopter pour son bon fonctionnement.
L’automatisation doit se dérouler comme habituellement sans domotique mais automatiquement :slightly_smiling_face:

Ici c’est beaucoup trop prises de têtes pour un aboutissement peu fiable, j’ai déjà expérimenté ce genre de chose à mes débuts sur Jeedom et je suis certains qu’à chaque fait et gestes tu te fait le fonctionnement du scénario dans ta tête « est ce que je me suis bien comporté pour que le scénario fonctionne ? » c’est pas vivable, la domotique doit fonctionner en toutes circonstance, tout doit être anticipé y compris un oublie de fermer une porte, et se faire oublier.
Essaie les capteurs d’occupations ça va te changer la vie et épurer tes scénarios, y’a pas plus simple, tu as besoin de lumière, elle s’allume, tu part, elle s’éteins, la nuit tombe ou un gros nuage passe quand t’es dans une pièce, la lumière s’allume, le jour se lève ou un gros nuage est partie quand tes dans une pièce, la lumière s’éteins, tout ça avec un simple calcul lux actuel - lux émis par l’ampoule = le lux naturelle ampoule éteins :wink:
Tu peux même aller plus loins pour avoir une luminosité adaptative, par exemple mes pièces sont toujours éclairés à 100 lux, que la nuit tombe ou que le jour se lève, à partir du moment où le lux atteins le seuil qui nécessite d’être éclairer, la luminosité de l’ampoule s’adapte pour que l’ampoule donne 100 lux, ce qui fait qu’on ce rend même pas compte que la lumière s’allume ou s’éteins à ces moments là.
Exemple, le soleil se lève doucement, j’ai encore besoin d’éclairer mon salon, le lux naturel de mon salon est de 45 lux, un algo va ajuster la luminosité de l’ampoule jusqu’à ce que mon capteur de lux atteins 100 lux, plus la luminosité naturel va augmenter plus la luminosité de l’ampoule va diminuer pour rester à 100 lux et quand j’atteins les 100 lux en lumière naturel l’ampoule s’éteins et on s’en rend même pas compte et inversement au couché du soleil.

1 « J'aime »

Je pense qu’il avait déjà compris tes remarques sur l’autre sujet (concours) :wink:

Oui mais c’était pas sur le post initial, il est important d’apporter mon point de vue et ma solution, pour contrer la problématique des PIR sur le post initiale pour ceux qui ne suivent pas ton post :wink:

Y’a tellement de solution beaucoup plus simple pour ça sans même à devoir prendre des capteurs d’occupation, bouton pression sous la cuvette des toilettes, pommeaux de douche connecté Hydrao pour détecter une prise de douche et ne pas éteindre la lumière, positionnement des capteurs etc …

Oui, j’ai répondu à @Jeezy dans l’autre sujet.

Je mets le lien ici

Oui, mais ici, c’était pour la gestion de présence de base. :slightly_smiling_face:

Pour la gestion de l’éclairage, l’info de la présence n’est qu’une info parmi tant d’autres, il y a les mouvements de portes (j’adore les portes, il y a l’effet wouahou, ça peut s’allumer avant même d’être rentré si la porte était fermée avant bien sûr :smiley:). J’utilise aussi d’autres infos (j’ai pas tout dit) comme le tirage d’eau chaude sanitaire de la chaudière pour ne pas éteindre la cuisine et la SDB… :wink: Dans le séjour, il y a encore d’autres conditions comme l’état des équipements du home cinema et des lumières d’ambiance…

Comment fais tu cela ??? J’ai essayé, mais le décalage temporel des capteurs de luminosité provoque un effet de yoyo qui le rend inexploitable.

Je suis preneur du principe de ton algo ! :slight_smile: