Badge présence se désactive au bout d'un certain temps avec Freebox Delta

Mon problème

Bonsoir,
vendredi dernier, j’ai changé ma box SFR (fibre) avec une Freebox Delta.
J’en ai profité pour créer plusieurs badges qui signalent une présence via le wifi des iphone (pour l’instant, je ne peux tester que le mien jusqu’à vendredi prochain).
J’utilise l’intégration Free. Par ailleurs j’ai créé au niveau du DHCP de la box un bail statique avec l’adresse Mac et IP du téléphone.
Mon problème est qu’au bout d’un certain temps, parfois 5 minutes, parfois 10 minutes, 1/4 h, le bail se met en grisé sur l’interface de la freebox et le badge dans HA me signale comme absent. Par contre, je continue à avoir du wifi sur le téléphone et je peu naviguer.
Si je désactive le wifi sur mon téléphone et que je le réactive, j’ai de nouveau le badge qui me signale présent.
D’où pensez-vous que ces décrochages peuvent venir ?
Cordialement.

Il ne faut pas utiliser l’adresse IP, mais l’adresse Mac
Le wifi de l’iPhone SE met en veille au bout de quelques minutes d’inactivité.
L’api de la Freebox permet de faire ça très facilement
Je l’utilise depuis très longtemps (avant même d’utiliser HA)
Cela me permet de mettre le chauffage en mode éco ou de fermer les volet automatiquement si il n’y a personne à la maison

Bonjour Zeverybest,
mais concrètement, comment tu pratiques ?
Je suis allé dans la partie développeur et je n’ai pas trouvé ma réponse !
Merci d’avance pour ton retour.

Il faut regarder la doc de l’api sur la Freebox directement
Elle est dispo dans l’interface web
Il faut faire une demande de connexion (en la validation depuis l’écran de la Freebox puis faire des requêtes http pour lire les valeurs souhaitées

Merci pour ton retour,
malheureusement, je ne comprends pas vraiment ce qu’il faut faire ! Désolé…
Une fois que j’ai çà, si c’est bien ce qu’il fallait faire, comment je l’utilise ?

api freebox

Cordialement.

Il faut faire une suite de requêtes
Une pour la connexion
Une pour l’authentification
Une pour chaque device don’t tu veux tester la présence

Je vais rechercher mon code PHP et te le poster

Bonjour Zeverybest,
si ça t’es possible de me donner un exemple de ce que tu as fais, se serait peut-être plus simple pour moi.

  1. pour l’instant j’ai mis dans ma configuration.yaml
    freebox:
    host: xxxxxxxx.fbxos.fr
    port: xxxxx
    je retrouve bien la freebox dans les intégrations avec les devices dont mon iPhone (mais le résultat est le même qu’au début : décrochage du tracking sur le wifi).
    Après je pense qu’il y a une suite, mais laquelle ?
  2. pour la requête, je passe par Open Rested dans Firefox, mais je fais ma requête sur les devices avec quelle ligne de commande ?

Merci pour ton aide, cordialement.

Je suis en déplacement jusqu’à mardi, mais je t’envoie ça en rentrant

rapidement récuperé sur mon serveur en VPN un exemple.
Bien entendu, les password, token et autres sont faux.

GET /api/v8/login/ HTTP/1.1
Host: mafreebox.freebox.fr
Connection: Close
Content-type: application/x-www-form-urlencoded
Content-Length: 0


1er drapeau: 
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Feb 2022 07:03:52 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close

a3
{"success":true,"result":{"logged_in":false,"challenge":"ZvmFQcZOfdgdftghdq+cQ8jtbOCqWu","password_salt":"57NUdosdfEFRZEEFEK2Krf","password_set":true}}
0

password = 69de46bc85R4F8ER4F4E1eac101ab7

POST /api/v8/login/session/ HTTP/1.1
Host: mafreebox.freebox.fr
Connection: Close
Content-type: application/x-www-form-urlencoded
Content-Length: 122


{
    "app_id": "domo1",
    "app_version": "0.0.1",
     "password": "69de46bc85R4F8ER4F4E1eac101ab7"
}


HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Feb 2022 07:03:54 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close

170
{"result":{"session_token":"tL9v1Rq1iXZn4dNB9A8DDF6GVS56DF4G56DF4GVFWa5T6gJPvwP0XcRJ","challenge":"ZvmFQcZOlXM7YSD64FV4DSCqWu","password_salt":"57NDF56VQD56HuYmBXw2VksT22bMxqK2Krf","permissions":{"contacts":false,"downloader":false,"parental":false,"calls":false,"explorer":false,"pvr":false,"tv":false,"settings":false},"password_set":true},"success":true}
0


GET /api/v8/lan/browser/pub/ether-xx:xx:xx:xx:xx:xx/ HTTP/1.1
Host: mafreebox.freebox.frF564VBSR4G89RGF/RQXZn4dNB9A8DOPYTf+8k6a1B0fujdHico9KCawWFWa5T6gJPvwP0XcRJ
Connection: Close
Content-type: application/x-www-form-urlencoded
Content-Length: 0



HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Feb 2022 07:03:54 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close

7b
{"msg":"Erreur lors de la récupération de la liste des hôtes : Interface invalide","success":false,"error_code":"nodev"}
0



longueure = 299
débute à la position 
termine à la position 
françois 200 OK
Server: nginx
Date: Fri, 25 Feb 2022 07:03:54 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close

7b
{"msg":"Erreur lors de la récupération de la liste des hôtes : Interface invalide","success":false,"error_code":"node
GET /api/v8/lan/browser/pub/ether-XX:XX:XX:XX:XX:XX/ HTTP/1.1
Host: mafreebox.freebox.fr
X-Fbx-App-Auth: tL9v1Rq1iXFV541DF564VQDF4QHico9KCawWFWa5T6gJPvwP0XcRJ
Connection: Close
Content-type: application/x-www-form-urlencoded
Content-Length: 0



HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Feb 2022 07:03:54 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close

7b
{"msg":"Erreur lors de la récupération de la liste des hôtes : Interface invalide","success":false,"error_code":"nodev"}
0

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 25 Feb 2022 07:03:54 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close

7b
{"msg":"Erreur lors de la récupération de la liste des hôtes : Interface invalide","success":false,"error_code":"nodev"}

Bonjour Zeverybest,
merci pour ton exemple…

J’ai passé la quasi totalité de la semaine à chercher une solution et quelque soit le chemin que j’adoptais, je retombais systématiquement sur des problèmes de décrochage en WiFi dès que le iPhone se mettait en sommeil.
En cherchant et en cherchant encore (bizarrement, je n’ai trouvé aucun forum qui traite de ce problème avec la FreeBox OS et les iPhones !), je suite tombé sur GitHub sur l’intégration iphonedetect qui marche très bien chez moi et qui réagit à l’entrée avec un délai d’environ 7 à 10S et à la sortie environ 70S même quand le téléphone est en sommeil. Que du bonheur !
J’attends l’arrivée des enfants ce soir pour tester avec leur téléphone.
Je vais quand même tenter d’approfondir ta solution, mais pour l’instant, j’y suis totalement hermétique.
Quand tu auras un peu de temps à me consacrer, donne moi une méthode, parce que là avec la solution que tu me proposes, je suis totalement largué.
Bon week-end, à bientôt…

1 « J'aime »