Intégration externe - Apple Device Tracker

Hello,

Voici une intégration externe Apple Device Tracker :

Cela permet de suivre vos appareils Apple via Localiser et de les utilisez comme capteurs de présence.

Elle devrait être disponible sous peu sur le store

N’hésitez pas à me faire vos retours concernant cette intégration externe.

C’est une super idée @prohand, merci !
Mais je ne la vois pas sur le store, malgré un appui sur ‹ rafrachir ›. Sais-tu si il y a une autre manip’ que je devrais faire ? Ou juste patienter encore un peu ?

Je pense qu’il faut patienter car ceci n’a pas encore tourné depuis 16h30 :

Se serait bien un push buttons pour faire sonner son tel en plus de l’action :slight_smile: :sweat_smile:

Oui il y a une autre technique, il y a un bouton Installer depuis Github qui est là pour cela.
image

Tu as juste à indiquer le depot et cliquer sur Installer

@prohand, j’ai installé et testé. La connexion icloud est ok, et l’onglet découverte affiche bien mon appareil iPhone. Mais par contre ça ne découvre pas les 6 airtags qui sont associés à mon compte icloud et visibles dans l’app Localiser.

J’ai lu ta doc, très claire d’ailleurs. Mais je n’y ai pas vu d’action spécifique à faire. Et tu écris « Ce que vous obtenez : Un appareil Gladys par appareil Apple (iPhone,…, AirTag…) » donc il doit y avoir un truc à ajuster quelque part :wink:.

Merci par avance pour tes conseils.

Merci pour ton retour.
Je n’avais pas fais gaffe que les miens n’étaient pas présent :sweat_smile:

Voici le retour de Claude sur le sujet :

Les « Objets » (AirTag, traceurs tiers) ont une position chiffrée de bout en bout : seule l’app Localiser sur matériel Apple la déchiffre. iCloud.com n’affiche d’ailleurs que l’onglet Appareils.

Je corrige les infos dans la doc sur la version 1.0.2 ainsi que le cover.png

Tu peux le faire dans le menu configuration tout en bas :

Ah ben mince… J’aurais bien conçu des scènes basées sur la localisation des Airtags. Tant pis.

Le but est davoir un accès rapide via le dashboard :sweat_smile:

Souvent madame perd son tel et me demande de l’appeler. La il me suffit avec mes tablettes qui ne sont pas admin de cliquer sur un bouton et déclencher l’action

C’est en place dans la nouvelle version :wink:
Il ne te reste plus qu’a mettre à jour l’intégration ainsi que l’appareil que tu as déjà ajouté :slight_smile:

Pour information, sortie de la version 1.0.9 qui corrige un problème ou l’on recevait ce type de message de la part de Gladys :

Il faut par contre recréer les devices pour ne plus avoir le bug

Attention quand l’appareil est en charge cela n’apparait plus sous la fonctionnalité « Batterie » mais dans une nouvelle fonctionnalité

image

Hello depuis la maj je ne suis plus connecté et quand je tente de me co jai des erreurs

[2026-09-20T17:25:42.545Z] [INFO] Starting the Apple Device Tracker integration...
[2026-09-20T17:25:42.785Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:8455)
[2026-09-20T17:25:43.482Z] [INFO] [icloud] Signed in to iCloud with the saved session
[2026-09-20T17:25:43.706Z] [INFO] [tracker] The iCloud session expired, signing in again
[2026-09-20T17:25:44.437Z] [INFO] [icloud] Signed in to iCloud with the saved session
[2026-09-20T17:25:44.596Z] [ERROR] iCloud connection failed: The iCloud session expired while reading Find My SessionExpiredError: The iCloud session expired while reading Find My
    at ICloudClient.refreshClient (file:///app/src/icloud/client.js:721:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    at async ICloudClient.fetchDevices (file:///app/src/icloud/client.js:758:19)
    at async AppleDeviceTracker.doRefresh (file:///app/src/tracker.js:504:20)
    at async AppleDeviceTracker.refresh (file:///app/src/tracker.js:464:23)
    at async AppleDeviceTracker.start (file:///app/src/tracker.js:156:5)
    at async initialize (file:///app/index.js:206:20)
    at async GladysIntegration.<anonymous> (file:///app/index.js:464:3)

A l’aide ?

Merci pour ton retour, voici le retour de Claude :

Cause du bug (visible dans tes logs) :

  • Find My refuse la session (401/421/450) → le tracker appelle login()
  • mais login() voit un token en mémoire → il refait juste accountLogin(), qu’Apple accepte encore → log « Signed in with the saved session »
  • le retry retombe sur le même refus de Find My → « iCloud connection failed » et l’intégration reste morte

Bref : il ne se reconnectait jamais vraiment, il réutilisait la session déjà rejetée.

Ce que j’ai corrigé (branche claude/magical-knuth-gqdra9, commit 18109a3) :

  • login({ force: true }) : saute la session sauvegardée et refait la vraie connexion par mot de passe (SRP). Le trust token est gardé → pas de nouveau code 2FA à saisir.
  • Le tracker utilise ce force quand c’est Find My qui rejette.
  • Le login() normal efface aussi tokens + cookies refusés avant de repasser en SRP (avant, il les renvoyait).
  • Si le 1er refresh échoue au démarrage, la boucle de rafraîchissement démarre quand même → l’intégration se répare toute seule au tick suivant, au lieu de rester muette jusqu’au redémarrage du conteneur.

Correction dispo sur la version 1.0.10 qui vient de sortir :slight_smile:

La version 2 est dispo avec les widgets, déclencheurs et actions :slight_smile: