Antennes Blea - comment vérifier le fonctionnement

Bonjour, j’ai de temps en temps une antenne Blea qui devient HS, cela pose des problèmes de capture de la presence de certains objets.
Comment tester que mes antennes sont ok ?

Merci pour votre aide

1 « J'aime »

Tu veux vérifier cela de manière automatisée ou par une action de ta part?
Perso, j’utilise le flux RSSI pour voir si mes objets sont bien détectés. La valeur change dès qu’on se rapproche ou s’éloigne de l’antenne.

1 « J'aime »

Je souhaite un système automatisé qui va verifier le fonctionnement de l’antenne toutes les 5mn par exemple et qui m’envoi une alerte lorsque l’antenne est hs

Bonjour,
Il y avait un tuto pour surveiller le demon des antennes BLEA et le relancer si besoin.
Avec un virtuel on crée une variable et en faire ce que l’on veut pour alerter par exemple.
Ça fonctionne parfaitement chez moi pour 4 antennes BLEA avec de PI 3B+ ( j’ai viré les PI Zero qui finnissaient par cramer)
Je crois que c’était sur le site de Sarakha63 mais le site n’existe plus je crois.
Je regarderai si je retrouve ce tuto

1 « J'aime »

Bonjour,

Comme dit précédemment il faut modifier le code pour sortir une variable ou un tag utilisable dans un message.

1 « J'aime »

J’avais récupéré un code et deux scenarios mais cela ne fonctionne plus,
le code teste si les antennes sont actives, mais cela ne fonctionne plus, il les trouve tujours inactives et relance le démon à chaque vérification.
Ci après le code, est ce que quelqu’un peut me dire ce qu’il faut changer pour le rendre de nouveau operationnel ?
$remotes = blea_remote::all();
foreach ($remotes as $remote) {
$last = $remote->getConfiguration(‹ lastupdate ›,‹ 0 ›);
$key = "BLEA".$remote->getRemoteName()."_state";
if ($last == ‹ 0 › or time() - strtotime($last)>65){
$scenario->setData($_key, 0);
} else {
$scenario->setData($_key, 1);
}
}
Ce code est censé mettre à jour les variables BLEA-nom de l’antenne… mais cela ne fonctionne plus.

Merci pour l’aide

Bonjour,

C’est le code que j’utilisais, mais depuis la fonction « surveillance santé » a été intégrée au plugin.

Voici mes modifications du code de @GiDom original :

$tags = $scenario->getTags();

foreach (plugin::listPlugin(true) as $plugin) {
	if ($plugin->getId() == 'blea') {

//Plugin BLEA : core/class/blea.class.php voir fonction health()
		$sante = blea::health();// Renvoi 2 tableaux : le premier donne le nombre d'antennes et le second donne, par antenne, le nom et le statut du démon
		if ($sante[0]['result'] > 0) {
			foreach ($sante as $antenne) {
				if ($antenne['test'] != "Nombre d\'antennes") {
					$antenne_name = str_replace('Démon ','',$antenne['test']);
					if ($antenne['result'] != 'OK') {
						$message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') Antenne ' . $antenne_name . ' : KO' . "\n";
						$message .= 'Antenne BLEA --> ' . $antenne_name . ' : KO' . "\n";
            		} 
          			else {
						$message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') Antenne ' . $antenne_name . ' : OK' . "\n";

					}
				}
			}
		}
	}
}

$scenario->setLog("Etat antenne BLEA :" . "\n" . $message_daemon);

$tags['#message#'] = $message;
$scenario->setTags($tags);

Scénario associé :

Dans mon cas j’ai un scénario de notification avec des tags, mais tu peux utiliser le tag « message » dans n’importe quel autre moyen de communication.

Le scénario est déclenché par un cron.

POur moi la fonction du core est parfaite :

Sauf si l’antenne est HS de telle façon qu’il n’est pas possible pour Jeedom de redémarrer le démon :wink: (mauvais montage de la clé au démarrage, perte wifi par exemple).

Je vais essayer cette solution dans un premier temps. merci

remplace la ligne :
$last = $remote->getConfiguration(‹ lastupdate ›,‹ 0 ›);

par :
$last = $remote->getCache(‹ lastupdate ›,‹ 0 ›);

avec les mise a jour du plugin le code a changé, j’ai recupere ça dans le fichier blea.memote.php

Merci beaucoup, je vais essayer

Salut, super ton code ! Merci.
Par contre j’aimerais faire une amélioration pour améliorer le visuel. Je n’y arrive pas.
Peux tu m’aider stp ?

Enfaite le message du centre de message est trop long.
J’ai :
Bluetooth Advertisement (blea) Antenne 1 : OK Bluetooth Advertisement (blea) Antenne 2 : OK Bluetooth Advertisement (blea) Antenne 3w : OK

Que j’aimerais remplacer par :
Antenne 1 : OK _ Antenne 2 : OK _ Antenne 3w : OK

Je m’y connais pas vraiment en code. J’ai essayé de supprimer des bouts mais je n’ai pas trouvé la solution?

Bonjour,

Je n’utilise plus BLEA, donc je ne pourrais pas tester.

Mais il faudrait remplacer :

  • la ligne $message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') Antenne ' . $antenne_name . ' : KO' . "\n"; par : $message_daemon .= 'Antenne ' . $antenne_name . ' : KO' . ' _ ';

  • la ligne $message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') Antenne ' . $antenne_name . ' : OK' . "\n"; par : $message_daemon .= 'Antenne ' . $antenne_name . ' : OK' . ' _ ';

Tu auras un « _ » qui traîne en bout de ligne désolé.

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