Node-red / wifi

Hello,

Je suis actuellement en train de mettre en place plein de chose côté node-red. Je souhaitais ajouter la détection du wifi via le smartphone. Quelqu’un a déjà réussi à mettre en place ça ? Les limitations viennent surement de docker à mon sens. Des idées ?

(J’ai essayé avec un outil de détections wifi sur node red mais il me dit no scanning utility found

Le plugin node red dois surement avoir des prérequis avec des programmes a installer sur le système.

Sinon la limitation, c’est notamment que les iOS et Android récents changent leur adresse MAC régulièrement pour pas être trop tracé.
Tu risques donc de pas facilement identifier ton téléphone sauf si tu lui demande explicitement de pas changer son adresse mac.

Oui justement je me demandais si quelq’uun avait ces limitations, je vais aller fouiller dans le code pour voir ce qu’il utilise

Pas sur côté wifi il faut pouvoir identifier les adresses mac pour pouvoir faire du blocage (sécurité notament). Donc je pense qu’elle change pas.

Hello,

Sur mon installation, je détecte la présence des utilisateurs exclusivement par le wifi avec un ping dans Nodered qui renvoie à Gladys par MQTT lorsque le ping a fonctionné (palette : node-red-node-ping).

ça fonctionne super bien.

A dispo pour plus de complément.

1 Like

Mais c’est malin ça ! Surtout si on bloque les ips en statique

Merci je vais mettre ca en place :slight_smile:

Par contre je veux bien une info, comment fait-on dans gladys pour associer un utilisateur à un capteur de présence ?

J’ai l’impression que ca marche pas comme je le souhaite, je me trompe peuêtre mais mon capteur côté mqtt recoit 0 => pas présent et 1 => présent.

Il me dit bien je l’ai vu y a quelques secondes, mais pas l’utilisateur n’est plus la. C’est moi ou il y a un problème dans le fonctionnement de cette fonctionnalité ?

A mon avis ta scène se dit : “Si présence = 1, l’utilisateur est là”, mais comme le capteur renvoie 0 après quelques secondes (ou son état est réinitialisé à 0 par Gladys, c’est pareil), il est remis absent rapidement.

C’est toujours une difficulté de se baser exclusivement sur des capteurs de mouvement pour définir de la présence d’un utilisateur. Gladys ne le permet pas encore facilement à mon avis.

Voilà comme je vois les choses :

  1. Scène qui marque une personne présente en cas de mouvement d’un capteur
  2. Scène qui marque absente une personne en cas de non mouvement depuis 10 minutes

Là où ça bloque, c’est la scène 2, qui va jamais attendre 10 minutes après la détection d’un mouvement pour te marquer absent. Elle va juste s’exécuter toutes les 10 minutes, mouvement ou pas. Donc ta détection de présence sera par terrible.
J’avais cette idée au début, puis j’ai changé pour une appli qui envoie un signal à Gladys en Wifi via MQTT. Comme ça quand je suis en wifi, je suis détecté, quand je pars, je suis marqué comme absent.

Nop du coup je passe par Node red et lui gère ca comme ca:

  • je trouve le téléphone => présence
  • pas de téléphone => non présence

Donc dans les deux cas c’est une vrai information.

Mais ce que j’arrive pas dans Gladys c’est définir un captuer ? ou état qui dit oui l’utilisateur “Thibaut” est bien présent. Et donc que j’envoie l’info dans node red ?

En fait la fonctionnalité “présence” fonctionne pas pour mon cas (peu être dans d’autres cas je sas pas).

Pour moi présence c’est oui ou non, la c’est vu il y a X temps

Oui tu créé un capteur “virtuel” en sorte dans l’intégration MQTT, et ensuite tu fais 2 scènes qui vont faire le pont entre ce capteur et la gestion native de la présence :

SI capteur = 1 ALORS utilisateur damalgos vu à la maison
SI capteur = 0 ALORS utilisateur damalgos a quitté la maison

Il faut voir ce capteur virtuel comme une sorte de variable ou tu stocke un état.

1 Like

Ahhhhh merci ! Génial j’avais pas saisi ce cas particulier de mettre la scène. Super merci c’est génial

1 Like

J’avais pas compris le contexte, en effet c’est plus “simple” comme ça dans Gladys !