[TUTO] – Jeedom : Gestion de présence

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5,00 out of 5)
Loading...

de | 3 octobre 2017

Hello !

Aujourd’hui un petit tuto sur comment faire de la gestion de présence automatique . En employant le terme présence « automatique » j’entend par là, le fait d’utiliser un outil permettant de gérer et vérifier les aller et venu d’une personne et donc savoir si elle est bien présente. Soit via un clavier d’alarme, soit via un équipement bluetooth de type Nut etc… et non pas, via une entrée dans un calendrier pré-programmé par exemple.

Le matériel

Dans un premier temps, petit tour du propriétaire avec le matériel utilisé pour gérer la détection de présence :

Pour mon utilisation quotidienne, j’ai donc décidé d’utiliser un petit dongle Bluetooth BLE de type Nut Mini 3 que j’ai accroché à mes clés de voiture. Nous utilisons tous les jours nos véhicules pour aller au travail de fait, c’etait pour nous le meilleur endroit où poser cet équipement afin de faire de la détection de présence. De plus il s’agit d’un périphérique tout le temps actif, il n’y a aucun bouton pour le reveiller, de fait la détecter peux etre vraiment automatique.

Pour la partie reception des données du Nut Mini 3, et donc coté Jeedom, j’utilise une clé USB Bluetooth 4.0 BLE connecté à mon NUC sur lequel tourne Jeedom ainsi qu’un RaspberryPi 3 en mode antenne, en utilisant la puce Bluetooth intégrée de ce dernier. Avec ça, je couvre les 110m² de mon domicile sans problème.

/!\ Il faut absolument que la clé Bluetooth soit compatible BLE /!\ En cas de doute vous pouvez prendre celle que je vous propose en lien, c’est celle que j’utilise.

Enfin, il ne s’agit pas de matériel mais plutot de logiciel, j’utilise l’excellent plugin Jeedom Bluetooth Advertisement qui permet de gérer les périphériques bluetooth mais aussi de déclarer une ou plusieurs antennes !

Donc pour résumer le matoss :

La mise en place

Installation de la clé USB Bluetooth

Là pas grand chose à faire, si vous etes sur un raspberry vous n’avez qu’a brancher la clé et ce sera dectecté directement.

Si vous etes sur un environnement virtualisé de type VMware alors il faudra connecter la clé puis l’ajouter à la VM. Vous pouvez suivre mon tuto qui explique comment installer Jeedom dans une VM VMware, j’explique comment connecter un périphérique USB à Jeedom.

Installation du plugin

  • Là aussi c’est assez facile, pour installer le plugin il suffit de se rendre dans votre Jeedom puis d’aller dans Plugins > Gestion des plugins > Market

Jeedom : Gestion de présence

 

  • Recherchez Bluetooth Advertisement puis cliquer dessus afin de pouvoir l’installer

Jeedom : Gestion de présence

 

  • Il ne reste plus qu’a cliquer sur Installer stable et c’est parti !

Jeedom : Gestion de présence

Page de configuration

Après avoir installé le plugin, il vous sera demandé de l’activer ou non. Activez-le afin d’avoir accès à la page de configuration ci-dessous.

Cette page recense l’état général du démon BLEA ainsi que toute sa configuration.

Si ce n’est pas fait lors de l’installation du plugin, il faudra procéder aux actions suivantes :

  1. Installation des dépendances
  2. Selection de la clé USB Bluetooth
  3. (Re)Démarrage du démon

Si tout va bien, tout devrait être OK comme l’image ci-dessous

Cliquez sur l’image pour l’agrandir

Jeedom : Gestion de présence

Appairage du Nut Mini 3

Dernière étape pour que tout votre matériel soit opérationnel : l’appairage de votre Nut !

  • Pour ça rien de plus simple, aller dans Plugins > Protocole domotique > Bluetooth Advertisement

Jeedom : Gestion de présence

  • Cliquez sur le gros bouton Lancer Scan puis retirez et remettez la pile de votre Nut, il devrait clignoter et être vu par Jeedom.

Jeedom : Gestion de présence

 

  • Si l’association est bonne, vous devriez etre redirigé automatiquement sur la page de configuration de votre Nut, comme l’image ci-dessous

Jeedom : Gestion de présence

 

Ci-dessous, la page des commandes disponible pour le Nut

Jeedom : Gestion de présence

Bon voila, coté matériel on a tout, on va pouvoir passé aux virtuels, scénarios etc…

L’automatisation

Les variables

Dans un premier temps on va créer 3 variables qui me seront utiles pour mes prochains scénarios.

  1. vBLE-Ginette (Utilisé en mode texte)
  2. vBLE-Maxime (Utilisé en mode texte)
  3. vPresenceGlobale (Utilisé en mode binaire)

Les scénarios

Maintenant on peux créer nos scénarios. Le but étant, de passé automatiquement la maison en mode « Présent » lorsqu’il y a au moins une personne, et en mode Absent, quand il n’y a plus personne.

Pour cela comment j’ai fais ? J’ai créé deux scénarios et utilisé la variable vPresenceGlobal créée précédemment.

Scénario 1 : Gestion de présence

Ce qui, visuellement, donne ceci :

Cliquez sur l’image pour l’agrandir

Jeedom - Gestion de présence

Alors qu’est ce que ça veux dire tout ca ?

1er bloc :

Je demande via un scénario, de modifier une variable qui sera utilisée dans un autre scénario pour d’autre action. SI Ginette ET Maxime sont Absent (Nut Mini = 0) ALORS tu me passes la variable vPresenceGlobal à 0 (oui y’a plus personne à la maison).

Dans le cas contraire tu la passe à 1 car ca veux dire qu’il y a au moins 1 personne de présente.

2ème et 3ème bloc :

Ces deux blocs permettent de mettre à jour les variables vBLE-XXX suivant le status du Nut et permettent de remonter l’heure à laquelle le status s’est mis à jour. Cela nous sera utile pour le virtuel, à la fin de ce tuto.

 

Scénario 2 : Passage en mode « Présent »

Ce qui, visuellement, donne ceci :

Cliquez sur l’image pour l’agrandir

Jeedom - Gestion de présence

Alors qu’est ce que ça veux dire tout ca ?

Je joue ce scénario sur la modification de la valeur de la variable vPresenceGlobale. SI ma variable vPresenceGlobal = 1 (c’est qu’il y a au moins 1 personne à la maison) ALORS, SI le mode actuel = « Présent » OU « Nuit » (c’est qu’il y a quelqu’un à la maison) ALORS tu fais rien, SINON (si c’est un autre mode, c’est qu’il n’y a personne) tu passes en mode « Présent ».

 

Scénario 3 : Passage en mode « Absent »

Enfin, dernier scénario qui permet de gérer toute la chaine de présence. Le passage automatique en mode absent. J’ai pas mal galérer pour faire ça, au début je le gérait avec l’application webapp et le plugin Geoloc iOS mais c’etait pas assez fiable.

Du coup j’ai cherché comment optimiser et surtout fiabiliser la chose et j’ai trouvé !

Ce qui, visuellement donne ceci :

Cliquez sur l’image pour l’agrandir

Jeedom - Gestion de présence

Alors qu’est ce que ça veux dire tout ca ?

Tout simplement que toutes les minutes, le scénario se déclenche et va checker le status de mes Nut Mini. Si le Nut de Ginette ET de Maxime est en status 1 depuis + de 300 secondes (5minutes) alors tu passes en mode « Absent« .

Avant de faire ce check, j’avais souvent des faux positif car mes tag décrochaient en même temps pendant quelques secondes. Du coup la maison passait en mode Absent puis Présent en l’espace d’une minute, jouant tous les scénarios associés à ces modes…

 

Le virtuel

Enfin, le virtuel de mon Dashbord !

Jeedom - Gestion de présence

Souvenez-vous, lors de la première étape, on a déclaré 3 variables, dont 2 qu’on utilise en format « texte ». Et bien on va s’en servir maintenant.

Création du virtuel

Il faut avoir le plugin virtuel et aller dans : Plugins > Programmation > Virtuel

Cliquez sur le gros « + » pour ajouter un nouveau virtuel, renseignez les informations du premier onglet « Equipement » puis passez à l’onglet « Commandes »

Jeedom - Gestion de présence

Ligne #1269 : valeur de type info binaire qui va récupérer l’etat de votre Nut Mini

Ligne #1270 : valeur de type info autre qui va récupérer la valeur de la variable vBLE-Maxime

 

Voila, désormais vous pouvez gérer votre présence de manière automatique.

Il y a surement d’autres méthodes, peut-etre plus simple. Aujourd’hui cette méthode répond tout à fait à mon besoin. Si jamais vous avez d’autres idées, si on peux simplifier, si vous faites autrement, je suis preneur de tout vos conseils, n’hésitez pas à m’ecrire un petit mot en commentaire.



Source : Image à la une

If you like this post, don't hesitate to share it !

10 réflexions au sujet de « [TUTO] – Jeedom : Gestion de présence »

      1. JMC

        2 petites questions (après avoir reçu des NUTs et avoir suivi le tuto à la lettre):

        – Scénario 2 et 3 -> ligne 20-25: #[IT][Slack – Maxime][Slack_Jeedom]# – Options : Array…
        Tu pourrais nous en dire plus sur les lignes 20 à 25?

        – Comment programmes-tu l’avatar présent – absent?

        Répondre
        1. Maxime Auteur de l’article

          1. Scénario 2 et 3 lignes 20 à 25 : Il s’agit de mon système de notifications qui m’envoi un message pour me dire dans quel mode est passée la maison. Il récupère le mode actuel de la maison et me l’envoi. Pour la gestion des modes je m’appui sur le plugin « Mode »

          2. Pour l’avatar : Il faut aller dans le virtuel, aller sur la ligne 1269 et selectionner la roue crantée a droite a coté de « Tester ». Aller dans onglet « Affichage » et selectionner le widget « Presence_homme_2 (widget) »
          exemple ici : https://i.imgur.com/qYSYUd3.png

          Si tu ne trouves pas le widget, il faut le télécharger via le plugin Widgets > Market > et chercher « Presence_homme_2 » ou « Presence_femme_2 »
          exemple ici : https://i.imgur.com/7G2Bp6z.png

          A+

          Répondre
          1. JMC

            Merci Maxime pour ces précisions 🙂
            Et bien, ce serait intéressant un article sur tes Notifications!

  1. Maxime Auteur de l’article

    J’utilise Slack, qui me permet de recevoir des notifications mais egalement de pouvoir intéragir avec la maison.
    Je pourrais faire un article sur le sujet, pas à pas, afin d’expliquer comment mettre en place tout ça, bonne idée ! 🙂

    Répondre
  2. Jérôme Gonzalez

    Bonjour Maxime, j’essaye d’appliquer ton tuto mais en vain. Je bloque à la mise en route du plugin. J’ai un NOK pour le statut du démon. L’adresse de ma carte bluetooth apparaît bien. En log BLEA, j’ai : « impossible de lancer le démon, vérifier la log ». En log BLEA_dependancy, j’a : « Everything is successfully installed! », et en log BLEA_local, j’ai « Error: importing module from jeedom folder ».
    J’ai donc refait une install sur debian 9 en vmware => exactement pareil.

    Pourrez-tu m’orienter vers une solution ?
    Peut-être me manque-t-il quelques dépendances mais lesquelles ?
    Ou un pb de droit ? (j’ai installé Jeedom sous le compte admin) …
    J’ai hâte de faire fonctionner ce plugin pour continuer ton tuto.

    Merci

    Répondre
    1. Maxime Auteur de l’article

      Hello Jerome,
      On va voir ensemble ce qu’on peux faire ! 🙂

      De ce que je comprend t’es en VMware. Est-ce que tu es sur que l’adresse mac que tu vois dans le dmon est bien celle du bluetooth ? Tu utilises un dongle bluetooth c’est ça ?
      Si tu es sur, il faudrait te connecter en ssh a ta VM, et passer les commandes suivantes :

      apt-get install bluetooth
      /etc/init.d/bluetooth status
      systemctl start hciuart.service

      Donnes moi les résultats des commandes et/ou fais un screen.

      A+

      Répondre
      1. Jérôme Gonzalez

        Merci Maxime pour ta réponse rapide. Les miracles arrivent parfois! Cela fait 3 semaines que je rame avec ce problème et je viens de trouver ceci juste après mon post ici :
        En tapant cette ligne en ssh après l’install du plugin, tout se met à fonctionner !!!

        pip install requests

        Je ne sais pas trop ce que c’est mais ça a tout débloqué, sur le pi3 comme sur la vm…

        merci encore, je vais poursuivre ton tuto 🙂

        Répondre
        1. Jérôme Gonzalez

          Toc-toc encore moi. Cet onglet (celui de ton tuto) me consomme 55% du cpu à lui tout seul !!!
          J’ai rouvert, fermé, rouvert, fermé et c’est bien lui.
          je suis sur chrome, c’était juste pour info

          Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *