La précision vaut ce qu’elle vaut mais ceci permet de détecter la présence d’un utilisateur à la maison.
Le cas d’usage est plutôt simple, un utilisateur ayant configuré owntrack via open api émet un event d’entrée ou sortie de zone. Une scène côté Gladys agira pour marquer ou non l’utilisateur comme présent. Tout un tas de scenario peuvent en découler.
Owntrack envoi la localisation, si j’entre dans la zone alors un évent est émis, je peux déclencher une scène ( me marquer at home, allumer les lumières extérieures etc…)
Pour moi, il faut développer ça en natif, comme ça si Owntrack disparait ou qu’on veut utiliser une autre app de localisation, on pourra toujours faire des scènes
Il faut re-développer toute la stack de la v3.
Spécification fonctionnelle:
Créer une zone dans la vue “plan” avec un nom, une couleur et un rayon
Editer une zone dans la vue plan
Supprimer une zone dans la vue plan
Dans les scènes, je peux sélectionner un trigger “quand l’utilisateur XX rentre dans la zone YY”
Dans les scènes, je peux sélectionner un trigger “quand l’utilisateur XX sort de la zone YY”
Je ne suis pas hyper à l’aise donc c’est pas un sujet qui avance vite. Dites moi si c’est à jeter ou si quelqu’un veut donner un coup de main ou encore reprendre le sujet pour avancer plus vite.
La map ne se met pas à jour en temps réel (j’ai l’impression qu’il n’y a pas d’écoute/remontée de la position via websocket). Si ce n’est pas développé, je trouve que c’est une feature sympa et pas très compliquée à développer.
Dernier point, je trouve que ça commence à être compliqué de distinguer ces notions :
La maison est vide / La maison n’est plus vide
Départ de la maison / Retour à la maison
Utilisateur quitte la zone / Utilisateur entre dans la zone
Pour ceux qui sont intéressés par le Owntracks => MQTT, je peux avancer sur cette issue (vu que j’ai déjà quelque chose qui marche). Mais il reste les tests, la configuration, le front, la documentation …
Pas bête, ce développement a été fait bien avant et effectivement il n’y a pas de websockets. ça peut se rajouter facilement, je vais changer ça.
Qu’est ce que tu ne trouve pas clair ?
Je trouve les noms plutôt explicite pourtant.
Après ce qui peut-être confusant, c’est la différence entre la « maison » et les zones. Il faut qu’on arrive à faire comprendre à l’utilisateur que la maison est un « concept » dans Gladys, et que pour faire une scène ou l’utilisateur rentre/sort de la maison via une zones, il faut faire 2 scènes:
« quand l’utilisateur rentre dans la zone » => marquer l’utilisateur à la maison
« quand l’utilisateur sort de la zone » => marquer l’utilisateur comme sorti de la maison
Les libellés sont faciles à comprendre. C’est plutôt comment ces actions sont déclenchées.
Dans certains cas, ça va être automatique (comme les zones).
Dans d’autres cas, il faut déclencher l’action via une scène (utilisateur présent via un périphérique Bluetooth si j’ai bien compris).
Je n’ai pas beaucoup utilisé la présence utilisateur et la maison vide, je vais tester.
Dans le cas de la détection de la présence dans la maison, c’est au choix de l’utilisateur, absolument tout est possible:
Bluetooth
MQTT dans un script
MQTT sur ton téléphone Android quand ton tel se connecte au Wifi de la maison/déconnecte
Peut-être qu’un lien dans chaque box vers une explication de la doc pourrait être mieux ?
En tout cas tout ça j’essaie de l’expliquer au maximum dans les vidéos que je fais récemment. Après je ne sais pas si on peut faire mieux dans l’UI, les libellés et les descriptions de chaque box me semblent assez clair
La position des utilisateurs est mise à jour en live désormais avec des websockets
La PR est là:
Aussi, il y avait un bug que j’ai remarqué en utilisant la feature, le calcul de distance entre un utilisateur et une zone était en kilomètre et pas en mètre, et du coup la sortie de zone fonctionnait pas (gladys comparait des mètres avec des kilomètres… )
Je merge ça dès que les tests passent, et je refais un build dev !