Je vous propose un petit tuto (mon premier) pour vous permettre de remonter les informations de batterie de vos équipements zigbee (ou autre) vers la gestion de batterie dans Jeedom. Ici pour l’exemple, j’utilise des équipement Zigbee avec le protocole MQTT à travers le plugin jMQTT et le plugin Virtuel mais tout ça reste valable de manière beaucoup plus générale lorsque vous voulez faire remonter des infos de batteries de n’importe quoi vers Jeedom.
En premier je récupère les infos de mon équipement Zigbee dans le plugin jMQTT :
Ici la commande 4717 est la valeur numérique du pourcentage de batterie d’un détecteur d’ouverture Aqara.
Ensuite comme je vais également me faire une page de design rassemblant tous mes équipements sur batterie, je créer un virtuel reprenant ces infos :
Ici la commande 2143 reprend l’info de la commande battery de l’équipement du dessus, je la nomme du nom de la batterie juste pour faire mon beau design ensuite
Sur la petite roue crantée à droite de la commande 2143 de mon virtuel, je vais paramétrer l’onglet alertes, toujours pour faire mon beau design :
Ici je mets en warning à 30% de batterie et en alerte à 20%. Je rappelle que cette partie de la configuration n’est que pour mon design.
Ensuite dans la configuration avancé de mon virtuel (bouton en haut a droite.) puis dans l’onglet Alerte je vais configurer ma batterie pour Jeedom ainsi que les seuils d’alerte :
Ici je lui indique le type de batterie ainsi que les seuils de Warning et Alerte du niveau de batterie.
Ensuite il va falloir dire à Jeedom que notre équipement Virtuel à une batterie et lui indiquer son niveau, pour cela on va créer un scénario qui aura comme déclencheur les changements de notre commande de virtuel :
Ici on peut voir que j’ai ajouter toutes mes commandes d’équipements virtuels contenant une info de batterie comme déclencheur du scenario.
Le scenario contiendra uniquement un bloc code, celui-ci va modifier le cœur de l’équipement pour lui ajouter une info de batterie que Jeedom saura lire :
Pour ceux qui veulent faire du copier coller voila le code, il n’est pas parfait mais fonctionne très bien :
$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
$battery = cmd::byString($trigger)->execCmd();
$eq = cmd::byString($trigger)->getEqLogic();
$scenario->setLog("trigger : $trigger , battery : $battery");
if ($battery == 0) {
$eq->batteryStatus(-1);
} else {
$eq->batteryStatus($battery);
}
Nous avons fini avec le bricolage, maintenant il ne reste plus qu’a attendre que les infos remontent d’elles-mêmes dans Jeedom.
Voila le résultat dans la partie Analyses → Équipements → Batteries de Jeedom :
Ici avec un équipement en alertes dans la partie Analyses → Équipements → Modules en Alertes de Jeedom :
Et la sur ma page de design regroupant toutes les batteries de mes équipements :
Avec cette méthode, on voit ici que je récupère des infos de protocoles différents comme le RFXcom, Zwave, Zigbee, etc… sans aucune différence d’affichage, ce qui permet un rapide coup d’œil sur le stock de pile à préparer