Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Toute la communauté vous remercie

[TUTO] Scanner Bluetooth (BLE ou non)

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
Zekje
Timide
Messages : 118
Inscription : 19 déc. 2016, 20:27
Contact :

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Zekje » 21 mars 2019, 16:49

je me réponds .... ( suis fort en monologues )

dans /etc/init.d/btscan

il faut remplacer
# Provides: scanner bluetooth
par
# Provides: scanner-bluetooth

il ne me reste que le problème de chemin a résoudre ( a voir sur les pages précedents,il me semble qu un autre utilisateur a eu le soucis )
diving, pour els prochaines versions , possible de mettre les chemins en arguments ? ( bt.log bt.ini et ble.py ? )
-> Zekje

Zekje
Timide
Messages : 118
Inscription : 19 déc. 2016, 20:27
Contact :

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Zekje » 13 mai 2019, 12:19

pour le problème des chemins, j' ai repris le boulot,et donc j ai eu le temps de regarder , j ai modifié mon /etc/init.d/btscan comme suit :

Code : Tout sélectionner

#! /bin/sh
# /etc/init.d/btscan

### BEGIN INIT INFO
# Provides:          scanner-bluetooth
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Simple script to start a program at boot
# Description:       A simple script similar to one from www.stuffaboutcode.com which will start / stop a program a boot / shutdown.
### END INIT INFO

# If you want a command to always run, put it here
touch /tmp/btscan
chmod 666 /tmp/btscan
export PATH=$PATH:/home/pi/Bluetooth-scanner-master/
cd /home/pi/Bluetooth-scanner-master/

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting BTscan"
    # run application you want to start
 sudo /usr/bin/php /home/pi/Bluetooth-scanner-master/BTdaemon.php start
    ;;
  stop)
    echo "Stopping BTscan"
    # kill application you want to stop
    sudo kill `ps -ef | grep BTdaemon.php | grep -v grep | awk '{print $2}'`
    ;;
  *)
    echo "Usage: /etc/init.d/btscan {start|stop}"
    exit 1
    ;;
esac

exit 0
j avais également modifié le fichier BTdaemon.php ligne 58 et 60 pour avoir le chemin en dur

Code : Tout sélectionner

class BTScanner {
        private $_me;                   // name of this script file
        private $_logfile = '/home/pi/Bluetooth-scanner-master/BT.log';
        private $_loglength = 100;      // Max log size in lines
        private $_cfgfile = '/home/pi/Bluetooth-scanner-master/BT.ini';
        // from cfgfile
        private $_adapter;              // BT adapter eg: hci0
        private $_jeedomurl;            // Base URL jeedom API
        private $_log;                  // Boolean to log BT ativity in $_logfile
        private $_tags;                 // Array of BT tags with the parameter BT MAC,Jeedom CmdON,Jeedom CmdOFF,State (0=absent,1=present,x=timestamp since not detected)
désormais un "service btscan start/stop" fonctionne :)
-> Zekje

Bipbip41
Timide
Messages : 415
Inscription : 05 sept. 2014, 09:23

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Bipbip41 » 14 mai 2019, 03:06

Salut,

Suite à ton message dans le poste du BLEA, j'ai installé ton script. IL fonctionne, sauf que je ne sais pas pourquoi, il se (fait) killer à chaque fois.

scripts@jeedom:~/scripts/Bluetooth $ sudo php detect.php stop
Stopping Bluetooth Daemon
Kill Bluetooth Daemon 27131
Kill Bluetooth Daemon 28463
Bluetooth Daemon Stopped
Killed

scripts@jeedom:~/scripts/Bluetooth $ sudo php detect.php start
Kill Bluetooth Daemon 28652
Starting Bluetooth Daemon
version: 1.1.0
Killed

Je suis pas sûr de m'y prendre comme il faut, il est 3h du mat, je vais partir au travail, et j'avoue que j'ai un peu survolé le topic. J'ai testé avec et sans sudo, il a bien les droits (-rwxr-xr-x)

Mais hormis ça il semble fonctionner car il a le temps d'envoyer à Jeedom que mon tel est présent

Jef73
Timide
Messages : 286
Inscription : 27 déc. 2017, 10:41
Localisation : Nantes

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Jef73 » 14 mai 2019, 06:23

Ce n'est pas simplement le retour de la fonction qui 'kill' les éventuels processus déjà en cours ?
Si tu dis que Jeedom reçois bien les infos de présence du script, ça fait supposer qu'il tourne quand meme, donc c'est ça probablement.

Fait un "ps -aux|grep detect.php" et tu sauras s'il est encore en tâche de fond ;)

Zekje
Timide
Messages : 118
Inscription : 19 déc. 2016, 20:27
Contact :

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Zekje » 14 mai 2019, 10:39

après une journée, je nuance un peu mon enthousiasme, le script en lui même fonctionne ( /etc/init.d/btscan , cf plus haut )
mais sur certaines de mes machines, il refuse de se lancer en service (droits?) , j ai donc viré la fonction service ( systemctl disable btscan.service ) et je l'active au lancement des linux par le rc.local
c est pas propre , mais au moins ca marche sur tout mes pi et clones quelque soit leur distri (j en ai pas 50 mais suffisament pour ne pas tout avoir a l identique :( ) , et surtout cela fonctionne sur celui qui reboot en boucle ( branché derriere un decodeur TV qui a la bonne idée de reseter le port USB a chaque redémarrage ).

en tout cas ca me permet de me passer de BLEA ( cf mes déboires sur le post BLEA ) , et en plus j arrive avec btscan a voir les téléphones ( non BLE donc non detectés par BLEA ).
-> Zekje

Jef73
Timide
Messages : 286
Inscription : 27 déc. 2017, 10:41
Localisation : Nantes

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Jef73 » 14 mai 2019, 11:57

Pour faire un speudo-service, j'ai fait ça de mon côté et ça marche très bien :)

1) Création d'un fichier "startbtscanner.sh" dans le même dossier que le script (/etc/bluetooth-scanner/ pour ma part) avec ce contenu :

Code : Tout sélectionner

#! /bin/sh
# /etc/bluetooth-scanner/startbtscanner

cd /etc/bluetooth-scanner/
php BTdaemon.php start &

exit 0
2) un petit "chmod +x" dessus pour le rendre exécutable

3) et dans ma crontab, j'ai ajouté ces lignes :

Code : Tout sélectionner

# Lancement du script de scanner Bluetooth pour Jeedom :
@reboot root /etc/bluetooth-scanner/startbtscanner.sh &

L'avantage de faire ça, c'est qu'on s’affranchit de tous les éventuels problèmes de chemins pour lancer les commandes, ainsi que ceux qui ne sont pas gérés dans le script pour par exemple les fichiers INI et LOG ;)




Moi aussi je me passe complètement du plugin BLEA pour ma gestion de présence comme ça (beacons G-Tag et smartphones).
Je ne m'en sers encore que pour vérifier les niveaux de pile des G-Tags, et les données de mes sondes Xiaomi (là, je peux me permettre des loupés dans les trames, même sur plusieurs heures en cas de problème).

Bipbip41
Timide
Messages : 415
Inscription : 05 sept. 2014, 09:23

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Bipbip41 » 14 mai 2019, 12:03

Jef73 a écrit :
14 mai 2019, 06:23
Ce n'est pas simplement le retour de la fonction qui 'kill' les éventuels processus déjà en cours ?
Si tu dis que Jeedom reçois bien les infos de présence du script, ça fait supposer qu'il tourne quand meme, donc c'est ça probablement.

Fait un "ps -aux|grep detect.php" et tu sauras s'il est encore en tâche de fond ;)
Nop, je te confirme qu'il est bien killé. Il envoie une info dans les logs et dans jeedom, comme quoi le telephone est présent, puis est killé juste après, et plus rien ^^

Ca peut venir du fait que j'ai le plugin BLEA sur cette raspberry (genre fichiers verrouillés) ?

Bipbip41
Timide
Messages : 415
Inscription : 05 sept. 2014, 09:23

Re: [TUTO] Scanner Bluetooth (BLE ou non)

Message par Bipbip41 » 14 mai 2019, 14:41

Je me répond à moi même : j'avais un problème de droit sur shmop sur ce user. Je suis passsé sur un autre et ç'est nickel. Du coup je l'ai installé sur mes 2 raspberry

Je suis impressionné de voir que les 2 détectent mon MiBand et mon Tel, où que je sois dans la maison ^^

Super scripts, merci beaucoup :) Je vais pouvoir dégager la geoloc de Tasker, qui me bouffait ma batterie de fou :D

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités