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 ?

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 Like

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 Likes

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 Like

+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 Likes

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 Like