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

Désolé je crois que je me suis emmêlé les pinceaux !

Pour résumer et redonner du contexte :

  • Gladys est installé chez moi, sur un Raspberry pi et n’est pas exposée ni accessible sur internet.
  • Je n’ai pas encore d’abonnement Gladys Plus, donc aucun accès à Gladys en direct depuis internet.
  • Besoin : Me définir “présent” quand mon téléphone est en wifi uniquement.

Procédure :

  • J’utilise presence publisher pour Android, qui permet, une fois connecté en Wifi chez moi, d’envoyer des messages en MQTT à Gladys.
  • Dans Gladys, sous “MQTT”, je créé un nouvel équipement de type “présence” avec comme valeurs “1” et “0” (pas le choix que ce soit des chiffres).
  • Détection de la présence : Dans une scène, le bloc “Changement d’état de l’appareil” sur l’équipement MQTT lié à ce qu’envoie mon application, permet de me noter présent.
  • Détection de l’absence : Dans une autre scènes je me note absent quand le signal date de plus de 15 minutes. Pour cela, le bloc “Vérifier la présence” sur les 15 dernières minutes me permet de me noter absent lorsque le signal n’est plus reçu.

Attention : par défaut, l’application envoie “online” et pas “1” à Gladys. Une fois que j’ai modifié le paramètre dans l’application Android, les scènes sont fonctionnelles comme attendu (avant je pensais que c’était 1 et 0).

Astuce : Je voulais que l’application envoie des messages sans pour autant lui donne l’accès au GPS et garder mon GPS toujours allumé (nécessaire pour lui permettre de connaître le SSID wifi).
J’utilise ce que l’application appelle “Absence messages” pour notifier Gladys que je suis chez moi en wifi (logique :sweat_smile:). Sachant que Gladys me note présent quand elle a des messages et absent quand elle n’a rien, ça fonctionne comme je veux !

Pour cela :

  1. Refuser la permission GPS (localisation)
  2. Dans “conditions”, activer “Send without wifi”
  3. Dans la partie “None of the above matches”, activer “Send absence message” et modifier la valeur “Absence message” à “1”.
1 « J'aime »