Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée . (140 caractères max). L’envoi est anonyme.

Lorsqu’on parle de la présence, on peut parler de la détection de mouvement dans une pièce, avec un détecteur de mouvement comme nous l’avons vus dans l’article Xiaomi Smart Home – Installation et configuration du détecteur de mouvement, mais aussi, et c’est ce que nous allons voir aujourd’hui, la présence ou l’absence d’une personne spécifique dans le logement.

Il existe plusieurs possibilités pour déterminer la présence. Toutes ont leurs avantages et leurs inconvénients. C’est pour cela que j’ai voulu faire un système qui prend en compte plusieurs solutions.

Le but est de pouvoir valider la présence d’une personne sur 3 critères, plutôt qu’un seul. Le bluetooth, le wifi et la géolocalisation.

La gestion de la présence est une fonction très intéressante en domotique, à condition de pouvoir lui faire confiance. On peut alors imaginer plusieurs scénarios, comme par exemple :

  • Allumer la radio lorsque l’on rentre chez soit et l’éteindre lorsque l’on part, si il n’y a plus personne.
  • Lancer l’aspirateur robot lorsque l’on sort et le mettre en pause lorsque l’on rentre pour qu’il finisse lorsque l’on repart.
  • Ouvrir la porte du garage et allumer les lumières lorsque l’on est en approche du logement.

Gestion de la présence avancées

Les prérequis pour la gestion de la présence dans Jeedom

Pour mettre en place une gestion de la présence efficace avec Jeedom, nous allons avoir besoin de pas mal de choses.

Je pars du principe que vous avez déjà Jeedom, je ne vais pas expliquer comment installer les plugins que j’utilise, sinon l’article serait encore plus long qu’il ne l’est déjà.

Si vous n’avez pas tout le matériel dont je parle dans l’article, ce n’est pas très grave, vous pourrez adapter les scénarios, mais vous risquez de perdre en précision sur la détection de la présence.

Le bluetooth et Jeedom

Le bluetooth à une très courte portée (même trop courte parfois), une dizaine de mètres, ce qui en fait un détecteur de présence assez précis. C’est pour cela que je l’utiliserai comme déclencheur principal.

Appareil Bluetooth portatif pour Jeedom

  • Ces appareils doivent toujours être avec vous pour indiquer votre présence ou votre absence à Jeedom.

Il existe différents appareils bluetooth permettant de gérer la présence, par exemple ma femme utilise un NUT Mini sous forme de porte clé et moi un Xiaomi Mi-Band 2.

  • Mi-band 2 : Ce sont des bracelets qui comptent les pas, mesurent la fréquence cardiaque, le sommeil, les calories brûlées, les distances parcourues, etc. L’avantage c’est qu’on les porte  toujours au poignet, ce qui est parfait pour la détection de la présence.
  • Nut  : Si comme ma femme vous n’êtes pas adepte des bracelets connectés, vous pouvez utiliser des petits trackers comme les NUT qui peuvent s’utiliser en porte-clés.  A l’origine, ils sont fait pour localiser les objets perdus via une application sur smartphone.

Sachez que beaucoup d’appareils bluetooth (bracelets, porte clé, montres, tracker…) sont utilisables pour la gestion de la présence. La seule contrainte, c’est que vous les ayez toujours avec vous.

Antenne Bluetooth pour Jeedom

  • Elle servira de récepteur pour détecter la présence, ou non, d’un appareil bluetooth.

L’antenne peut être intégrée comme sur les raspberry Pi 3, ou ajoutée via une clé USB Bluetooth, comme sur les Raspberry Pi précédents.

La portée du bluetooth dépend de l’environnement du logement. De l’épaisseur et de la composition des murs, ou autres éléments perturbateurs, comme des structures métalliques, etc.

Il est possible et conseillé d’ajouter une ou plusieurs antennes déportées, à l’aide par exemple d’un Raspberry pi W comme nous l’avons vu dans cet article : Jeedom – BLEA sur Raspberry pi Zero W.

L’intérêt des antennes déportées est d’augmenter la portée du bluetooth pour couvrir tout le logement.

Plugin Jeedom Bluetooth Advertisement (BLEA)

  • Le plugin permet à Jeedom de gérer la présence des appareils bluetooth.

Si vous avez lu mes articles Xiaomi Yeelight – Lampe de chevet et Jeedom – BLEA sur Raspberry pi Zero W vous connaissez le plugin BLEA, qui en plus de contrôler certains appareils comme la lampe de chevet Xiaomigère la présence de presque tout les appareils bluetooth.

Le plugin est développé par Sarakha63 et en plus il est gratuit. Si ce n’est pas déjà fait je vous invite à lire son article pour l’installation .

Le Wifi et Jeedom

Le wifi à une meilleur portée que le bluetooth, si on capte le wifi du logement, c’est qu’on est proche du logement, mais pas forcement à l’intérieur.

Appareil Wifi portatif pour Jeedom

  • Il faut un appareil wifi qui est toujours avec vous et connecté, pour indiquer votre présence ou votre absence à Jeedom.

Vous l’aurez compris, on parle ici d’un smartphone.

Routeur wifi

  • Le routeur ou la box internet serviront à connecter un appareil wifi au réseau local.

Un bon routeur avec un wifi puissant permettra d’avoir une meilleure gestion de la présence. Chez moi, j’ai une Livebox pour la Fibre optique, mais tout ce qui est réseau local, est géré par un routeur ASUS RT-AC88U, je vous invite à lire cet article pour plus d’informations : Routeur ASUS RT-AC88U – Livebox 4.

Si vous n’avez pas prévu d’investir dans un routeur, mais que votre wifi ne couvre pas tout votre logement vous pouvez utiliser des petits amplificateur Wifi comme le Xiaomi Mi WiFi 300M Amplifier 2 à moins de 10€.

Plugin Jeedom Network

  • Il servira à gérer la présence des appareils Wifi dans Jeedom.

Le plugin est développé par Loic (Créateur de Jeedom) et il est gratuit également. Il permet de faire un ping sur n’importe quel appareil connecté au réseau.

Pour l’installation, la doc officiel suffit amplement : Plugin-networks.

La géolocalisation et Jeedom

La géolocalisation à une précision d’une centaine de mètres, ce qui est bien pour savoir si une personne est en approche du logement.

Grâce au GPS présent dans les téléphones portable, on peut connaitre la position des personnes même à plusieurs kilomètres.

Applications Android pour Jeedom

Plugin Jeedom de géolocalisation

Les scenarios de gestion de la présence dans Jeedom

Les scenarios vont nous permettre d’interagir sur ces différents éléments (Bluetooth, Wifi et Géolocalisation) afin de déterminer le plus précisément possible la présence ou non d’une personne et d’exécuter des actions en conséquences.

Ils peuvent être plus ou moins long en fonction de ce que vous voulez automatiser. Je vous propose là, quelques exemples, mais libre à vous d’adapter les scénarios à vos besoins.

Certains scénarios sont spécifique à un membre et d’autres sont commun à toute la famille.

  • [Présent Membre] : C’est le scénario qui détermine la présence ou non d’un membre de la famille.
    • Il est déclenché par un appareil bluetooth (Bracelet, NUT, iTag…).
  • [Absent Membre] :  C’est le scénario qui valide l’absence d’un membre de la famille. Il va faire la triple vérification d’absence (Bluetooth, Wifi et Géolocalisation).
  • [Géolocalisation Membre] : Ce scénario permet d’informer Jeedom qu’un membre est en approche, mais pas encore présent et donc d’automatiser des scènes.
    • Ouvrir la porte du garage, allumer les lumières extérieures, prévenir par TTS de l’arrivé d’une personne s’il y a déjà quelqu’un à la maison…
  • [Scène Membre] : C’est le scénario qui va permettre l’automatisation de scènes spécifiques pour un membre.
    • Allumer la lumière du bureau, seulement lorsque c’est Membre X qui rentre…
  • [Scène Famille] : Ce scénario à la même fonction d’automatisation de scènes que le scénario précédent, mais il est commun à tous les membres.
    • Activer et désactiver l’alarme, éteindre les lumières et la musique, lorsqu’il n’y a plus personne à la maison…

Tout au long de l’article, il faudra remplacer « Membre », « Membre1 », « Membre2 » par le nom des membre de votre famille, animaux y compris 🙂

Info : Je vous conseille de faire d’abord un scénario pour vous et une fois qu’il sera bien en place, de le dupliquer pour un autre membre de la famille et ainsi de suite pour chacun des membres.

Scénario : [Présent Membre]

Gestion de la présence avancées
Le scénario sur l’image et un peu différent de celui de l’article.

Le scénario est déclenché par la présence ou l’absence d’un appareil bluetooth, Mi-Band dans l’exemple.

L’état des appareils bluetooth étant vérifié à intervalles réguliers, il faut bien cocher l’option de « Non exécution pour cause de répétition » sur le premier SI du scénario, cercle rouge à gauche de la commande, afin de lancer le scénario, seulement sur le changement d’état.

Ce scénario est volontairement court pour qu’il s’exécute rapidement afin de déterminer au plus vite la présence d’une personne via un virtuel, ou de lancer le scénario de vérification d’absence [Absent Membre] qui lui, est plus long, mais qui demande moins de réactivité.

SI #[Membres][Mi-Band Membre][Present]# == 1 ALORS

log : Miband présent.

Si l’appareil bluetooth est détecté comme présent, alors on rentre dans la boucle pour valider la présence du membre.

SI #[Membres][Virtuel Présence Membre][Etat]# == 0 ALORS

log : On passe le virtuel à présent.

Action : #[Membres][Virtuel Présence Membre][Présent]#

variable : Nom : PresentMembre Valeur : date(‘H:i:s’)

message : Membre présent à formattime(#time#). (#[Membres][Géolocalisation Membre][Distance Maison]# m).

Le virtuel binaire « Etat / présent(1) / absent(0) «   appelé [Virtuel Présence Membre] permet de connaitre l’état de présence du membre.

Si le virtuel  [Virtuel Présence Membre] est à 0 (absent), alors on modifie l’état du virtuel pour indiquer que le membre est à nouveau présent (1).

Le changement d’état du virtuel [Virtuel Présence Membre] va déclencher le scénarios [Scène Membre].

Ce test permet d’éviter les erreurs en cas de perte momentanée du signal du bracelet, malgré que le membre soit toujours dans le logement, mais hors de porté de l’antenne bluetooth.

On enregistre l’heure dans une variable qui sera visible dans le virtuel [Virtuel Présence Membre] et on envoi un message dans le centre de message de Jeedom (Membre présent à 18h58. (20 m).), c’est utile pour le débogage.

SINON

log : Membre n’était pas absent.

Le virtuel indique que le membre est déjà présent, il y a donc eu une perte de signal du bracelet, ou alors le membre est rapidement sorti et rentré avant d’avoir été validé comme absent. On ne fait rien dans ce cas, si ce n’est un log pour le débogage.

SINON

log : Miband absent on provoque le scénario absent

variable : Nom : NbAbsMembre Valeur : 0

scenario : #[Membres][Géolocalisation & Présence][Absent Membre]# Action : start

Si le scénario est déclenché par l’absence du bracelet Mi band (0), alors on lance le scénario [Absent Membre] qui va faire la triple vérification avant de passer le virtuel à absent.

La variable « NbAbsMembre » est mise à 0, elle sera utile dans le scénario d’absence.

Scénario : [Absent Membre]

Gestion de la présence avancées
Le scénario sur l’image et un peu différent de celui de l’article.

Le scénario est déclenché par le scénario précédent [Présent Membre]ou par lui même. On ne met rien dans l’événement déclencheur.

Ce scénario va faire les différentes vérifications nécessaires pour valider l’absence d’un membre et une fois cette absence confirmée, le virtuel [Virtuel Présence Membre] passera à absent.

SI #[Membres][Virtuel Présence Membre][Etat]# == 1 ALORS

log : Membre est identifié comme présent.

Le but de ce scénario est de passer l’état du virtuel [Virtuel Présence Membre] de présent, à absent. Donc, on vérifie si le membre est absent ou présent.

SI #[Membres][Mi-Band Membre][Present]# == 0 ALORS

log : Absence confirmé par Miband.

Même si la vérification de l’absence du bracelet à déjà été faite dans le scénario [Présent Membre], on refait le test, car le scénario peut s’auto-provoquer.

SI #[Hardware][Téléphone Membre][Statut]# == 0 ALORS

log : Absence confirmée par Wifi Téléphone.

Voila le deuxième test de présence, le wifi du téléphone. Mais Il arrive que le wifi du téléphone soit parfois désactivé, sa fiabilité est donc toute relative.

SI #[Membres][Virtuel Présence Membre][EtatGeo]#== 0 ALORS

log : Absence confirmé par géolocalisation. Virtuel présence Membre à absent.

Action : #[Membres][Virtuel Présence Membre][Absent]#

variable : Nom : AbsentMembre Valeur : date(‘H:i:s’)

message : Membre absent à formattime(#time#). (#[Membres][Géolocalisation Membre][Distance Maison]# m).

Action : remove_inat

Pour finir,nous avons le troisième test de présence, la géolocalisation. On ne fait pas directement un test sur la distance, on utilise simplement l’état du virtuel [Virtuel Présence Membre]mais cette fois, avec l’état [EtatGeo] qui est mise à jour grâce au scénario [Géolocalisation Membre]. L’état de la géolocalisation est réglé sur 150 mètres pour passer d’un état Proche (1) à un état Loin (0).

Si l’état de la géolocalisation est à 0, alors le membre est vraiment absent. On passe donc le virtuel [Virtuel Présence Membre] à absent.

Comme précédemment, on enregistre l’heure dans une variable qui sera visible dans le virtuel [Virtuel Présence Membre] et on envoie un message dans le centre de message de Jeedom (Membre absent à 18h27. (310 m).) pour le débogage.

Le remove_inat permet de supprimer les taches programmées du scénario.

SINON

log : Présence par géolocalisation. Vérification dans 1 minute. #[Membres][Géolocalisation Membre][Distance Maison]# m.

Action : remove_inat

Dans le cas ou la géolocalisation ne confirme pas l’absence, malgré le bluetooth et le wifi, on relance la vérification toutes les minutes pendant 5 minutes, puis on fait une pause de 5 minutes, avant de recommencer la vérification.

Il peut arriver parfois qu’on reste à moins de 150 mètres de la maison et donc que l’état de géolocalisation reste à « présent ». Cela peut arriver le temps de sortir la voiture du garage ou de discuter avec un voisin par exemple.

SI variable(NbAbsMembre) < 5 ALORS

C’est la variable que nous avions mise à 0 dans le scénario [Présent Membre] qui va nous permettre de savoir combien de fois on a vérifié la géolocalisation. Si c’est moins de 5 fois, on continue.

DANS 1 (MIN)

variable : Nom : NbAbsMembre Valeur : variable(NbAbsMembre,1) + 1

scénario : #[Membres][Géolocalisation & Présence][Absent Membre]# Action : start

log : NbAbsMembre == variable(NbAbsMembre)

On relance simplement le scénario au bout d’une minute. L’avantage, c’est que l’on refait le triple test à chaque fois, d’ou l’importance de revérifier le bluetooth au début du scénario.

Il faut aussi incrémenter de 1 la variable NbAbsMembre, pour bloquer le test au bout des 5 vérifications.

SINON

log : On Stop pour 5 minutes le scénario après 5 relances

Apres 5 minutes (5 fois 1 minute) de test, si la géolocalisation ne confirme toujours pas l’absence, alors on fait une pause de 5 minutes avant de recommencer.

DANS 5 (MIN)

log : On relance le scénario 5 minutes plus tard

variable : Nom : NbAbsMembre Valeur : 0

scenario : #[Membres][Géolocalisation & Présence][Absent Membre]# Action : start

Au bout de 5 minutes, on réinitialise la variable et on recommence les tests en relançant le scénario. Il est aussi possible d’utiliser la fonction ASK à cet endroit, pour recevoir un SMS indiquant que la géolocalisation du membre ne permet pas de valider son absence et donc de le faire manuellement.

SINON

log : Présence confirmée par Wifi Téléphone. Vérification dans 1 minute.

Action : #[Hardware][Téléphone Membre][Rafraîchir]#

DANS 1 (MIN)

scenario : #[Membres][Géolocalisation & Présence][Absent Membre]# Action : start

Si, lors du test du wifi la présence est confirmée, alors, on relance le scénario 1 minute plus tard.

SINON

log : Présence confirmé par Miband.

Action : remove_inat

Dans le cas ou le bluetooth indique présent, on arrête les vérifications, car on ne souhaite plus passer le membre à absent. On supprime les taches éventuelles.

SINON

log : Membre déjà identifié comme absent.

Théoriquement, on ne devrait jamais arriver ici, car le scénario déclencheur [Présent Membre] vérifie aussi l’état du virtuel [Virtuel Présence Membre]avant de provoquer ce scénario.

Scénario : [Géolocalisation Membre]

Gestion de la présence avancées

Ce scénario permet de définir l’éloignement d’un membre par rapport au logement. C’est le test qui va confirmer l’absence réelle d’un membre, après le bluetooth et le wifi. Il va aussi indiquer à Jeedom qu’un membre est en approche du logement.

Le scénario est déclenché par la distance entre le membre et le logement. Cette information est renvoyée par le plugin GeoLoc qui gère la géolocalisation.

La distance étant mise à jour régulièrement en fonction des déplacements du membre, il faut bien cocher l’option de « Non exécution pour cause de répétition » sur le premier SI du scénario, cercle rouge à coté de la commande, afin de n’exécuter le scénario seulement si le membre passe de moins 150 mètres à plus de 150 mètres, ou inversement.

Ce scénario peut être assez court si on veut seulement changer l’état d’un membre, mais on peut aussi ajouter des fonctions comme par exemple, ouvrir le garage, allumer les lumières extérieures, lever les volets, lorsque le membre est en approche du logement.

SI #[Membres][Géolocalisation Membre][Distance Maison]# <= 150 ALORS

log : Membre à moins de #[Membres][Géolocalisation Membre][Distance Maison]# m.

Action : #[Membres][Virtuel Présence Membre][Proche]#

Si le membre est à une distance d’au moins 150 mètres, alors on modifie l’état [EtatGeo] du virtuel [Virtuel Présence Membre] à [Proche]. Cette action ne provoquera pas de scénario dans notre exemple, car les actions à effectuer lors de l’approche d’un membre seront directement exécutées dans ce même scénario. Mais il est possible de déporter ces actions dans un scénario spécifique.

SI #[Appartement][Modes Maison][Mode]# == « Alarme » ALORS

log : Alarme Activé alors désactivation sirène.

Action : #[Appartement][Virtuel Activation désactivation][OffSirene]#

Voila un exemple d’action que l’on peut effectuer lors de l’approche d’un membre. Si le mode alarme est activé, alors on désactive la sirène.

Le but est que l’alarme ne sonne pas, si elle ne se désactive pas automatiquement lorsqu’un membre entre dans le logement. On pourrait aussi désactiver l’alarme de la zone garage et extérieure.

SI #[Membres][Virtuel Présence Membre X][Etat]# == 0 ET #[Membres][Virtuel Présence Membre Y][Etat]# == 1 ALORS

log : Membre X Absent et Membre Y présente alors TTS.

Action : #[Salon][Google Home Mini][Parle]# Phrase : Membre X arrive il est à #[Membres][Virtuel Présence Membre X][Distance]# mètres de la maison.

Si le membre X est absent et que le membre Y est présent, alors on fait une annonce TTS pour annoncer l’arrivée du membre X.

On peut ajouter plusieurs actions ou fonctions au scénario suivent ses besoins. Dans le cas d’un grand nombre d’actions, je vous conseille d’utiliser un scénario dédié, provoqué par le changement d’état [EtatGeo] du virtuel [Virtuel Présence Membre].

SINON

log : Membre à plus de #[Membres][Géolocalisation Membre][Distance Maison]# m.

Action : #[Membres][Virtuel Présence Membre][Loin]#

Si le membre est à une distance de plus de 150 mètres, alors on modifie l’état [EtatGeo] du virtuel [Virtuel Présence Membre] à [Loin]. Cette action ne provoquera pas de scénario, mais sera utilisable dans différents autres scénarios.

Scénario : [Scène Membre]

Gestion de la présence avancées

Ce scénario permet de lancer des actions personnalisées lors de la présence, ou de l’absence, d’un membre. Pour les actions communes à tout les membres, on utilisera le scénario [Scène Famille].

Le scénario est déclenché par le changement d’état, présent ou absent, du virtuel [Virtuel Présence Membre].

SI #[Membres][Virtuel Présence Membre][Etat]# == 0 ALORS

log : Membre est absent.

Si le membre est absent, alors on Log son état, avant de lancer les actions à effectuer lors de son absence.

SI #[Membres][Virtuel Présence Membre Y][Etat]# == 0 ALORS

log : Membre Y est déjà Absent

Scénario : #[Membres][Géolocalisation & Présence][Scène Famille]# Action Start

SINON

log : Membre Y est toujours présent.

Dans un premier temps, on vérifie la présence, ou non, d’un autre membre dans le logement. Dans cet exemple, s’il n’y a personne, on lance le scénario [Scène Famille]. Sinon on ne fait rien. Libre à vous d’ajouter les actions en fonction de vos besoins.

SINON

log : Membre est présent.

Si le membre est présent, alors on Log son état, avant de lancer les actions à effectuer en cas de présence.

SI #[Membres][Virtuel Présence Membre Y][Etat]# == 0 ALORS

log : Membre Y est Absent.

Scénario : #[Membres][Géolocalisation & Présence][Scène Famille]# Action Start(sync)

Action : #[Appartement][Virtuel Google Home][Music]#

SINON

log : Membre Y est déjà présent.

Comme lors de l’absence, on vérifie la présence, ou non, d’un autre membre dans le logement. Dans cet exemple, s’il n’y a personne, on lance le scénario [Scène Famille] en mode synchrone, pour que la, ou les actions suivantes, ne soient lancées que lorsque le scénario [Scène Famille] aura été complètement exécuté. Ensuite, on lance l’action, en l’occurrence la musique sur Google Home. Par contre, s’il y a un autre membre dans le logement, on ne fait rien. Libre à vous d’ajouter les actions en fonction de vos besoins.

SI #[Appartement][Virtuel Lampe de Bureau][Etat]# == 0 ALORS

log : On allume la lumière du bureau.

Action : #[Appartement][Virtuel Lampe de Bureau][On]#

Pour ce dernier exemple, on ne vérifie pas la présence d’un autre membre. L’action est exécutée à chaque fois que le membre est à nouveau présent. Libre à vous d’ajouter les actions en fonction de vos besoins.

Scénario : [Scène Famille]

Gestion de la présence avancées

Ce scénario permet de lancer des actions en fonction de la présence, ou de l’absence, de tous les membres.

Pour les actions spécifiques à un membre, on utilisera les scénarios [Scène Membre] qui déclencheront ce scénario.

SI #[Membres][Virtuel Présence Membre X][Etat]# == 0 ET #[Membres][Virtuel Présence Membre Y][Etat]# == 0 ALORS

log : Membre X et Membre Y sont absent.

Action :#[Hardware][Mi-Box JPI][home]#

Si tous les membres sont absents, alors on Log avant le lancer les actions à effectuer. La première action, c’est de mettre ma Mi-Box TV sur Home, pour couper d’éventuelles lectures en cours via Google Home, YouTube, Google Music…

SI #[Appartement][Virtuel Activation désactivation][EtatAutoAlarme]# == « 1 » ALORS

log : Activation de l’alarme car en Automatique.

Action :#[Appartement][Modes Maison][Alarme]#

Pour ce premier exemple, l’alarme s’active si elle est réglée sur automatique.

SI #[Salon][Player Salon][Etat Decodeur]# == 1 ALORS

log : TV allumé on l’éteint.

Action :#[Salon][Player Salon][ON-OFF]#

Dans cet exemple, on éteint la Livebox TV, si elle est restée allumée.

SI #time#>=800 ET #time# <1300 ALORS

log : Infos du matin.

Scénario : #[Appartement][Notifications][Notifications 2.0]# Action : Start (sync)

Tags : Type=0 Msg= »Chambre 1= #[Chambre 1][Capteur Température Hygrométrie][Température]#°C et #[Chambre 1][Capteur Température Hygrométrie][Humidité]# %. Chambre 2= #[Chambre 2][Capteur Température Hygrométrie][Température]#°C et #[Chambre 2][Capteur Température Hygrométrie][Humidité]# %. Salon = #[Salon][ThemoHydroDigital][Température]#°C et #[Salon][ThemoHydroDigital][Humidité]# %. Extérieur= #[Extérieur][Capteur Température Hygrométrie][Température]#°C et #[Extérieur][Capteur Température Hygrométrie][Humidité]# %. »

Ici, si on est entre 8:00 et 13:00, alors on envoie un SMS vie les scénario [Notifications 2.0] avec les informations de température et d’hydrométrie de la maison.

SI #[Cuisine][Mi-Robot][Statut]# == « Au Repos » ou #[Cuisine][Mi-Robot][Statut]# == « Chargeur déconnecté » ALORS

log : L’aspirateur est au repos (Pause) on le relance.

Action : #[Cuisine][Mi-Robot][Démarrer]#

Si l’aspirateur Robot est en pause, c’est à dire « Repos ou Déconnecté », alors on le redémarre.

SINON

SI #[Cuisine][Mi-Robot][Statut]# == « En charge » ET (#[Appartement][Virtuel Mi-Robot][Fini depuis :]# >= 12 ou #[Appartement][Virtuel Mi-Robot][Surface nettoyée]# < 10) ALORS

log : L’aspirateur est en charge depuis 12 heures ou que le nettoyage est < 10m² alors on demande.

Scénario : #[Appartement][ASK][Aspirateur Script]# Action : Start

Si l’aspirateur n’est pas en pause, alors on vérifie qu’il soit bien à sa station de recharge et également si un nettoyage de plus de 10 m² à eu lieu dans les 12 dernières heures.

Je fais ce test, car il arrive qu’on utilise l’aspirateur pour une petite surface (<10m²) en nettoyage ciblé, ou dans une pièce fermée comme la salle de bain et je ne veux pas que cela bloque le nettoyage.

L’aspirateur ne démarre pas automatiquement, mais seulement via un SMS en réponse au scénario ASK, pour plus d’info voir Jeedom Scénario – Fonction ASK via JPI Plugin.

SINON

log : Un des membre de la famille est présent.

Si un des membres est présent, alors on Log avant le lancer les actions à effectuer.

SI #[Appartement][Modes Maison][Mode]# == « Alarme » ALORS

log : Alarme activé on change de mode.

Scénario : #[Informations][Programmation][Réglage Modes]# Action : Start

A l’inverse maintenant, on désactive l’alarme dès qu’un membre est à nouveau présent.

Ici, j’utilise un scénario qui me permet de mettre le bon mode en fonction de l’heure et du jour, mais on pourrait très bien forcer le mode Journée.

SI #[Cuisine][Mi-Robot][Statut]# != « En charge » ALORS

log : L’aspirateur est en marche.

A présent, on vérifie si l’aspirateur est en charge ou pas (signe différent de !=). Si il ne l’est pas, alors on rentre dans la boucle.

SI #[Cuisine][Mi-Robot][Erreur]# == « Tout va bien » ALORS

log : L’aspirateur n’est pas en erreur.

Scénario : #[Appartement][Notifications][Notifications 2.0]# Action : Start (sync)

Tags : Type=2 Msg= »L’aspirateur n’a pas fini son nettoyage, il se mets en pause. »

Action : #[Appartement][Virtuel Mi-Robot][Pause]#

Si l’aspirateur n’est pas en erreur, alors on envoie une notification TTS via le scénario [Notifications 2.0] et on met l’aspirateur en pause.

SINON

log : L’aspirateur à un problème, notification vocal.

Scénario : #[Appartement][Notifications][Notifications 2.0]# Action : Start (sync)

Tags : Type=2 Msg= »L’aspirateur est en erreur : #[Cuisine][Mi-Robot][Erreur]# »

En cas d’erreur de l’aspirateur, j’envoie aussi une notification TTS via le scénario [Notifications 2.0].

Action : #[Appartement][Virtuel Mi-Robot][Trouver]#

Pour finir, on exécute l’action « trouver l’aspirateur », pour savoir ou il se trouve, qu’il soit en pause ou en erreur.

Il faut faire bien attention de mettre les actions aux bons endroits, pour ne pas risquer d’arrêter la TV ou d’activer l’alarme, à chaque fois que quelqu’un devient absent, même si quelqu’un est encore présent.

Virtuels et Widgets Jeedom

Pour les virtuels et les widgets, c’est vraiment un choix personnel, en fonction de son design et de ce que l’on veut avoir comme informations sur le dashboard.

Virtuel : [Virtuel Présence Membre]

Gestion de la présence avancées

Vous avez vu tout au long des scénarios que le virtuel [Virtuel Présence Membre] est souvent utilisé. Il permet d’avoir l’état de présence et de géolocalisation des membres.

  • Etat (Indispensable) : C’est la commande principale du virtuel. Elle est indispensable pour le bon fonctionnement des scenarios. Elle permet de savoir si le membre est présent (1) ou absent (0). Elle sera créé automatiquement lors de l’enregistrement des commandes action « Présent » et « Absent ».
    • Sous-type : Info / Binaire.
    • Valeur : Calcul.
  • Présent (Indispensable) : Cette commande action est indispensable elle permet de changer l’état de présence du virtuel à présent (1). Il faut bien saisir « Etat » dans le champ valeur lors de la création et après l’enregistrement affecter « Etat » à la commande valeur par défaut.
    • Sous-type : Action/ Défaut.
    • Valeur :
      •  Etat.
      • 1.
    • Paramètres :
      • Etat.
      • 1.
      • Afficher. A cocher seulement si vous voulez pouvoir changer manuellement l’état d’un membre à « présent ».
  • Absent (Indispensable) : Cette commande action est indispensable. Elle permet de changer l’état de présence du virtuel à absent (0). Il faut bien saisir « Etat » dans le champ valeur lors de la création et après l’enregistrement affecter « Etat » à la commande valeur par défaut.
    • Sous-type : Action/ Défaut.
    • Valeur :
      •  Etat.
      • 0.
    • Paramètres :
      • Etat.
      • 0.
      • Afficher. A cocher seulement si vous voulez pouvoir changer manuellement l’état d’un membre à « absent ».
  • EtatGeo : Cet état spécifique à la géolocalisation permet savoir si le membre est proche (1) ou loin (0). L’état sera créé automatiquement lors de l’enregistrement des commandes action « Proche » et « Loin ».
    • Sous-type : Info / Binaire.
    • Valeur : Calcul.
  • Proche : Cette commande action permet de changer l’état de géolocalisation du virtuel à proche (1). Il faut bien saisir « EtatGeo » dans le champ valeur, lors de la création et après l’enregistrement affecter « EtatGeo » à la commande valeur par défaut.
    • Sous-type : Action/ Défaut.
    • Valeur :
      • EtatGeo.
      • 1.
    • Paramètres :
      • EtatGeo.
      • 1.
      • Afficher. A cocher seulement si vous voulez pouvoir changer manuellement l’état de géolocalisation d’un membre à « proche ».
  • Loin : Cette commande action permet de changer l’état de géolocalisation du virtuel à loin (0). Il faut bien saisir « EtatGeo » dans le champ valeur lors de la création et après l’enregistrement affecter « EtatGeo » à la commande valeur par défaut.
    • Sous-type : Action/ Défaut.
    • Valeur :
      • EtatGeo.
      • 0.
    • Paramètres :
      • EtatGeo.
      • 0.
      • Afficher. A cocher seulement si vous voulez pouvoir changer manuellement l’état de géolocalisation d’un membre à « loin ».
  • Distance : Cette commande est utile pour l’affichage de la distance entre le membre et la maison. La valeur est fournie par la commande Distance Maison du plugin Geoloc.
    • Sous-type : Info / Numérique.
    • Valeur : #[Membres][Géolocalisation Membre][Distance Maison]#.
    • Unité : m.
    • Paramètres : Afficher.
  • Présent à : Cette commande est utile pour l’affichage de l’heure de présence du membre. La valeur est fournie par une variable mise à jour dans le scénario [Présent Membre] .
    • Sous-type : Info / Autre.
    • Valeur : variable(PresentMembre).
    • Paramètres : Afficher.
  • Absent à : Cette commande est utile pour l’affichage de l’heure d’absence du membre. La valeur est fournie par une variable mise à jour dans le scénario [Absent Membre].
    • Sous-type : Info / Autre.
    • Valeur : variable(AbsentMembre).
    • Paramètres : Afficher.
  • Adresse : Cette commande est utile pour l’affichage de l’adresse du membre. La valeur est fournie par la commande Rue du plugin Localisation et Trajet (geotrav).
    • Sous-type : Info / Numérique.
    • Valeur : #[Membres][Adresses Membre][Rue]#.
    • Paramètres : Afficher.
  • Ville : Cette commande est utile pour l’affichage de la ville du membre. La valeur est fournie par la commande Ville du plugin Localisation et Trajet (geotrav).
    • Sous-type : Info / Numérique.
    • Valeur : #[Membres][Adresses Membre][Ville]#.
    • Paramètres : Afficher.

Je n’affiche pas ce virtuel en permanence sur mon Design, mais seulement lorsque je survole avec la souris le virtuel [Virtuel Famille] grâce à la fonction Zone du mode design :

  • Clique droit.
  • Ajouter un zone.
  • Paramètres d’affichage.
  • Type de zone : Widget au survol.

Pour la mise en page du virtuel, j’utilise le mode tableau disponible dans :

  • Configuration avancés.
  • Disposition.
  • Configuration général
    • Disposition : Tableau.
    • Nombre de ligne : 5.
    • Nombre de colonne : 1
    • Centrer dans les cases : coché.
    • Style général des cases (CSS) : Rien.
    • Style du tableau (CSS) : background: rgba(0,0,0,0.7);-webkit-border-radius: 20px; width: 100%;
  • Configuration détaillée (Faire glisser les commandes au bon endroit).
    • Ligne 1 : Rafraîchir (caché), Présent(si affiché), Absent(si affiché), Distance.
    • Ligne 2 : Présent à :
    • Ligne 3 : Absent à :
    • Ligne 4 : Adresse :
    • Ligne 5 : Ville :

Virtuel : [Virtuel Famille]

Ce virtuel permet d’afficher l’état présent ou absent des membres et lors du survol de la souris sur un membre, le virtuel [Virtuel Présence Membre] correspondant apparaît.

Une seul virtuel pour tout les membres suffit, il est conseillé d’utiliser le mode tableau pour une mise en page claire.

  • Présence Membre 1 : Cette commande est utile pour l’affichage du membre 1 sur le dashboard. La valeur est fournie par la commande état du virtuel [Virtuel Présence Membre1].
    • Sous-type : Info / Binaire.
    • Valeur : #[Membres][Virtuel Présence Membre1][Etat]# .
    • Paramètres : Afficher.
  • Présence Membre 2: Cette commande est utile pour l’affichage du membre 2 sur le dashboard. La valeur est fournie par la commande état du virtuel [Virtuel Présence Membre2].
    • Sous-type : Info / Binaire.
    • Valeur : #[Membres][Virtuel Présence Membre2][Etat]# .
    • Paramètres : Afficher.
  • Présence Membre … : ajoutez les membres les uns après les autres.

Widget : [Membre]

Ce widget permet d’afficher la photo d’un membre, claire en cas de présence et grisée en cas d’absence, avec la durée depuis le dernier changement d’état (présent ou absent).

Il faut un widget par membre et l’affecter à la commande « Présence Membre X » correspondante du virtuel [Virtuel Famille].

    • Type : Info
    • Sous type : Binaire
    • Code : Pour avoir l’affichage du temps depuis le dernier changement d’état, ajouter ce code au widget :
      <span class="timeCmd#uid# timeCmd label label-default" style="background-color:#cmdColor# !important;"></span>

<script>
jeedom.cmd.update['#id#'] = function(_options){
jeedom.cmd.displayDuration(_options.valueDate, $('.cmd[data-cmd_id=#id#] .timeCmd'));
$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate) }
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>

Conclusion

Je suis d’accord que cet article est un peu long, [rt_reading_time] minutes pour le lire et au moins autant pour comprendre son fonctionnement, mais la gestion de la présence c’est complexe et ça n’aurait pas eu de sens de faire des articles successifs pour chaque scénario.

J’utilise cette gestion de la présence depuis plusieurs mois et je dois dire que j’en suis très satisfait. J’ai vraiment l’impression que la maison interagit intelligemment avec les différents membres de la famille.

Il pourrait être tentant d’ajouter de nombreuses fonctions, mais attention à ne pas vous « embrouiller les pinceaux », surtout si vous avez beaucoup de membres et que vous automatisez des éléments sensibles, comme l’activation et la désactivation de l’alarme par exemple.

N’hésitez pas à ajouter des notifications SMS pour être informés des différentes actions et changement d’états. Personnellement j’en ajoute lors des périodes de test et je les remplace petit à petit par des messages Jeedom, puis des logs, lorsque tout fonctionne comme prévu. L’utilisation de virtuel d’activation, désactivation, peut être utile en cas de problème ou d’événement inhabituel, comme la présence d’un invité à la maison.

Si vous avez des idées de déclinaisons, d’optimisations, ou des remarques, n’hésitez pas à laisser un commentaire et si cet article vous a intéressé notez le. 🙂

Laisser un commentaire

Ce site est protégé par reCAPTCHA et le GooglePolitique de confidentialité etConditions d'utilisation appliquer.

Cet article a 52 commentaires

  1. Jeade09

    Excellent article avec une progression logique facilitant la compréhension, malgré la complexité du sujet traité.
    Bravo pour ce travail remarquable qui nous offre une fois encore de nouvelles possibilités dans l’utilisation de Jeedom.

    1. Guillaume Braillon

      Merci pour les compliments ça motive pour continuer.

    2. Mathieu

      Je rejoins le commentaire de Jeade09 : Guillaume, tes tutoriels sont vraiment excellents ! Autant dans le fond que dans la forme !

      Après, personnellement, quand je les survole uniquement, j’ai l’impression que c’est des trucs irréalisables, beaucoup trop complexe !! Mais comme tu le précise souvent, ces tutoriels sont fait plutôt pour des gens plutôt confirmés et qui savent interprétés et adaptés les actions par rapport a leur propre équipements/besoins.

      En tout cas, c’est toujours avec plaisir que je découvre tes articles… J’avoue même être tout exité lorsque j’ai un e-mail qui m’indique qu’il y a un nouvel article sur ton blog 😉

      1. Guillaume Braillon

        Bonjour,
        Merci pour le commentaire très encourageant.
        Il faudrait peu être que je fasse un article permettant aux débutants de pouvoir adapter les scénarios complexe.
        J’espère être assez clair dans mes explications je vais tâcher de l’être encore plus.

        1. Mathieu

          Alors, c’est certain que des scénarios un peu plus simple permettrait d’attirer plus de lecteurs dans ton blog (de plus en plus de gens s’intéressent a la domotique, et Jeedom, par le faite qu’il soit gratuit, populaire, avec une bonne communauté, et très souple, attire beaucoup), et ne sont pas forcément très a l’aise avec la programmation (ce qui est mon cas malgré que j’utilise la solution Jeedom depuis 2 ans !!).

          Par exemple, personnellement, la 1ère fois que j’ai lu l’article, je l’ai juste survolé en me disant que de toute façon, il me faudrait trop de temps pour l’utiliser et c’est seulement une semaine après (parce que j’avais rien a faire pendant mon jour de repos), que j’ai décidé de mettre en place ton tutoriel.

          Pour être franc, tout ne fonctionne pas correctement encore chez moi, pourtant j’ai l’impression d’avoir suivi ton tuto pas à pas. Mais entre la clarté de tes excellentes explications, et la réflexion qu’appellent celles-ci, ça me force a m’interroger sur tes choix (pourquoi activer un virtuel alors qu’on peut s’en passer), les analyser, et du coup, j’apprends plein de choses et de méthodes dont je n’avais jamais pensé !
          Je ne te pose pas forcément de questions a propos de pourquoi chez moi, tout ne fonctionne pas correctement, car je m’aperçois qu’avec un peu plus d’observation, c’est a chaque fois une erreur de ma part. Je préfère étudier pourquoi ça ne marche pas plutôt que de polluer ton tuto 🙂

          Ce que j’apprécie aussi beaucoup, c’est la mise en forme de ton blog… Toutes les parties apparaissent clairement, et on retrouve facilement une étape dont on veut observer plus particulièrement. Par exemple, je trouve tes tutoriels beaucoup mieux « étapés » par rapport a ceux du blog de Samarkha, et beaucoup plus compréhensible (désolé pour lui).

          A chaque fois que je lis tes tutoriels, je me demande comment tu fais pour penser a tout ça… Tu verrais mes scénarios, je pense que tu rigolerais bien lol ! Donc il faut continuer ce genre de tuto, mais je pense que si tu veux attirer plus de lecteurs, il faut aussi faire des tutos plus simples.

          P.S. : Si tu pouvais faire un tuto sur les « tags », j’en serais ravi ! Avec tes tuto, j’arrive bien a comprendre, mais sinon, même entre la doc officielle et le forum Jeedom, je n’arrive pas a en voir un intérêt ou comment l’utiliser 🙁

        2. Pradel

          Bonjour Guillaume
          Je suis Laurent et débutant sur jeedom avec très peu de compétences en informatique mais j’utilise jeedom depuis quelques temps avec quelques petits scénario pour mes volets roulants qui monte le matin ou redescend le soir auriez vous un scénario plus simple avec la géolocalisation et le nut ou wifi a me conseiller
          ..mais vraiment très bien votre tuto et sinon merci de votre temps passé.laurent Voici mon adresse mail sinon .
          Laurentpradel.40@hotmail.fr
          Cordialement Laurent

  2. chris777

    Bonjour, Très bon article par contre est ce que tu trouves le plugin « Network » efficace mois j’ai préféré le script que je trouve bien plus performant :

    #Script shell permettant de savoir si une adresse mac ou ip est présente sur le réseaux
    # Necessite arp-scan
    # $1 : mac ou ip
    # $2 : adresse
    # Il faut ajouter les droits à apache (www-data) d’éxécuter la commande arp-scan
    # Dans un terminal :
    # sudo apt-get install arp-scan fping #installation du paquet permetant de scanner le réseaux et du paquet pour faire un ping rapide
    # sudo visudo -s
    # Ajouter la ligne :
    # www-data ALL=NOPASSWD: /usr/bin/arp-scan
    if [ « $1 » = « mac » ]; then
    sudo /usr/bin/arp-scan -l -g –retry=5 -T $2 -t 800 | grep -i $2 | wc -l
    elif [ « $1 » = « ip » ]; then
    /usr/bin/fping -c1 -t50 $2 2>&1 | grep « min/avg/max » | wc -l
    fi

    ce script n’est pas de moi mais je n’arrive plus à trouver ma source (désolé pour l’auteur).

    1. Guillaume Braillon

      Personnellement je trouve le plugin simple à utiliser et il faut le job.

  3. Herve

    Tes Articles sont toujours intéressants 🙂
    J’ai pour ma part un système un peu similaire mais j’ai intégré une notion de « Sortie Poubelle ».
    Plus de bluetooth Plus de Wifi mais encore proche .
    (cela permet de gérer de façon plus fine mes alarmes et extinctions diverses)

    1. Guillaume Braillon

      Merci pour le compliment.
      Dans mon systeme le faite de ne valider l’absence avec la géolocalisation permet de sortir les poubelles et de revenir sans que l’alarme ne s’active.
      C’est l’avantage de Jeedom chacun peut adapter le systeme à ses besoins.

  4. Karim

    Bonjour, super ton commentaire, le seul problème, c’est que je suis apple donc la localisation je n’y comprend pas. autre soucis avec le wifi quand le portable est en veille, le ping me marque absent, pourtant se sont deux chose que j’aimerais utilisé. cest peut ètre le faite que je suis novice et j’y connais rien !

    1. Guillaume Braillon

      Bonjour,
      Désolé je n’ai plus d’iphone depuis longtemps du coup je ne connais pas les spécificités. IL doit sûrement être possible de trouver quelque chose d’équivalent sur le forum de jeedom.

    2. zeddiculus

      Le plugin IOS Cloud te permet d’utiliser la géoloc d’un iphone. Personnellement, je trouve la géoloc sur iphone mieux implémentée, dans le sens ou c’est Jeedom, (via le plugin) qui va demander ta position, tandis que pour Android, Jeedom est tributaire du téléphone pour recevoir la donnée (Je le vis actuellement avec le telephone de mon amie qui n’envoie pas sa localisation (testé avec Jeebud et Tasker) ou alors très rarement, alors que je n’ai pas de soucis pour mon iphone.

      En passant, merci Guillaume de partager tes scénarios!

      1. Guillaume Braillon

        Merci pour l’info.
        Regarde du coté des plugins pour les problèmes de non réception car je n’ai jamais eu de problème avec Jeebud ou domowidget mais j’en ai eu avec le plugin geotrav.

  5. prohand

    Bonjour,

    Merci pour ce tutoriel très bien expliqué. 🙂

    Je n’arrive pas à faire un truc :

    Ce virtuel permet d’afficher l’état présent ou absent des membres et lors du survol de la souris sur un membre, le virtuel [Virtuel Présence Membre] correspondant apparaît.

    Lorsque je passe la souris sur les icônes je n’ai rien qui apparait.
    Comment as-tu fait ?

    Merci d’avance

    1. prohand

      Bonsoir,

      Excusez moi j’ai trouvé la réponse dans le tutoriel…
      J’avais effectivement mal lu.
      Désolé du dérangement et encore bravo pour le tuto 🙂

      1. Guillaume Braillon

        Bonsoir,
        Pas de problème c’est sur qu’il y a beaucoup d’informations dans l’article.

  6. David d

    Bonjour Guillaume,
    Super article et par extension, super site.
    Je te consulte de plus en plus à mesure que je comprends les rouages. Tu es toujours très pédago dans ton approche et selon moi tu es parmi les meilleurs site de vulgarisation de Jeedom.
    Sans oublier les bons plans qui ont le mérite d’êtres très réguliers.

    Je viens de me faire les dents sur ce tuto très complet. J’ai réussi à l’adapter à mon environnement mais j’avoue ne pas parvenir à mettre en oeuvre le Widget. Je ne comprends pas où le code doit être placé et ce qu’il renvoie. Mes connaissances en la matière sont faibles et peut-être pourrais-tu développer un peu plus ou m’orienter vers d’autres tutos.

    Encore merci pour ce blog

    David

    1. Guillaume Braillon

      Bonjour et merci pour ton commentaire qui est très encourageant.
      Ok pour le widget je vais voir si j’ai le temps de faire un article plus complet sur le sujet. J’ai déjà publié un article pour personnaliser les widgets peut être que tu trouveras la solution.
      Bon courage et merci encore de lire mon blog et d’utiliser mes mes bons plans.

      1. Michael

        Salut Guillaume,
        Encore merci pour tous tes tutos! Est-ce que par hasard tu aurais avancer sur l’article plus complet pour le widget? 😀
        Merci d’avance,

        1. Guillaume Braillon

          Salut,
          Ou est-ce que tu bloques pour le widget ? Celui au passage de la souris ?
          Dit moi se que tu veux faire et ou tu en es ?

  7. domoaddict

    Bonjour,
    Jolie article. La gestion de la présence peut paraitre simple, mais avec les « faux positifs » et les « vrais négatifs », cela donne du fils à retordre dans les scénarios. Sans compter les oublis de smartphones à la maison ou les batteries déchargées ;o)

    Juste une petite remarque qui peut être utile pour d’autres scénarios, il est parfois préférable de vérifier une « différence » qu’une « égalité ». exemple pour « SI #[Membres][Virtuel Présence Membre][Etat]# == 0 ALORS » du scénario « [PRÉSENT MEMBRE] ».
    En effet, la valeur de « #[Membres][Virtuel Présence Membre][Etat]# » est « null » (vide, néant, nada, rien, etc..) lors de la création dans le virtuel, la condition n’est donc jamais vrai pour la première exécution du scénario, alors qu’avec « SI #[Membres][Virtuel Présence Membre][Etat]# != 1 ALORS », cela fonctionnera à tout les coups.

    Bref, une minuscule remarque pour un très belle article, bravo !

    1. Bonjour,
      Merci pour la remarque c’est vrai que ça peut éviter quelques erreurs. A titre personnel je fais toujours des tests avant donc je n’ai pas de null mais pour un tuto ça peut être utile.

  8. iPapy

    Bonsoir Guillaume,
    Une fois de plus je dis BRAVO pour ce tuto sauf qu’il va me falloir je pense quelques heures voir peut être jours (et une boite d’aspirine) pour le décortiquer et mettre cela en œuvre chez moi même si j’avance plus avec Jeedom qu’il y a quelques mois 😉
    En tout cas j’adore tes tutos même si parfois je rame lool

    1. Guillaume Braillon

      Ne t’inquiète pas si tu as besoin d’aide il ne faut pas hésiter à laisser un commentaire. Il faut y aller petit a petit et bien comprendre se que l’on fait pour ne pas être dans les choux.

  9. jimbo7384

    Salut guillaume !
    Alors je me lance dans des choses plus complexe qu’un simple IFTTT avec scénario de type action ON et OFF…. et j’ai besoin pour un allumage automatique de la lumière chez moi de ce genre de scénarios…
    J’avais fait mon centre de présence en fonction de ce site :
    https://www.ca-sert-a-quoi.com/articles/domotique/tuto-centre-de-gestion-de-presence/
    Mais tu en intégre un autre qui semble plus complet au final.
    Pense tu qu’il faille me recreer un virtuel ou puis je m’appuyer sur ce que j’ai déjà fait ?
    Ton tuto est très costaud j’espère pouvoir arriver au bout car il est très complet je trouve.

  10. Badjojo

    Salut,
    Quel est le nom du widget que tu utilise pour la gestion de présence? je ne le trouve pas sur le market.

  11. Olivier

    Bonjour Guillaume,
    très bon article, moi je bute sur la photo…comment la mettre en place dans le widget du membre ?

    1. Guillaume

      Bonjour,
      C’est le même principe qu’un widget pour la lumière sauf qu’il faut mettre un photo de personne.

  12. iPapy

    Bonjour Guillaume,

    Je viens de me remettre sur le tuto mais j’ai une question. Dans ton tuto tu utilise la Géolocalisation, et comme il y a différents plugins sous Jeedom lequel me conseille tu vu que je repart de zéro sur un nouveau serveur.
    Je suis moi même sous IOS mais ma fille est sous Android et j’ai cherché un peu sur ton site si tu avais fait un tuto sur la géolocalisation mais je n’ai pas trouvé, saurais tu m’aiguiller?
    Merci d’avance pour ta réponse.

    1. Guillaume

      Bonjour,
      Pour les plugin jeedom j’utilise geoloc et geotrav. le premier pour la réception de la geoloc depuis mon smartphone via domowidget (moi) ou jeebud (ma femme) et le second pour récupérer l’adresse.
      Je n’ai rien sur la geoloc via ios car je n’ais plus d’iphone.
      Pour la config de la geoloc je voulais faire un tuto mais il y a toutes les infos sur le forum. Si toute fois vous avez des soucis n’hésitez pas a m’envoyer un commentaire.

  13. iPapy

    Bonjour Guillaume,

    Merci pour ta réponse, je vais fouiller sur le forum 😉

  14. Splafi

    Bonjour,

    Superbe tuto. J’ai mis un peut de temps à la comprendre mais c’est bon.
    J’ai tout de même une petite question qu’en est il d’une arrivé simultanée des deux membres de la famille (dans mon cas nous ne sommes que deux).
    En effet les scénarios Scène Membres viens compléter le Scénario Scène Famille en y ajoutant la personnalisation comme une musique spécifique ou une ambiance lumineuse particulière.
    Dans le cas d’une arrivé simultanée est ce que les Etat Virtuel Membre X et Y vont passer de 0 à 1 en même temps afin que dans le Scénario Scène Famille la première condition soit remplis afin que les scènes membre X et Y ne lance pas les personnalisations.

    Même si en tout debut de tuto vous précisez que l’on veux un scénario rapide pour changer l’etats des virtuel sur présent rapidement. (Certaiment pour éviter la situation que je décris)

    Merci par avance pour votre réponse.

    1. Guillaume

      Bonjour,
      Effectivement si les deux membres rentrent en même temps il y aura un des membres qui va déclancher les scénarios.
      C’est le cas chez moi lorsque je rentre seul je veux que Google Home joue de la musique mais lorsque nous rentrons tout les deux je fais un test sur la présence de ma femme pour ne pas lancer la musique. Il arrive que la musique démarre si son nut est plus long que mon miband déclancher la présence.

      1. Splafi

        Super Merci pour la réponse c’est bien ce que je pensais qu’il se passerait.

        De toute manière il en est de même quand on utilise la gestion de présence faite directement par Homekit (via un concentrateur).

        Je vais toute de même essaye de la mètre en place.

  15. Yoan

    Merci Guillaume pour ce très bon tuto même si je me tire les cheveux pour le faire fonctionner.
    Je vais y aller étape par étape en les validant les unes après les autres.

    J’ai créé le Virtuel Présence Yoan avec les même infos que le tuto sauf Rue et Ville qui ne m’intéresse pas.

    https://i45.servimg.com/u/f45/17/88/43/18/aide110.png

    Ensuite jai créé le scénario identique en respectant le tuto et j’ai juste décoché l’action qui lance le scénario absent car ce dernier n’est pas encore créé.

    https://i45.servimg.com/u/f45/17/88/43/18/aide210.png

    Malgré cela quand je lance le scénario, l’état du VD ne passe pas à présent alors que mon nut est bien présent.

    J’ai raté quelque chose ?

    Merci

    1. Yoan

      Voici ce que j’ai dans le log.

      [2019-09-03 21:22:17][SCENARIO] Start : Scenario lance manuellement.

      [2019-09-03 21:22:17][SCENARIO] Exécution du sous-élément de type [condition] : if

      [2019-09-03 21:22:17][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai

      [2019-09-03 21:22:17][SCENARIO] Non exécution des actions pour cause de répétition

      [2019-09-03 21:22:17][SCENARIO] Fin correcte du scénario

      1. Yoan

        Je m’auto répond 🙂 et oui, si je souhaite lancer mon scénario en manuel, il est préférable de décocher l’option de « Non exécution pour cause de répétition » sur le premier SI du scénario.

        1. Guillaume

          Effectivement ça ne marche pas si tu lances le scénario manuellement.
          Lorsque je test des scénarios j’ajoute des commandes SMS pour vérifier si je suis absent ou présent.
          Tu peux aussi, suivant la taille de t’a maison, t’eloigner pour que le bluetooth perdre la présence.
          Autres solutions tu peux faire un scénario avec une commande event pour mettre a jour là valeur de ton appareil bluetooth qui est utilisé pour déclancher le scénario.

          1. Yoan

            Merci Guillaume. J’en ai terminé avec le tuto. Tout fonctionne et c’est très rapide.

            Il faut être méthodique pour l’installation et ne pas se précipiter.

            Ton tuto est vraiment excellent et il répond parfaitement à mes attentes. Encore un grand merci.

            Je vais le laisser vivre un peu et y ajouter quelques actions au fur et à mesure .

            MERCI !!!

        2. Guillaume

          Super je te remercie de ton message c’est très encourageant de savoir que mes tutos sont utiles.
          Bon courage pour la suite.

  16. Yoan

    Bonjour Guillaume,

    Est ce que tu pourrais détailler l’installation que tu as mise en place c$oté Jeebud ?

    Sur mon téléphone ca fonctionne mais les kms ne sont pas bon (je suis à 33kms de chez moi et le Virtul m’annonce 27 kms)
    Sur le téléphone de ma femme, même modèle que le mien, la géolocalisation ne fonctionne pas du tout. La première fois tout a fonctionné puis c’est resté bloqué à 4kms et depuis plus rien.

    Merci

    1. Guillaume

      Ok j’ajouterai une copie d’écran de ma configuration. Regarde du côté de l’économiseur de batterie. Il doit être désactivé sur l’appli.

  17. Jérôme

    Bonsoir

    Super Tuto très bien détaillé
    Je l’ai refait pour deux personnes maintenant je passe à plus compliqué 5 personnes :o)
    Je me demande juste si je vais tester toutes les combinaisons possible pour valider la présence des uns et des autres car cela va en faire pas mal 2^5 si je me trompe pas de combinaison !

    1. Guillaume

      Bonjour, merci pour ton message.
      Chez moi je suis passé par un widget « maison » qui est mis a jour par un scénario qui est déclenché par les présences des membres. Cela permet de simplifier la gestion pour les autres scénario déjà en place. Je pourrais t’en dire plus si besoin.
      Bon courage.
      Guillaume.

      1. Jérôme

        J’ai simplifié les scènes membres mais c’est la scène famille qui est complexe au finale avec 5 personnes.
        J’ai aussi créé un virtuel Global qui passe à 1 dès qu’il y a un membre de présent.
        J’ai aussi modifié les états en mettant qu’un seul état avec 0, 1, 2, 3 pour les différents modes (Présent, absent, proche et loin)
        Ensuite, je reste sceptique quand à la géolocalisation et les distances tant sur iOS que sur Androïd avec tasker car j’ai du mal à avoir les mises à jours des distances et des adresses du geofence.

        Je suis pas encore passé au Widget sur la V4 je cherche à faire mes scénarios mais oui cela peut être intéressant de voir ce sur tu as réalisé pour m’y mettre et inspiration :o)

        Il y a un truc auquel je viens de penser si tu laisses tes clés qui ont le nut à la maison et que tu pars qu’avec ton téléphone je ne l’ai pas géré…
        Et il y a les cas de figure où tu retournes à la boîte à lettre avec tes clés ou tu discutes avec le voisin au bout du jardin pas géré non plus…
        Une confirmation par un ask sur telegram pourrait faire l’affaire mais pour mon épouse c’est déjà trop, une télécommande zwave ou autre pourquoi pas mais encore une télécommande de plus….
        Encore du boulot en fait

        1. Guillaume

          Le fait d’avoir un virtuel global te permet de lancer le scénario famille des que quelqu’un est présent ou part de la maison, du coup tu ne penses plus membre individuel mais global. Après si tu as des spécifications particulières pour des membres tu utilises des scénarios individuel.

          Pour la géolocalisation sous Android j’utilise jeebud sur le téléphone de m’a femme et ça marche très bien, elle n’y touche jamais et moi non plus. Sur le mien j’ai domowidjet qui fonctionne bien même s’il arrive qu’il n’actualise pas toujours.

          Pour les fausses absences si tu as tes clés mais pas ton tel tu ne devrais pas passer absent car le wifi et la géolocalisation bloque.

          Effectivement je le gère chez moi avec une boucle qui relance le scénario avec un tag qui s’incrémente toutes les minutes. Au bout de 5 je reçois un SMS qui me dit qu’il y a un problème de présence et me demande si je passe la personne a absente ou pas.

          Voilà déjà des pistes de réflexion mais c’est vrai que ça peut vite devenir complexe comme scénario pour gérer toutes les possibilités. Perso je gère aussi la nounou a qui je ne peux pas demander d’installer jeebud par exemple.

          1. Jérôme

            Bonsoir

            Tu as fais un tuto pour Jeebud ? je ne trouve pas comment le mettre comme il faut en route notamment avec les appellation nouvelles de la V4 de Jeedom

  18. Jérôme

    Bonjour Guillaume,

    Oui je suis ok sur la philosophie du scénario famille, c’est bien comme ça que je l’utilise. et j’utilise pour le moment peu les scénarios individuels je veux que le famille marche au mieux.

    Merci pour les noms de géolocalisation que je ne connaissais pas.

    Pour les fausses absences hier ma femme avait gardé les clés dans la poche et entrait et sortait de la zone : grrrr
    Ensuite je pense que la géoloc avec tasker m’a joué des tours ou c’est le fait de capter le réseau je ne sais pas (parfois ma fille mets en avion le téléphone pffff)

    Oui j’ai vu le principe de cette boucle qui demande au bout de 5 minutes si ok ou non mais je n’ai pas mis en route le ask pour le faire.

    Ouf j’ai pas la nounou chez moi :o)

  19. mickael

    waouhou c’est une usine a gaz ce tuto!!! c’est exactement ce que j’aimerai faire,
    en revanche j’ai vraiment peur de me lancer car je suis debutant et malgres avoir lu plusieur voir le tuto je ne compend pas tout , et copier coller bêtement des lignes n’a aucun interet pour moi,
    j’ai déjà suivi un tuto sur internet plus simple mais aussi moin poussé, et si par exemple j’oublie mon téléphone a la maison je suis considéré comme present, et ca m’ennuie un peu… de plus je n’ai que le Bluetooth avec 2 nuts et le wifi pour gerer cela, j’ai suivi un autre tuto sur la documentation du plugin geolocalisation mais je ne l’ai pas integré a mon scenario gestion de présence…je patauge un peu…. car la gestion de presence et quand meme quelque chose d’assez complexe, beaucoup de condition sont a tenir en compte… en tant que debutant, mes scenario sont des choses basiques comme des lumières ou des volets roulants…

  20. Rémi

    Hello,

    Merci beaucoup pour ton retour,

    Par contre j’ai une petite question, si il n’y a plus de pile dans le nut ou qu’on le perd. Le scénario tourne en boucle continuellement non? (Présence wifi + loc OK)

    Est-ce que ça ne fait pas planter le système dans ce cas?

    Merci

Les liens d’affiliation vers les partenaires nous permettent de recevoir du matériel gratuit afin de proposer plus de tests. Nous refusons les partenaires qui ne nous laissent pas dire ce que nous voulons dans les articles. Les commissions perçues sont réutilisées pour l’achat de matériel et l’entretien du site.
Merci de soutenir les sites amateurs et indépendants !

Merci à ceux qui ont contribué.

Fermer le menu

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :