MQTT - Permettre l'intégration d'un "device" externe (smartphone)

Je ne crois pas que cela soit possible pour le moment, d’où la création d’une demande de fonctionnalité.

Besoin

Détecter ma présence et celle de ma femme à la maison.

Solution envisagée

Je n’aime pas tellement les porte-clé bluetooth, ça prend un peu de place et mon NUT semble avoir rendu l’ame assez rapidement.

J’ai trouvé une application Android tout simple : Presence Publisher (Android).

L’application permet de s’enregistrer sur un serveur MQTT pour pousser des événements lorsque le wifi de la maison est détecté.
Cela me permet de détecter mon téléphone sur le Wifi et m’identifier facilement et correctement.

Je ne vois pas actuellement comment je peux le faire.

  • Il faut peut être ajouter la possibilité de créer des utilisateurs MQTT dans le service ?
  • Autre chose ?
1 « J'aime »

Normalement il me semble que tu peux utiliser le même identifiant que fournit dans Gladys pour t’identifier sur le serveur MQTT, il faut juste utiliser un client-id différent de celui de Gladys (qui est random donc ça ne devrait pas poser de problème)

Après, je ne sais pas exactement quelle est le format de message et le topic sur lequel publie cette app?

Ce sont les identifiants fournis dans le fichier de configuration ? Je crois qu’il est chiffré, non ?

Aucune idée encore, je n’ai pas passé la partie connexion donc pas approfondi ce point encore.

T’as le petit œil pour afficher le mot de passe

Par contre je vois pas comment ça peut marcher si le mqtt n’est pas accessible depuis l’extérieur, tu ne sera jamais marqué absent.

Voilà ce que cela publi:

image

1 « J'aime »

Merci pour tes réponses !
Je n’avais pas pensé à ça effectivement, qu’il faut pouvoir indiquer que je ne suis plus là. :thinking:

Déjà pour la détection de retour à la maison ça pourrait fonctionner, il me reste à trouver un autre moyen de détecter que je ne suis plus là surtout.

Je débute sur ces technologies, mais ne serait-il pas envisageable de déclencher l’absence d’une personne lorsqu’il n’y a plus de publication de l’état “online” durant, par exemple, 15 minutes ?

Pour info je l’utilise gérer ma présence et la batterie de mon tél dans Gladys.
Et ça fonctionne bien.
Dans le service mqtt j’ai créé un device sous ce format :

Ensuite côté presence publisher
J’ai modifier la valeur de présence pour la mettre à 1 et celle d’absence a 0.
Après moi j’ai ouvert l’accès à Gladys du coup j’y accède même hors wifi.
Mais ça doit pas être compliqué pour @pierre-gilles de faire une API côté g+ pour mettre une valeur a 0 ou 1 a un device ou tout simplement mettre absent ou présent lorsque g+ reçois les valeurs via api?

2 « J'aime »

Non pas très compliqué :slight_smile: Si il y a de la demande pour ce genre de feature sur Gladys Plus je l’ajoute sans problème :slight_smile:

1 « J'aime »

+1 pour la feature via Gladys +

Ok noté, j’ai créé une « feature request »:

C’est une bonne idée et c’est pas très compliqué, je vais regarder!

3 « J'aime »

Hop c’est bon, j’ai codé la nouvelle route sur l’Open API, ça arrive bientôt sur une PR dans Gladys :slight_smile:

Le call API ressemble à ça:

Et hop dans Gladys (et Gladys Plus), j’ai bien la nouvelle valeur:

Bien-sûr du coup cette fonctionnalité peut-être utilisé avec n’importe quel type de device, y compris un device de présence !

La PR est prête:

Je viens de merger la PR, c’est dispo sur master!

Je viens de lancer un build Docker dev intégrant les derniers correctifs de bug, ainsi que cette fonctionnalité :slight_smile:

Le gateway en prod a été re-deployé lui aussi avec cette nouvelle feature :partying_face:

1 « J'aime »

C’est live dans Gladys v4.3.1 :slight_smile:

Bonjour à tous,

Je débute sur Gladys, je me permet d’intervenir sur ce poste par rapport à la demande initiale pour la détection de présence j’utilise dans mon Systeme actuel (je ne citerais pas de nom, mais il tourne sur un PI4) la détection par Nut et aussi la détection par Ping des téléphonez (l’adresse mac), cela fonctionne parfaitement bien. Cela ne serait-il pas possible de faire de mêle dans Gladys un module permettant de pinger des adresses IP ou Mac ? Je trouve ça plus pratique que de passer par une application Tiers

Salut et bienvenu, ta demande a déjà été évoquée :wink:

Le soucis c’est que si la box redémarre, tu changeras d’ip, et je n’ai plus le souvenir de cette discussion mais il y avait aussi quelque chose qui mentionnait l’adresse Mac qui change aussi… Lis la discussion et tu seras fixé

Hello!

De ce qu’on s’est dit sur plusieurs sujets, cette fonctionnalité fonctionne déjà (@VonOx a fait un poc sur Android fonctionnelle il me semble)

Est-ce c’est bon de ton côté @lmilcent ?

Si oui, est-ce qu’on peut fermer la demande de fonctionnalité ?

Oui ça marche super bien, faut que je trouve un peu de temps pour la doc

2 « J'aime »

Je n’ai pas encore testé, car n’ayant pas Gladys Plus je me connecte à mon instance chez moi via VPN. Donc c’est plus restrictif, mais je vais réfléchir à nouveau au sujet pour mon cas particulier.