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.
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.
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
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.