Défaut de liaison des appareils Zigbee

Bonjour,

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.

Merci

Bonjour

Ce n’est pas disponible dans l’onglet alerte de l’objet ?

Dans alerte, il y à effectivement une gestion d’alerte de communications, mais je ne peux pas rajouter d’action.
Comment récupérer cette info ?

Bonjour,
Vous pouvez utiliser le plugin plugin-watchdog qui est entierement paramétrable (délais, alertes, actions, …)

Bonjour,

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 :

(#timestamp# - strtotime(collectdate(#[xxxx][yyyy][Dernière communication]#))) < 28800

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 :

image

Encore mieux…
Pour les modules avec batterie qui reportent leur capacité restante en % (toujours dans l’onglet commandes), en appliquant cette formule :

(#timestamp# - strtotime(collectdate(#[xxxx][yyyy][Dernière communication]#))) < 28800 == 0 ? 0 : ( #[xxxx][yyyy][Batterie]# > 20 ? 1 : 2 )

Résultat :

  • 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 :

image

Bonsoir,

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.

ça à l’air sympa mais je n’ai pas le point de départ, dans aucun de mes équipements j’ai la ligne « dernière communication ».

Je retrouve l’info en bas de cette page mais comment la récupérer ?

Et dans l’onglet « Commande », il n’y a rien ?

Rien de rien.

Bonjour,

Ok…
Pour un équipement particulier, il est en effet possible que celui-ci ne remonte pas cette information.
Mais ce n’est pas la règle…

Et dans z2m directement ?
Par exemple pour mon contacteur HC/HP, j’ai ceci avec JeeZigbee :

Et dans z2m :


Si cette information n’est pas non plus dans z2m, c’est que cet équipement ne la remonte pas (et ce serait vraiment étonnant…).

Bonjour,
Avez vous essayé de créer une commande info, autre, avec logical_ID « last_seen » et voir ce qui remonte ?

J’ai crée une valeur reçu dans zigbeeLinker, mais pas de remontée d’info.

Ce n’est peut-être pas « last_seen » pour mon équipement. (j’ai éssayé « last_communication ») Pas mieux.

Je vois que dans Zigbee2LMQTT la dernière vue ne remonte pas.

Et pourtant dans ZigbeeLinker l’info « dernière communication » apparait.

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 ?

Oui les deux sont à la même heure et synchronisé à un serveur de temps.
J’ai rajouté des équipements hier et ils ne remontent pas non plus.

As-tu vérifié ce paramètre dans la console de Zigbee2mqtt

1 « J'aime »

Bonjour à tous,

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

lastCommunication(#[Le nom de l'objet[Le nom de l'équipement]#)

OUI, c’est un appareil, il n’est donc pas sous la forme habituel #[Objet][Appareil][Commande]#, mais bien : #[Objet][Appareil]#.

Par défaut le temps est en seconde, mais on peu très bien le personnaliser comme :

lastCommunication(#[Le nom de l'objet[Le nom de l'équipement]#,[Y-m-d H:i:s])

(j’écris le format de tête, c’est à vérifier…)

Il y a après plein de façon de l’utilisé.
Exemple dans un scénario :



(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 lien pas mal de FurazWorld :

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)

Bonjour,

Oui, c’est en gros ce que je disais au début.

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.