Solution si la détection bluetooth ne fonctionne plus après un certain temps

Bonjour,

J’utilise depuis quelques semaines le plugin phone détection.
Il marche bien, mais j’avais remarqué qu’au bout d’un jour ou deux, il ne marchait plus. :frowning:
Dans la configuration du plugin, il perdait le contrôleur Bluetooth, et je devais systématiquement relancer les dépendances, puis le redémarrer pour qu’il se remettent a fonctionner.

J’ai continué à chercher, puis j’ai réussis a faire un scénario Jeedom qui se lance toutes les 5 minutes et qui corrige mon problème. Avec ce scénario, je ne perd plus le contrôleur Bluetooth et je n’ai plus aucun soucis, le plugin marche très très bien.

Si ca peut être utile a certain je partage ce scenario. Il faut copier le code ci dessous dans un bloc de type Code. et lancer le scénario régulièrement. J’ai mis 5 minutes, mais ca pourrait être plus je pense.

$scenario->setLog('Lancement du scénario pour check du bluetooth avec le plugin-phone_detection');

$result = shell_exec("hcitool dev | grep hci | awk -F ' ' '{ print $1,$2 }'");
$scenario->setLog('All BT Controllers: '.json_encode($result));

if ($result === null) {
  $scenario->setLog('Re-installation necessaire');
  $cmd_output = shell_exec("sudo apt-get install bluez --reinstall");
  $scenario->setLog('Re-install bluez log: '.json_encode($cmd_output));
  $result = shell_exec("hcitool dev | grep hci | awk -F ' ' '{ print $1,$2 }'");  
  $scenario->setLog('BT Controllers: '.json_encode($result));
  if ($result !== null) {
    $plg = plugin::byId('phone_detection');
    $plg->deamon_start();
  }
  else {
    $scenario->setLog('Error no BT Controllers found');
  }
} 

$scenario->setLog('Fin');

J’ai aussi remarqué que finalement, je ne passe plus du tout par la partie du code « Re-installation necessaire », je pense donc que le fait de faire l’execution de la commande:
hcitool dev
toutes les 5 minutes suffit a résoudre mon problème, car j’imagine qu’il doit conserver le controlleur actif. Mais bon, si jamais je le perd, il sera réinstallé.

Voila, en tout cas maintenant c’est nickel, merci a l’auteur !

3 « J'aime »

Salut @pascal.e , je suis en train de tester ce plugin car mes enfants ont toujours leurs téléphones mais pas leurs Nuts :crazy_face:
Et j’ai le même problème que toi donc ton scénario va beaucoup m’aider.
Merci à toi.

Arno

Hello,

J’utilise ce plugin depuis plusieurs mois et il fonctionne plutôt bien. Sauf depuis quelques jours, les quatre appareils que je lui demande de vérifier sont parfois, connectés, mais plus souvent non. Et il n’y a pas de logique : je peux en avoir 0, 1, 2, 3 ou 4 de connectés, et pas forcément les mêmes.

La seule chose qui a changé depuis ce problème, c’est le passage à la V4.3.18 de Jeedom.

Suis je le seul ?

@Arnocore cool, depuis que j’ai mis ca en place, il fonctionne super bien, et fait vraiment partie de ma solution domotique pour la détection de personne et l’ouverture « automatique » de ma porte. (avec bouton pour le contrôle).

@Le-Steph , je suis sous v4.3.18 depuis hier, pour le moment pas de problème

1 « J'aime »

Bonjour.

Il faudrait plutôt travailler sur « pourquoi » vous avez ce problème.

Ceux qui on le plugin BLEA en même temps, vous les utilisez bien avec un contrôleur bluetooth différents ?

Bonjour,

d’après mon analyse, des qu’on configure plus qu’un telephone dans le plugin, il peut y avoir un « conflit d’accès » sur le driver qui gère le bluetooth, qui va entrer en « deadlock ». Je n’ai pas trouve de solution miracle, mais le fait de réinitialiser le driver (hcitool dev), ou de redémarrer le demon (j’ai deja propose un script qui fait ca), solutionne le problème.
Le problème est amplifie qu’on on combine phone_detection et BLEA.

Benoit

Je n’utilise pas Blea donc pas de conflit de ce côté là.
Dépendances ok, demon ok, et encore une fois ça fonctionnait super bien jusqu’à maintenant. Je vais voir à l’usage pour la suite …

Bon, et bien depuis deux jours, tout fonctionne super bien sans que je ne touche à quoi que ce soit ! Je ne cherche plus à comprendre :sweat_smile:

J’ai remarqué quelque chose : si je redémarre mon Raspberry, ça déconne. Ensuite si je redémarre ma box, ça fonctionne très bien :face_with_monocle:

Bonjour @Le-Steph,
est-ce que ton raspberry est utilise comme une antenne ou comme ton equipement principal pour jeedom, c’est a dire comme une antenne locale pour phone_detection?
Est-ce que tu peux passer en debug sur le module, et partager les logs + ton adresse IP quand tu redemarres ton raspberry, et un autre fichier avec les logs + ton adresse IP quand tu redemmarres ta box?
Quand tu parles de box, j’imagine que c’est aussi elle qui est serveur DHCP?
Quelle version de jeedom + OS utilises-tu?

Benoit

Bonjour,
Je viens de publier une version 2.1 du plugin avec pas mal d améliorations autour du bluetooth.
Plus d’information sur les changements : https://github.com/sebmafate/phone_detection/blob/master/changelog.md
Benoit

5 « J'aime »

Super, merci, je vais tester ca

Merci pour tous ces détails ! Pour info le lien vers le changelog sur la page de config du plugin mène vers un 404 : https://github.com/sebmafate/phone_detection/changelog

1 « J'aime »

Merci @benoit5672 pour la MAJ, pour moi ça à l’air de bien fonctionner maintenant.

1 « J'aime »

Bonjour,
Je n’ai pas acces a la page du plugin. J’ai acces uniquement au github pour faire des modifications. Une fois le plugin installé, les liens vers la documentation et le changelog sont corrects.

Ah oui aujourd’hui ça fonctionne.

Après un jour, pour le moment tout fonctionne, merci @benoit5672

1 « J'aime »

Pourvu que ca dure :grin:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.