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 :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

[TUTO] Scanner Bluetooth (BLE ou non)

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 17 févr. 2019, 19:55

Jef73 a écrit :
14 janv. 2019, 16:32
@diving91 : j'ai quand même un gros problème => après une grosse inactivité pendant laquelle il se produit un reboot du Raspberry PI, le script ne remonte pas toujours l'état réel des équipements :(

Par exemple :
- je suis à la maison, mon G-Tag est détecté par le script et mis en mode PRESENT dans le virtuel (via l'URL Jeedom qu'il attaque)
- si je rentre ou je sors, tout se passe bien, l'état est mis à jour correctement via l'URL
- par contre, si je quitte la maison longtemps (allez, disons plusieurs jours) et que pendant ce temps là le Raspberry PI reboote (coupure de courant, reboot hebdomadaire, etc.) et bien => l'état ne rebascule pas sur PRESENT quand je rentre

De la même manière :
- je suis présent à la maison, mon G-Tag est détecté, le virtuel est OK
- je fais un reboot du Raspberry, ou une relance manuelle du script
- quelques heures après je quitte la maison => l'état ne bascule pas sur ABSENT

Ce que je ne comprend pas, c'est que 7 fois sur 10, ça fonctionne pourtant bien ???

Est-ce que quelque chose dans le script pourrait expliquer ça, ou bien c'est une cause externe ?

Nota : pour information, le script et Jeedom sont sur la même machine, le script sur hci0 et Jeedom sur hci1.
Bonjour,

Désolé de la réponse tardive, mais pour je ne sais quelle raison, je n'ai pas eu de notification.
je ne voit rien dans le script qui pourrait avoir ce comportement. Est-ce que lorsque tu relance le script à la main, tout est normal? pour une raison obscure, parfois j'ai un message d'erreur que je n'ai jamais résolu. en général avant de le lancer (php daemon.php start),je fait un stop avant (php daemon.php stop) au cas où il ne se soit pas bien arrêté.

je ne reboote le Pi jeedom ou le Pi ou se trouve le BT que très rarement

diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 17 févr. 2019, 19:57

sebfar a écrit :
30 déc. 2018, 21:16
Jef73 a écrit :
30 déc. 2018, 20:56
Donc résultat : aucun dérochage depuis environ 10h00 ce matin où j'ai basculé 9 équipements : 3 Nut Mini + 3 G-Tag + 3 Smartphones.
Nickel :)

Par contre je me demande si cela ne vient pas du gros délai de 4 minutes (je crois que c'est bien ça) entre le moment où le périphérique est éteint/hors portée et celui où le monitoring le déclare absent.
Est-ce possible de réduire ce délai ? Quel fichier et quoi faut-il modifier exactement SVP ?
Il faut modifier le fichier BTdaemon.php

private $_timeOut = 240; (en minutes)
pour information, ce sont des secondes
[/quote]
private $_timeOut = 240; (en secondes)
[/quote]
diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 17 févr. 2019, 20:07

Jef73 a écrit :
15 janv. 2019, 18:16
J'ai trouvé un autre problème en faisant mes tests : le script n'ajoute pas le chemin dans les fichiers qu'il tente d'ouvrir (BT.ini, BT.log, util.py et BLE.py). Je les ai donc mis en dur, comme ça je peux le lancer depuis la CRONTAB, mais ce n'est pas propre du tout.

Est-ce que quelqu'un sait comment ajouter le chemin dans les commandes du script en PHP SVP ?

Voici les lignes en question :

Code : Tout sélectionner

private $_logfile = 'BT.log';
private $_cfgfile = 'BT.ini';
exec('sudo python BLE.py kill',$k); // Kill the python BLE scanner
exec("sudo python BLE.py $id $processUser $this->_me $dbg $x"); // ble.py adapterNb processUser phpcallback debug jsonTagsBdaddr
$x = trim(shell_exec("python util.py"));
bonjour

bien vu. Effectivement avec un lancement crontab, il faut indiquer un chemin en dur.
par ex: /home/pi/BTscanner/BT.log

pour connaitre le path, il suffit de faire $ realpath BT.log
il faut le faire pour tous les fichiers

diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

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

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

Message par Zekje » 18 févr. 2019, 10:18

Zekje a écrit :
16 févr. 2019, 00:19
+1 ca marche nickel chez moi

installé pour l instant sur un vieux jeedom mini ( hummingboard en débian ) , detection d un samsung galaxy A5
par contre ma montre samsung watch n est vue QUE quand deco du tel ( en meme temps qu avec BLEA )

dans les améliorations, ca serais pas mal de 'centraliser' sur le jeedom , qu il deploie un .ini sur les 'antennes' :)

en tout cas merci, ca vas me permettre d autres interactions que BLEA (complementaires disons )
Apres un WE de tests, je ne suis plus aussi enthousiaste :p

alors, premier soucis, j ai une grande maison ( enfin dans la forme elle est longue ) , mon scanner BT de test est presque au milieu, mais pas suffisant en portée pour les extrémité de la maison ( Box jeedom mini+ à base de carte hummingboard et un dongle BT usb SANS antenne externe ) , quand je l ai testé, il fonctionne bien, les périphs sont bien actif/inactif, mais il manque de portée,

j ai donc installé a une extrémité (de la maison ) sur un pi0W qui me sert pour d autre choses ( au hasard BLE déporté pour le plugin :p )
c était la base de ma remarque sur la synchronisation du BT.ini , mais en réalité , il en faut un différent car
si je met le meme BT.ini , quand je suis vu sur une antenne , ça lance la commande présent ( nickel ) , je me déplace, je suis vu par l autre antenne, qui lance aussi la commande présent, pas de soucis, mais comme je ne suis plus vu par la première antenne ,après son timeout elle envoie l ordre absent, ..... donc cela foire mes scripts :p
il m a donc fallu doubler les plugin virtuel pour en avoir un par antenne , et un un général qui prends les infos des 2 autres pour savoir si je suis présent ou pas -> problème réglé, mais fastidieux ( 4 appareils BT a tester pour l instant, sur 2 antenne, ça commence a faire de la conf :p )

par contre, je rencontre 2 autres soucis , le premier est un problème de charge sur un pi0W (enfin pas tout a fait la charge, le top reste <1 ), j ai l impression que ce dernier ne sais pas gérer SIMULTANÉMENT le BT et le Wifi , en gros des que je lance le script, je perds la main au bout de 5 min , obligé de le rebooter , tout marche bien jusqu'a ce que je relance le script . il me faut le tester avec du BT externe ( il me semble avoir lu qq part que les pi avaient du mal avec le BT interne ) a moins que ca ne soit les restes du plugins BLEA qui tourne en même temps ( je me rappelle plus l avoir coupé pour les tests )

autre soucis, lié au plantage du pi0w , c est qu il 'gèle' l état .
si je suis détecte dessus, quand il plante, je reste actif, même si je ne suis plus là .... ( il me semble que cela rejoint un des posts plus haut )

en tout cas merci, ca a bien occupé mon WE et m a fait remettre les mains dans le jeedom :) , ce script est prometteur, mais il me faut regler d abord le soucis du 0W ( j ai 4 antenne comme ça pour couvrir la maison )
-> Zekje

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

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

Message par Jef73 » 18 févr. 2019, 13:09

diving91 a écrit :
17 févr. 2019, 19:55
Jef73 a écrit :
14 janv. 2019, 16:32
@diving91 : j'ai quand même un gros problème => après une grosse inactivité pendant laquelle il se produit un reboot du Raspberry PI, le script ne remonte pas toujours l'état réel des équipements :(

Par exemple :
- je suis à la maison, mon G-Tag est détecté par le script et mis en mode PRESENT dans le virtuel (via l'URL Jeedom qu'il attaque)
- si je rentre ou je sors, tout se passe bien, l'état est mis à jour correctement via l'URL
- par contre, si je quitte la maison longtemps (allez, disons plusieurs jours) et que pendant ce temps là le Raspberry PI reboote (coupure de courant, reboot hebdomadaire, etc.) et bien => l'état ne rebascule pas sur PRESENT quand je rentre

De la même manière :
- je suis présent à la maison, mon G-Tag est détecté, le virtuel est OK
- je fais un reboot du Raspberry, ou une relance manuelle du script
- quelques heures après je quitte la maison => l'état ne bascule pas sur ABSENT

Ce que je ne comprend pas, c'est que 7 fois sur 10, ça fonctionne pourtant bien ???

Est-ce que quelque chose dans le script pourrait expliquer ça, ou bien c'est une cause externe ?

Nota : pour information, le script et Jeedom sont sur la même machine, le script sur hci0 et Jeedom sur hci1.
Bonjour,

Désolé de la réponse tardive, mais pour je ne sais quelle raison, je n'ai pas eu de notification.
je ne voit rien dans le script qui pourrait avoir ce comportement. Est-ce que lorsque tu relance le script à la main, tout est normal? pour une raison obscure, parfois j'ai un message d'erreur que je n'ai jamais résolu. en général avant de le lancer (php daemon.php start),je fait un stop avant (php daemon.php stop) au cas où il ne se soit pas bien arrêté.

je ne reboote le Pi jeedom ou le Pi ou se trouve le BT que très rarement

diving91
Est-ce qu'il ne faudrait pas lancer une commande "ABSENT" sur les URL au lancement du script, puis lancer juste après les scan. Comme ça, ça forcerait une correction de l'état Jeedom en cas de modification du statut quand le script n'était pas lancé.

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

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

Message par Jef73 » 18 févr. 2019, 13:12

diving91 a écrit :
17 févr. 2019, 20:07
Jef73 a écrit :
15 janv. 2019, 18:16
J'ai trouvé un autre problème en faisant mes tests : le script n'ajoute pas le chemin dans les fichiers qu'il tente d'ouvrir (BT.ini, BT.log, util.py et BLE.py). Je les ai donc mis en dur, comme ça je peux le lancer depuis la CRONTAB, mais ce n'est pas propre du tout.

Est-ce que quelqu'un sait comment ajouter le chemin dans les commandes du script en PHP SVP ?

Voici les lignes en question :

Code : Tout sélectionner

private $_logfile = 'BT.log';
private $_cfgfile = 'BT.ini';
exec('sudo python BLE.py kill',$k); // Kill the python BLE scanner
exec("sudo python BLE.py $id $processUser $this->_me $dbg $x"); // ble.py adapterNb processUser phpcallback debug jsonTagsBdaddr
$x = trim(shell_exec("python util.py"));
bonjour

bien vu. Effectivement avec un lancement crontab, il faut indiquer un chemin en dur.
par ex: /home/pi/BTscanner/BT.log

pour connaitre le path, il suffit de faire $ realpath BT.log
il faut le faire pour tous les fichiers

diving91
Du coup j'ai fait autrement pour contourner le problème : j'ai fait un petit script de deux lignes : la première avec un "cd" qui va dans le répertoire de ton propre script, puis la seconde ligne qui le lance. Et c'est mon micro-script que je lance dans la CRONTAB :D

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

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

Message par Zekje » 19 févr. 2019, 11:29

Concernant ce soucis :
Zekje a écrit :
18 févr. 2019, 10:18
.../... un problème de charge sur un pi0W (enfin pas tout a fait la charge, le top reste <1 ), j ai l impression que ce dernier ne sais pas gérer SIMULTANÉMENT le BT et le Wifi , en gros des que je lance le script, je perds la main au bout de 5 min , obligé de le rebooter , tout marche bien jusqu'a ce que je relance le script . il me faut le tester avec du BT externe ( il me semble avoir lu qq part que les pi avaient du mal avec le BT interne ) a moins que ca ne soit les restes du plugins BLEA qui tourne en même temps ( je me rappelle plus l avoir coupé pour les tests )
je confirme le que le pi0W a un soucis pour gerer simultanement le Wifi et le bluetooth ...
en rajoutant un dongle BT USB (+reboot) le probleme disparait .

petit a petit je vais y arriver
-> Zekje

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 24 févr. 2019, 10:18

Jef73 a écrit :
18 févr. 2019, 13:09
@diving91 : j'ai quand même un gros problème => après une grosse inactivité pendant laquelle il se produit un reboot du Raspberry PI, le script ne remonte pas toujours l'état réel des équipements :(

Par exemple :
- je suis à la maison, mon G-Tag est détecté par le script et mis en mode PRESENT dans le virtuel (via l'URL Jeedom qu'il attaque)
- si je rentre ou je sors, tout se passe bien, l'état est mis à jour correctement via l'URL
- par contre, si je quitte la maison longtemps (allez, disons plusieurs jours) et que pendant ce temps là le Raspberry PI reboote (coupure de courant, reboot hebdomadaire, etc.) et bien => l'état ne rebascule pas sur PRESENT quand je rentre

De la même manière :
- je suis présent à la maison, mon G-Tag est détecté, le virtuel est OK
- je fais un reboot du Raspberry, ou une relance manuelle du script
- quelques heures après je quitte la maison => l'état ne bascule pas sur ABSENT
Divin91 a écrit : Bonjour,

Désolé de la réponse tardive, mais pour je ne sais quelle raison, je n'ai pas eu de notification.
je ne voit rien dans le script qui pourrait avoir ce comportement. Est-ce que lorsque tu relance le script à la main, tout est normal? pour une raison obscure, parfois j'ai un message d'erreur que je n'ai jamais résolu. en général avant de le lancer (php daemon.php start),je fait un stop avant (php daemon.php stop) au cas où il ne se soit pas bien arrêté.

je ne reboote le Pi jeedom ou le Pi ou se trouve le BT que très rarement

diving91
Est-ce qu'il ne faudrait pas lancer une commande "ABSENT" sur les URL au lancement du script, puis lancer juste après les scan. Comme ça, ça forcerait une correction de l'état Jeedom en cas de modification du statut quand le script n'était pas lancé.
Bonjour,

Je ne pense pas que cela résolve les cas que tu indiques, mais tu peux essayer ceci qui fait ce que tu suggères et me dire ce que cela donne.
A la ligne 330, dans la méthode private function loadConfig() remplace

Code : Tout sélectionner

		foreach ($config['TAGS'] as $tag) {
			$tagData = explode(",",$tag);
			$this->_tags[$tagData[0]] = array("on" => $tagData[1], "off" => $tagData[2],"state" => 0, "ble" => $tagData[3]);
			//For BLE devices add a last Seen field
			if ($tagData[3] == '1') {$this->_tags[$tagData[0]] = array_merge($this->_tags[$tagData[0]],array("last" => 0));}
		}
par

Code : Tout sélectionner

		foreach ($config['TAGS'] as $tag) {
			$tagData = explode(",",$tag);
			$this->_tags[$tagData[0]] = array("on" => $tagData[1], "off" => $tagData[2],"state" => 0, "ble" => $tagData[3]);
			//For BLE devices add a last Seen field
			if ($tagData[3] == '1') {$this->_tags[$tagData[0]] = array_merge($this->_tags[$tagData[0]],array("last" => 0));}
			$this->callJedoomUrl($device['off']);
		}
Si cela fonctionne, je ferais la modif sur github
Merci à toi

diving
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

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

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

Message par Jef73 » 25 févr. 2019, 10:49

Merci pour cette modif.
Je l'intègre et la teste de suite, je te ferai un retour début de semaine prochaine je pense (après mon reboot automatique hebdromadaire :D ).

EDIT :
J'ai un message d'erreur quand je relance le script :
PHP Fatal error: Uncaught Error: Call to undefined method BTScanner::callJeedomUrl() in /etc/bluetooth-scanner/BTdaemon.php:337

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 10 mars 2019, 19:26

Bonjour désolé de ma réponse tardive.

chez moi c'est en ligne 335 et pas 337, mais tu as peux être fait d'autres modif?
Par ailleurs je m’étais aussi planté, ce n'est pas

Code : Tout sélectionner

			$this->callJedoomUrl($device['off']);
mais

Code : Tout sélectionner

			$this->callJedoomUrl($tagData[2]); // Send to the controller a signal that devices are 'off'
testé chez moi sans soucis, on voit bien passer les tags à 'Off', puis rapidement après à 'On' quand ils sont présents

Comme cela ne mange pas de pain, j'ai poussé la modif sur github - J'espère que cela corrigera ton soucis

diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

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

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

Message par Jef73 » 11 mars 2019, 15:38

Bonjour,

Pas grave, merci pour le support ;)

Sinon, j'ai repris ta modif et ça me fait exactement la même erreur que précédemment à propos de méthode pas définie dès que j'exécute le script :(
Nota : j'avais remis ton propre fichier pour écraser mes modif concernant les chemins ajoutés en dur => cela ne m'est plus utile puisque j'ai créé un script de pseudo-service pour le lancer à chaque reboot. Mais j'ai cette erreur en lançant manuellement ton script (php BTdaemon.php start). Bien sûr je le stoppe avant et j'ai même vérifié que plus rien ne tournait avec un petit "ps | grep".

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 11 mars 2019, 17:26

Bonsoir,

Je ne vois pas pourquoi cela ferait ca sauf un typo qqpart dans le fichier.
chez moi (php5.6 mais ce ne doit pas influencer ici), cela tourne très bien avec la modif que j'ai poussé sur le github.

ce que tu peux essayer:
- repartir du fichier qui est sur github (BTdaemon.php)
- voir s'il n'y a pas une coquille qqpart ?
- bouger la methode callJedoomUrl() au dessus de la methode loadConfig() - normalement l'ordre de déclaration des méthodes n'est pas important ... mais d'un coup j'ai un doute ...

diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

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

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

Message par Jef73 » 11 mars 2019, 19:00

Bon, j'ai trouvé ce qui bloque le lancement du script, mais je n'ai pas la moindre idée de POURQUOI :shock:

Ton script contient cette fonction :

Code : Tout sélectionner

	private function callJedoomUrl($id) {
		//echo "$this->_jeedomurl"."$id\n";
		$r = file_get_contents("$this->_jeedomurl"."$id");
		if (!empty($r)) { $this->dbg("URL call ERROR: $r\n"); }
		else { $this->dbg("URL call succesfully for ID: $id\n"); }
	}
Et dans le mien j'ai simplement ajouté une sortie vers le fichier de log :

Code : Tout sélectionner

	private function callJedoomUrl($id) {
		//echo "$this->_jeedomurl"."$id\n";
		$r = file_get_contents("$this->_jeedomurl"."$id");
		if (!empty($r)) {
			$this->dbg("URL call ERROR: $r\n");
			$this->log("URL call ERROR: $r\n");
		}
		else {
			$this->dbg("URL call succesfully for ID: $id\n");
			$this->log("URL call succesfully for ID: $id\n");
		}
	}
Donc ma modification fonctionne parfaitement ... tant que je n'inclue pas ta nouvelle ligne envoyant un tag "off" vers le virtuel Jeedom.



Si c'était parce que la fonction "log" est définie après la fonction "calljeedomurl", alors cela ferait pareil pour la fonction "dbg" puisqu'elle est encore plus bas dans le script.

Là je sèche ... surtout en considérant que je ne connais strictement au PHP (je me contente de tâtonner en étudiant ton propre code).

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 11 mars 2019, 21:18

attention a la syntaxe. je viens de m'appercevoir que j'ai un typo jedoom versus jeedom !! tu as peux etre aussi une "confusion" ?
sinon je ne vois pas.

PS: je corrigerai sur github l'erreur de syntaxe à l'occasion (c'est juste esthétique mais bon ...)
PS2: ne mets pas trop de chose dans les log, surtout si tu tournes en SD card. c'est pourquoi j'ai les 2 methodes log et dbg. dbg n'etant pas actif par defaut.

diving
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

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

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

Message par Jef73 » 12 mars 2019, 10:28

Ho bonsang d'bonsoir :!: bien vu l'aveugle ! :lol:

J'ai pas fait attention à l'erreur, donc quand j'ai manuellement ajouté la ligne que tu donnais, j'ai automatiquement corrigé ta typo "Jedoom" en "Jeedom" sans m'en rendre compte :D

Bon, j'ai tout renommé correctement, procédure et appels => ça fonctionne au poil maintenant.
Merci à toi ;)


Oui tu as raison pour les logs, c'est juste pour tracer le temps de corriger ce problème de non-désactivation en cas de reboot pendant une absence. Je vais les désactiver quand ça marchera.

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

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

Message par Zekje » 13 mars 2019, 17:56

Bonjour,

suite de mes aventures ( apres 2 pi HS et 3 cartes SD qui ont cramées ....marre des travaux EDF, meme mes onduleurs ont morflés ... )

tout est remis en place et fonctionne.

quelques idées d améliorations ( je ne sais pas si c est déja implémenté , je ne maitrise pas le PHP :p )

-au lancement mettre toutes les detections a 0 ( en cas de crash les périph sont toujours marqués présent ), actuellement je ping depuis le jeedom et si HS, je désactive ...
-avoir un numero de version
-maj automatique ( pour l instant je wget le master.zip une fois par semaine )
-pouvoir rajouter dans le fichier de conf un commentaire apres l adresse mac ( pour savoir de quel équipement il s agit )
-avoir le lancement en script (dans rc5.d ? )

évidement ca serais mieux d avoir ça en plugin jeedom, mais c est plus de boulot :)
en tout cas merci, la detection marche nickel pour mes téléphones et mes galaxywatch :)
-> Zekje

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

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

Message par Zekje » 13 mars 2019, 18:02

je me réponds partiellement, apres avoir relu les 6 pages

Zekje a écrit :
13 mars 2019, 17:56
-pouvoir rajouter dans le fichier de conf un commentaire apres l adresse mac ( pour savoir de quel équipement il s agit )
solution en page 2 :

Code : Tout sélectionner

[TAGS]
; my Samsung A5 2017
;1 = DA:A5:05:95:B9:F6,400,401,0
; my LG G3
;2 = A4:9F:69:94:61:55,402,403,0
:)
-> Zekje

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 13 mars 2019, 18:48

-au lancement mettre toutes les detections a 0 ( en cas de crash les périph sont toujours marqués présent ), actuellement je ping depuis le jeedom et si HS, je désactive ...
-avoir un numero de version
Bonsoir,
Merci de l’intérêt porté à ce script.

pour répondre aux deux demandes ci dessus:
- la première est faite - le github inclus cette modification (demandée par Jef73)
- oui c'est vrai ... je suis pas très strict la dessus. Comme je dois faire une modif (correction de jedoom en jeedom), j'ajouterai un numéro de version en tête de script et en info lors d'un start du démon

PS: oui il est déjà possible de mettre des commentaires dans le fichier BT.ini :)

diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

Avatar de l’utilisateur
diving91
Timide
Messages : 371
Inscription : 08 mars 2015, 18:29
Localisation : Essonne (91)
Contact :

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

Message par diving91 » 17 mars 2019, 17:22

Bonjour je viens de pousser une mise à jour sur github
- correction de typo jedoom -> jeedom
- ajout d'un versioning

diving91
Diving91,
RPI2 + SSD 30MB - RfxTrx433E - Store Somfy - Led Milight - MySensors Gateway ESP8266 - Noeuds ESP Easy
Ma Station Météo sous Jeedom

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

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

Message par Zekje » 21 mars 2019, 16:36

bonjour,

j ai essayé de mettre en script de demarrage automatique , mais j ai une erreur .

création du script de lancement :

vi /etc/init.d/btscan

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

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting BTscan"
    # run application you want to start
 /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
sudo chmod 755 /etc/init.d/btscan

vi /etc/systemd/system/btscan.service

Code : Tout sélectionner

[Unit]
Description=BTScan service
After=hciuart.service

[Service]
Type=oneshot
ExecStart=/etc/init.d/btscan start
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl enable btscan.service

mais je rencontre l erreur suivante :
Synchronizing state for btscan.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d btscan defaults
insserv: script btscan: service bluetooth already provided!
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
*** Error in `systemctl': double free or corruption (fasttop): 0x01510f78 ***
au passage, le lancement par /usr/bin/php /home/pi/Bluetooth-scanner-master/BTdaemon.php start ne fonctionne pas, j ai pas les bons chemins

pouvez vous me dire ce que j ai foiré dans le systemctl ?
-> Zekje

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité