sebmafate / phone_detection

Jeedom plugin to detect phone by using bluetooth
GNU General Public License v3.0
1 stars 2 forks source link

Multi antennes #26

Closed benoit5672 closed 3 years ago

benoit5672 commented 3 years ago

Bonjour Sebastien, voici une PR pour le muti-antennes, tres attendu par les utilisateurs jeedom (issue#18).

Pour la partie multi-antennes, je me suis base sur le code BLEA, que j'ai adapte pour les specificitees de phone_detection. La configuration et l'utilisation du multi-antenne est donc similaire a ce que l'on peut faire avec BLEA (conf: http://sarakha63-domotique.fr/rasberry-pi-zero-w-antenne-blea-cest-possible/)

Dans l'ordre: 1/ creation d'un utilisateur sur l'antenne 2/ creation d'une antenne sur jeedom 3/ deploiement des fichiers 4/ installation des dependances. 5/ demarrage de l'antenne.

Ensuite, on a un etat par antenne, qui est cree dynamiquement par phone_detection.php en cas de reception de message. Pour calcul l'etat du mobile, il est considere comme present si au moins une des antennes le reporte present. L'object 'globalDevice' est egalement mis a jour en cas de changement d'etat d'un mobile. Il y a 2 nouvelles modales: antennes (pour configurer l'antenne, a la mode blea), et 'Sante', ou l'on retrouve de maniere synthetique les informations du globalDevice, et de tous les telephones sur toutes les antennes.

J'ai ajoute quelques modifications a ton code, notamment sur la partie daemon 1/ possibilite de passer en debug, ou le niveau de log precedent de maniere dynamique (config module) 2/ verification d'envoie depuis l'antenne vers jeedom, avec jusqu'a 4 tentatives si besoin 3/ toutes les 5 minutes, l'etat du mobile est pousse vers jeedom. jeedom compare l'etat courant de l'antenne (sur jeedom) avec celui recu, et declenche la modification ou non. Cela evite les desynchronisation permanente. 4/ toutes les 30 secondes, un heartbeat message est envoye par l'antenne au jeedom, pour connaitre l'etat de l'antenne.

J'ai valide le multi-antenne, mais je n'ai pas pu verifier la partie antenne locale, car je n'ai pas de bluetooth sur mon jeedom. Je te laisse verifier cette partie avant de partager le code.

je pense qu'il faudrait d'abord propose cette version en 'beta' sur jeedom, et en fonction du retour des utilisateurs, la passer en master. Je peux t'aider a maintenir cette branch beta si tu veux.

cordialement, Benoit

sebmafate commented 3 years ago

Merci Benoit, je regarde dès que possible 👍