Je débute avec HA et j’essaie d’utiliser un Shelly BLU Button1 pour gérer une présence.
Avec l’application Shelly Debug (sous iOS), j’ai mis à jour le firmware du bouton et activé la fonction Beacon
Par curiosité j’en ai acheté un et regardé. Déjà il bouffe les piles en 3 jours, donc pour la présence on va oublier. Il vaut mieux utiliser un Tile ou Nut qui sont fait pour…
Après 40 heures d"utilisation, je ne constate pas d’effondrement de la batterie selon le panneau de suivi batterie (version de firmware, peut-être ?)
J’ai démarré avec un relevé de 86% environ et je suis sensiblement au même niveau 40 heures après
Pour en revenir à ma question, j’ai poursuivi ma recherche.
Il faut utiliser l’entité « Packet id » pour déterminer « présence » ou « absence »
J’ai regardé de plus près le « plateau » dans l’historique de cette entité lorsque le Shelly BLU Button1 est hors de portée. En fait, le trait horizontal « ne devrait pas exister », puisqu’il n’y a aucune remontée durant la période.
Il me semble que je dois mettre en place une routine qui va récupérer toutes les 30 secondes la date et heure de la dernière remontée d’info de cette entité et la comparer avec l’heure de la routine.
Si l’intervalle est supérieur à 30 secondes => absence
Je vais regarder les tutoriels du forum et chercher s’il existe une fonction donnant la durée en secondes depuis le dernier changement de valeur
J’ai avancé dans mes recherches et je me suis appuyé sur une « automatisation ».
J’ai découvert :
Qu’il fallait installer le module complémentaire « File editor » pour avoir plus de possibilités de configuration (pour modifier en direct le fichier « automations.yaml »)
Qu’un rechargement de la configuration « automatisations » était nécessaire après modification (via « outils de développement » « YAML »)
Apparemment, il n’existe pas de fonction qui retourne la durée en secondes depuis le dernier changement de valeur d’une entité
Voici donc le fichier « automations.yaml » qui me permet de savoir si le Shelly BLU Button1 est hors de portée :
Il me reste à traiter le « retour » après « absence ».
Je pensais utiliser une « variable », mais lors de ma lecture de ce forum, j’ai pu lire que l’on ne parlait pas de « variable » avec HA ?
Je dois aussi trouver si l’on peut utiliser une double condition dans l’automatisation ?
Quand on passe le mode Beacon à ON (pour faire ce que tu veux faire), régulièrement le bouton est sollicité. Ce qui fait que si tu y colle une lampe ça fait du yoyo… Pour autant ca ne remonte pas dans les Beacons de HA…Mais ça c’est un autre mystère…
J’ai choisi d’utiliser le bouton comme détecteur de présence (je sais qu’il y a d’autres solutions)
C’est pourquoi j’ai activé le mode Beacon et je n’utiliserai pas le bouton du bouton
Comme je l’ai indiqué, le bouton est bien reconnu par BTHome (et pas dans iBeacon Tracker)
J’ai supprimé les variables : si j’ai bien compris (après de longues lectures de forums), une variable est locale lorsqu’elle est initialisée dans « sequence »… et on ne peut pas connaître sa valeur via l’interface HA
J’ai donc créé un « input-number » (paramètres - appareils et services - entrées)
L’automatisation fonctionne et me permet de gérer présence/absence.
Il me reste à la mettre en œuvre
Ci-après le fichier automations.yaml
J’utilise « above » et « below », alors qu’un test d’égalité serait plus logique… mais je n’ai pas trouvé comment faire…
Peut-être aurai-je un retour ?