Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Tutoriel] Surveillance de la batterie des détecteurs X2D

Avatar de l’utilisateur
scanab
Actif
Messages : 914
Inscription : 30 juil. 2014, 15:15

[Tutoriel] Surveillance de la batterie des détecteurs X2D

Message par scanab » 09 janv. 2019, 09:52

Par défaut, les détecteurs X2D (présence, ouverture) ne remontent pas leur batterie dans Jeedom avec le plugin RFPlayer. Pourtant cette information est bien présente dans les données remontées par l'équipement. Voici un rapide tutoriel permettant de surveiller la batterie de ces modules en utilisant le mécanisme natif de Jeedom.

1/ Créer une commande info de type numérique
C'est elle qui va porter l'information de niveau de batterie. Veillez à bien nommer cette commande "battery". Notez que les détecteurs X2D ne remonte pas un niveau de batterie, mais uniquement une alerte de batterie faible. Le niveau passera donc de 100% à 0% directement, comme pour les sondes Oregon.
jee.PNG
jee.PNG (62.67 Kio) Consulté 1192 fois

2/ Entrez la formule de calcul permettant de récupérer l'information du niveau de batterie
Ouvrez la fenêtre de configuration de la commande précédemment crée et aller à l'onglet "Configuration". Au niveau de la formule de calcul, entrez la formule "((#value# & 4) == 0) ? 100 : 0". Pour ceux qui comprennent le binaire, vous pouvez voir ici que le champs data tiens dans sont 3eme bit l'information du niveau de batterie.
jee2.PNG
jee2.PNG (42.52 Kio) Consulté 1192 fois

3/ Mise en place du scénario mettant à jour l'information de batterie standard Jeedom
Créez un nouveau scénario. Ce scénario doit être de mode "provoqué" et les déclencheurs doivent être les différentes commandes info battery de vos détecteurs précédemment créées
jee3.PNG
jee3.PNG (531.25 Kio) Consulté 1192 fois

4/ Le scénario
Ce scénario ne contient qu'un bloc code. Pour ceux qui veulent comprendre, ce code récupère le déclencheur du scénario (la commande info qui vient de changer). Cette info permet de récupérer le niveau de la batterie. On l'applique ensuite à l'équipement contenant cette commande.

Code : Tout sélectionner

$commande=$scenario->getRealTrigger();
$cmd=cmd::byString($commande);
if ($cmd && (strcasecmp($cmd->getName(), "battery")==0)) {
  	$battery=$cmd->execCmd();
  	$o=$cmd->getEqLogic();
  	if ($battery == 0) {
  		$o->batteryStatus(-1);
    } else {
      	$o->batteryStatus($battery);
    }
}

Voila c'est fini. Le statut de la batterie sera visible au prochain changement d'état de celle-ci. Pour les impatients, vous pouvez changer la "Gestion de la répétition des valeurs" de la commande info "battery" à "toujours répéter" afin de forcer l'exécution du scénario à la prochaine réception d'une trame provenant du détecteur. Il est conseillé de revenir à défaut une fois que cette première mise à jour à été faite.
Développeur des plugins :

Répondre

Revenir vers « [Plugin Officiel] RFPlayer »

Qui est en ligne ?

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