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

,

Je comprends, dans ce cas il manque une option a ce bloc “me marquer absent si aucun signal n’a été détecté sur la période”.

Parce que c’est ce que je voulais faire sans y arriver, car pas possible par défaut j’ai l’impression.

Justement, je ne pense pas qu’on veuille cette option, c’est pas terrible niveau expérience utilisateur !

Par contre j’aimerais vraiment comprendre pourquoi ça ne fonctionne pas chez toi cette détection de présence, chez moi ça fonctionne parfaitement ! ^^

Tu peux regarder le JSON de ta scène via l’API comme montré dans mon post précédent ? :slight_smile:

{
    "id": "b1a0b488-02eb-4b3d-b5d9-d8fb3b016328",
    "name": "Présence : Louis est là",
    "icon": "home",
    "active": true,
    "selector": "presence-louis-est-la",
    "actions": [
        [
            {
                "type": "user.set-seen-at-home",
                "user": "louis",
                "house": "ermont"
            }
        ],
        []
    ],
    "triggers": [
        {
            "type": "device.new-state",
            "device_feature": "mqtt-oneplus7tpro-presence",
            "value": 1,
            "operator": "=",
            "threshold_only": false
        },
        {
            "type": "device.new-state",
            "device_feature": "mqtt-oneplus7tpro-battery",
            "value": 0,
            "operator": ">="
        }
    ],
    "last_executed": null,
    "created_at": "2021-03-29T16:02:53.000Z",
    "updated_at": "2021-10-14T20:51:33.668Z"
}

« threshold_only »: false

ça me parait bon donc !

Tu as des logs spécifique côté Gladys sinon qui pourrait expliquer pourquoi ça ne marche pas ? Tu es sûr à 1000% qu’une valeur entière 1 est envoyée via l’intégration MQTT à chaque fois que tu rentre ?

Parce que j’arrive vraiment pas à reproduire, chez moi si j’envoie 1 plusieurs fois de suites, la scène s’execute à chaque fois

En fait je crois que ça vient de mon application présence publisher qui envoie "online” au lieu de “1”.

Je viens de faire la modif dans l’application (qui manque de documentation) ça devrait résoudre le problème !

Par contre pour le composant de détection de présence, je pose la question différemment :
Comme détecter que je suis présent basé sur un signal visible quand je suis en wifi puis une absence de signal ?

Je me disais bien.

C’est à dire ? Tu veux faire quoi ?

Je veux que Gladys me détecte à la maison quand mon téléphone est en wifi et envoie un signal en mqtt.
Et si le signal n’est pas reçu dans les 15 minutes c’est que je suis absent. Et c’est cette partie que je n’arrive pas à faire

Bah c’est pas ce que tu fais déjà avec l’action « Vérifier la présence »? Je pensais que cette partie marchait bien

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 »

Ok ! Peut-on mettre cette demande de fonctionnalité en “done” vu que ça a l’air de marcher au final ?

On peut limite transférer cette demande dans la catégorie “Configuration” et mettre ton dernier message en solution ?

Oui tout à fait, tu peux faire ça.

Salut @spenceur et @lmilcent ,

Je réactive le sujet, car je ne trouve pas comment rajouter les topics dans l’application.
Est ce que tu aurais l’occasion de m’expliquer voir de faire un tuto ?

Je vais essayer de le mettre en place pour ma compagne et moi sur les 2 téléphones.

Merci.

Salut,

Il faut aller dans l’onglet “Message” et là tu pourras modifier les messages liés à la présence et à la batterie ou à ce que tu auras déclaré dans Gladys.

Bonjour,
Comment as-tu fait pour changer online en 1 ?

Je crois qu’une Maj de l’appli a retiré la possibilité

Sur la version 2.3.2 on peut encore le modifier dans « conditions »

Je confirme


Moi c’est le présence message que j’arrive pas a modifier pour « 1 ».

Sur mon screen il faut que tu clique sur le wifi pour lui mettre une valeur autre que « online » dans longlet condition…

Bien vu ! J’avais pas configuré de wifi et ne voyais plus le menu du coup.
Merci :blush:

1 « J'aime »