Plus de géolocalisation de mes smartphones depuis plusieurs semaines

Bonjour.

Depuis quelques semaines, je n’ai plus la géolocalisation de mes smartphones qui remonte dans le plugin JeedomConnect, alors que je n’ai pas modifié leur configuration, ni celle du plugin, hormis les mises à jour.
Pour un des téléphones, cela date de décembre, pour les autres de janvier. J’ai l’impression que ça c’est fait une fois ou deux sur certains, donc il est possible qu’en fait ils aient tous arrêter de remonter leur position en même temps courant décembre (fin novembre au pire je dirai).


Informations Jeedom

Core : 4.4.19 (master)
DNS Jeedom : non

Plugin : Jeedom Connect
Version : 2025-01-26 18:20:46 (stable)
Statut Démon : Démarré - (2025-02-05 07:45:51)

Informations complémentaires

Version JC : 1.12.0 stable
Version OS : debian 11.9
Version PHP : 7.4.33
Bin : ok / vNotif_2
Dépendances : ok

Equipements : 
  JC_Tel-xxxC : v1.8.0 stable sur android [os : 33] (ws) - PU
  JC_Tel-xxxD : v1.8.0 stable sur android [os : 33] (ws) - PU
  JC_Tel-xxxJ : v1.8.0 stable sur android [os : 34] (ws) - PA
  JC_Tel-Test : v1.8.0 stable sur android [os : 23] (ws) - PU
  JC_NSPanel : v1.8.0 stable sur android [os : 27] (ws) - PU


J’ai redémarré la machine plusieurs fois, réinstallé les dépendances du plugin (ça n’indique pas d’erreur), réinstallé l’appli sur un ou deux téléphones (me souviens plus lesquels), ajouté un téléphone de test qui n’était pas enrôlé sous JC avant, etc. rien à faire, aucun des 4 ne veut bien remonter l’info de géoloc.

Pourtant toutes les autres infos remontent parfaitement : batterie, état écran, volume, SSID du Wi-Fi, etc. etc.

J’ai vu quelques topics avec un problème similaire au miens, par exemple ces deux-là, mais ce qui y est indiqué ne résout pas mon soucis :

Mes ports 443, 80 et 8090 sont bien routés directement vers ma machine Jeedom qui héberge le plugin JC et ça fonctionne (si je prends un smarthone en 4G/5G et que je rentre mon adresse https://xxxxxx.ddns.net dans Chrome, j’arrive sur la page de login de Jeedom).

Sur un des smartphones j’ai des scripts Tasker qui remonte sa position régulièrement dans un virtuel Jeedom depuis des années et ça fonctionne toujours parfaitement.
Le partage de position Google Maps fonctionne lui aussi toujours bien, donc la loc des téléphones en eux-mêmes est toujours fonctionnelle.

Sur tous, j’ai désactivé depuis le début les mises en veilles profondes et validé l’utilisation sans restriction de la batterie, pour l’application JeedomConnect. Donc ce n’est pas ça non plus en principe. D’autant qu’ils ont 3 versions Android différentes sur les 4, y compris un très vieux que j’ai ressorti du placard pour tester.

Là je sèche :frowning:

A tout hasard, voici le log en mode debug avec quelques traces de remontées d’infos : on vient bien que les variables remontées sont présentes (@IP, batterie, etc.) … sauf celles de la géoloc !

[2025-02-05 07:55:37] DEBUG  : [API] Request Received {"method":"SET_DEVICE_INFOS","params":{"event":"fromJS","ssid":"","ipAddress":"192.168.0.120","batteryLevel":0,"isCharging":true,"isScreenOn":false,"wifiEnabled":true,"bluetoothConnected":false,"nextAlarm":"","alarmPackage":"","volumes":{"alarm":14,"call":80,"music":53,"notification":43,"ring":43,"system":43},"apiKey":"xxxxxxx1"},"jsonrpc":"2.0","id":1738738536621}
[2025-02-05 07:55:37] DEBUG  : Final volume set to => 14;80;53;43;43;43;
[2025-02-05 07:55:37] DEBUG  : [API] Send SET_DEVICE_INFOS -> null
[2025-02-05 08:01:45] DEBUG  : [API] Request Received {"method":"SET_DEVICE_INFOS","params":{"event":"connectivityChanged","ssid":"","ipAddress":"","batteryLevel":97,"isCharging":false,"isScreenOn":true,"wifiEnabled":false,"bluetoothConnected":true,"nextAlarm":"","alarmPackage":"","volumes":{"alarm":73,"call":100,"music":7,"notification":47,"ring":100,"system":100},"apiKey":"xxxxxxx2"},"jsonrpc":"2.0","id":1738738903876}
[2025-02-05 08:01:45] DEBUG  : Final volume set to => 73;100;7;47;100;100;
[2025-02-05 08:01:45] DEBUG  : [API] Send SET_DEVICE_INFOS -> null
[2025-02-05 08:01:45] DEBUG  : [API] Request Received {"method":"SET_DEVICE_INFOS","params":{"event":"connectivityChanged","ssid":"","ipAddress":"","batteryLevel":97,"isCharging":false,"isScreenOn":true,"wifiEnabled":false,"bluetoothConnected":true,"nextAlarm":"","alarmPackage":"","volumes":{"alarm":73,"call":100,"music":7,"notification":47,"ring":100,"system":100},"apiKey":"xxxxxxx2"},"jsonrpc":"2.0","id":1738738904077}
[2025-02-05 08:01:45] DEBUG  : Final volume set to => 73;100;7;47;100;100;
[2025-02-05 08:01:45] DEBUG  : [API] Send SET_DEVICE_INFOS -> null
[2025-02-05 08:05:05] DEBUG  : [API] Request Received {"method":"SET_DEVICE_INFOS","params":{"event":"connectivityChanged","ssid":"MONWIFIAMOIQUEJAI","ipAddress":"192.168.0.101","batteryLevel":95,"isCharging":false,"isScreenOn":false,"wifiEnabled":true,"bluetoothConnected":true,"nextAlarm":"1738739703728","alarmPackage":"net.dinglisch.android.taskerm","volumes":{"alarm":73,"call":100,"music":7,"notification":47,"ring":100,"system":100},"apiKey":"xxxxxxx2"},"jsonrpc":"2.0","id":1738739104513}
[2025-02-05 08:05:05] DEBUG  : Final volume set to => 73;100;7;47;100;100;
[2025-02-05 08:05:05] DEBUG  : [API] Send SET_DEVICE_INFOS -> null
[2025-02-05 08:05:05] DEBUG  : [API] Request Received {"method":"SET_DEVICE_INFOS","params":{"event":"connectivityChanged","ssid":"MONWIFIAMOIQUEJAI","ipAddress":"192.168.0.101","batteryLevel":95,"isCharging":false,"isScreenOn":false,"wifiEnabled":true,"bluetoothConnected":true,"nextAlarm":"1738739703728","alarmPackage":"net.dinglisch.android.taskerm","volumes":{"alarm":73,"call":100,"music":7,"notification":47,"ring":100,"system":100},"apiKey":"xxxxxxx2"},"jsonrpc":"2.0","id":1738739104514}
[2025-02-05 08:05:05] DEBUG  : Final volume set to => 73;100;7;47;100;100;
[2025-02-05 08:05:05] DEBUG  : [API] Send SET_DEVICE_INFOS -> null

Est-ce que quelqu’un aurait une idée SVP ?

Nota : dans la conf JC des smartphones, j’ai bien sûr coché le service en arrière-plan et :

  • « Activer le geofencing »
  • « Activer le tracking »

J’ai tenté de les désactiver, de relancer, de les réactiver, de relancer à nouveau : mais pas mieux, toujours pas de remontée de leur position.

quid du certificat de sécurité ?
venant de ddns j imagine que tu nas pas la main dessus …
qu est ce qui est affiché sur le navigateur ?

avec le tracking activé, ya aucune raison que ca ne fonctionne pas

Ah c’est certainement ça alors, car je ne savais pas que ça pouvait bloquer uniquement la remontée de l’info de position, mais j’ai justement un problème de certificat :

  • j’avais un certain nom de domaine, disons xxxx.ddns.net
  • je l’ai changé en un autre, disons yyyy.ddns.net
  • mais je n’arrive pas à supprimer/modifier/recréer le certificat LetsEncrypt et je ne sais pas pourquoi, donc j’avais lâché l’affaire temporairement faute de temps libre.

Tu veux dire que ça devrait fonctionner peut importe l’état de mon certificat ?

non ce que je veux dire c’est que si tu as indiqué une adresse de connexion en httpS alors on s’attend à avoir un certif VALIDE !
s’il n’est pas valide, alors les infos ne remonteront pas jusqu’au plugin …

donc :

  1. corrige ton soucis de certif
    ou
  2. passe en http (pas S) … #bof

Bon, je pense que tu m’as bien aidé à mettre le doigt sur le problème : ma redirection de port 80 ne semble plus fonctionner correctement.
Il m’est impossible de me connecter à mon Jeedom en http depuis l’extérieur (j’ai un timeout sur le navigateur), mais uniquement en https.
En réfléchissant, les seules modif hard ou soft que j’ai eues dans la plage où JeedomConect a cessé de me remonter les géoloc, ce sont les mises à jour de ma Livebox 6 et de mon routeur (un TP-Link Archer BE550), car je me souviens avoir fait les deux en même temps.

Maintenant j’ai cassé et remis les redirections de port, mais ça n’a rien changé, tous fonctionnent sauf le 80, j’y comprends rien :confused:

J’ai enfin trouvé !
Gros merci à tomitomas qui m’a orienté vers la bonne piste !!! :+1:

Si vous avez un routeur TP-Link, gaffe aux mises à jour de firmware foireuses : dans mon cas, celle diffusée en décembre a un bug qui fait ignorer totalement les redirections de ports 80 si vous activez le management à distance, même si vous avez pris soin de choisir un autre port que le 80 et le 443 :

J’ai eu beau choisir d’autres ports différents, le redémarrer plusieurs fois, etc., ça ne change rien.
Le seul moyen que j’ai eu de récupérer le port 80 sur mon serveur Jeedom a été de désactiver complètement le « Remote Management » du routeur (donc décocher la case sur le screenshot).
Là j’ai immédiatement pu renouveler mon certificat LetsEncrypt et JeedomConnect s’est remis à récupérer les géolocalisations tout seul.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.