J’aimerais savoir si il y à une possibilité de récupérer les infos de « dernière communication » des appareils zigbee pour pouvoir gérer les appareils qui ne communiquent plus.
Exemple : recevoir une notification quand un appareil n’à pas répondu depuis plus de 24h00.
Avec le plugin Jeezigbee (ou Zigbeelinker), dans l’équipement lui-même, onglet ‹ Commandes ›, il y a quasiment toujours un champ ‹ Dernière communication ›.
Il suffit de récupérer ensuite cette info pour remonter une alerte si besoin en la comparant à un délai fixé à l’avance, en appliquant par exemple dans un virtuel la formule suivante :
Avec 28800 = délai en secondes avant que l’alerte ne remonte (ici 28800/3600 = 8 heures).
Résultat :
Le virtuel renvoie 0 → équipement en alerte (pas de communication depuis plus de 8 heures).
Le virtuel renvoie 1 → équipement OK
On peut ensuite envoyer une notification, une alerte, un SMS,… ou encore l’associer à un widget binaire (0 = rouge, 1 = vert) qui pourra être intégré dans un design qui ressemble à ça :
Encore mieux…
Pour les modules avec batterie qui reportent leur capacité restante en % (toujours dans l’onglet commandes), en appliquant cette formule :
Le virtuel renvoie 0 → équipement HS (pas de communication depuis plus de 8 heures)
Le virtuel renvoie 1 → équipement OK (communication OK et batterie > à 20%)
Le virtuel renvoie 2 → équipement en alerte (communication OK mais batterie < à 21%)
Là aussi on peut ensuite l’associer à un widget multi-état à 3 couleurs (rouge, jaune, vert) correspondant à ces 3 réponses, ce qui donne ceci sur un design :
Dans la partie Réglages / Système / Configuration, onglet Log on peut définir une action lancée à chaque fois qu’un message apparaît dans le centre des messages Je m’en sers pour recevoir les messages sur mon téléphone via JeedomConnect.
Il est aussi possible de lancer un scénario pour filtrer les messages par ex.
Si l’information ‹ last_seen › remonte bien vers ZigbeeLinker, c’est que l’équipement envoie bien le message MQTT ‹ last_seen › au format json (ZigbeeLinker ne va pas l’inventer…).
Le (ou les) problème(s) se situe(nt) donc ailleurs.
Déjà, dans z2m, la colonne ‹ Dernière vue › où tout est sur N/A n’est pour le coup évidemment pas normal.
Le PC qui affiche la page du serveur web de Jeedom est bien à l’heure et à la bonne date (et synchronisé) ?
Ensuite, le champ ‹ last_seen › qui n’apparaît pas dans les commandes. Là non plus ce n’est pas normal.
En tentant de supprimer un des équipements et de le réinclure, ça ne règle pas le problème ?
autant le dire ou de suite, même si c’est une solution, il faut quand persévérer à trouver le problème de base, car c’est quand même pas mal d’avoir c’est fameux « dernière communication » !
D’ailleurs perso, je mettrais bien un billet sur la proposition de @dan_73 (que je remercie au passage car… j’avais presque oublié que ce paramètre existait et que l’on pouvait personnaliser le format de retour de cette info → toujours bon de l’avoir en tête…)
Ceci étant :
Avant le MQTT, avant le Zigbee, cette problématique existait déjà, et comme pas prévu en Z-wave, un super mec à Jeedom à créée une commande toute faite pour cela !
Elle est dans la doc des scénarios, mais on peut l’utiliser dans un virtuel directement également : https://doc.jeedom.com/fr_FR/core/4.5/scenario?theme=dark
(idem en faisant un « Event » à la place de Variable pour l’injecter dans un virtuel et donc avoir les courbe de temps.
Exemple dans un Design, ou l’on voit que les deux modules ne communiquent pas toujours pareil :
Un excellent Weekend à tou.te.s
(et merci Jeedom pour cette commande qui m’a permis de faire des super suivi de réseau / détection de problème, depuis des années)
La commande collectdate s’applique à une commande particulière de l’équipement (ici ‹ last seen ›), alors que la commande Lastcommunication s’applique à l’ensemble de l’équipement, c’est la dernière datation des informations reçues qui est prise en compte.
C’est donc plus général, mais ça doit marcher aussi en effet.