Websocket impossible de se connecter de temps en temps

Bonjour,

J’utilise depuis presque 1 an Jeecomconnect. C’est un superbe plugin, et je profite de ce message pour féliciter tous ceux qui ont contribué à son existence.
Je l’utilise sur un iPhone 14 PRO MAX IOS16.6
Version Plugin V1.8.0.1, Appli V1.8.0 Build 56

Je rencontre depuis plusieurs mois, des problèmes intermittents de connexion avec Websocket (que ce soit en LAN où en WAN). De temps en temps, pendant quelques minutes où heures (mais souvent je n’ai pas la patience d’attendre, car j’ai besoin d’utiliser l’appli), l’application m’indique en rouge que je ne suis pas connecté. La seule solution pour se connecter quand je suis dans cet état c’est soit:
-D’attendre, en essayant 1 heure plus tard, généralement ça fonctionne à nouveau sans avoir rien fait
-D’enlever le paramètre « Connexion par websocket » dans l’application IOS et là on arrive à se connecter immédiatement
-De redémarrer le démon du plugin et là aussi, on peut se connecter immédiatement en Websocket

Quelqu’un a déjà rencontré ce problème? Je précise que je rencontre cela depuis début de cette année (donc déjà avec des versions précédentes de Jeedom Connect où d’IOS). J’ai déjà été confronté au problème plusieurs fois par jour, mais de temps en temps, cela fonctionne plusieurs jours sans que je constate le problème. Je pense que c’est peut-être régulier, c’est juste le hasard de tenter d’utiliser l’application au mauvais moment…

Merci à tous pour vos idées,

Pascal

Bonjour
Commencez par ça en intégralité

Et voilà:

Jeedom Core : 4.3.17
Version JC : 1.8.0.1 stable
DNS Jeedom : non
Statut Démon : Démarré - (2023-08-27 14:24:40)

Equipements :
  Iphone Marie : v1.8.0 stable sur ios [os : 16.6] (ws) - PU
  Iphone Pascal : v1.8.0 stable sur ios [os : 16.6] (ws) - PU
  Tablette cuisine : v1.8.0 stable sur android [os : 30] - PA

Pourquoi utilisez vous la connexion Websocket vu qu’à priori sans ça fonctionne correctement ?

Simplement en référence à la doc de Jeedom Connect, qui indique que c’est une connexion, bi-directionnelle, à faible latence, plus stable (ok, dans mon cas ça ne semble plus le cas :slight_smile:) je cite:

" Avec Jeedom Connect, il est possible d’établir la connexion entre votre appareil et le plugin de deux façons différentes :

  • Http : Au lancement de l’application, une connexion Http de type Source Event Server est établie avec le plugin. Cette connexion est persistente mais uni-directionnelle : de Jeedom vers votre appareil. Les actions de votre appareil vers Jeedom sont des requêtes Http uniques utilisant le protocole JSON RPC. Ce mode de connexion ne necéssite aucune configuration particulière.
  • Polling : Lorsque les états ont du mal à être rafraichi, vous pouvez utiliser cette option. Ici c’est l’application qui lance une connexion vers le plugin pour forcer la récupération des informations de façon régulière. Cette option est plus que conseillée lorsque vous utilisez les DNS Jeedom (incompatible avec websocket).
  • Websocket : La connexion websocket est quant à elle bi-directionnelle. Elle nécessite néanmoins une configuration de votre réseau pour être utilisée en dehors de votre réseau local. Il est possible de faire une redirection de port sur votre routeur (méthode simple) ou bien de configurer votre serveur proxy ou le serveur Apache de votre Jeedom (utilisateurs avancés, incompatible avec polling).

Le Websocket offre une connexion plus stable et plus performante que la connexion Http."

Salut

Mauvaise question…

« Pourquoi tu prends une voiture, alors que tu peux marcher » …


Il pourrait etre intéressant d avoir les logs du demon pour voir si ya un pattern recurrent, mais c est etrange.

Ton soucis existe aussi souvent en local, alors que tu es en wifi, que connecté en externe (4G) ?

Je rencontre aussi souvent le problème en connexion WAN 4G/5G, qu’en connexion WAN (sur un réseau WIFI autre qu’à mon domicile), qu’en connexion LAN sur WIFI à mon domicile. Je ne pense pas que le problème provienne du type de connexion de l’Iphone.

Aujourd’hui pour la première fois j’ai activé les logs en mode Debug après avoir constaté le problème. Après être passé en Debug j’ai fait plusieurs passages entre les connexions http (fonctionnelles) et Websocket (ne fonctionnait pas), puis finalement relancé le démon et constaté que Websocket était à nouveau fonctionnel. Je peux te faire suivre en MP les log, car je ne suis pas suffisamment qualifié pour y constater quelque chose.

Bonsoir,
J’ai eu le même phénomène ce soir, entre 18h45 et 19h00 environ. Je viens de récupérer le log en Debug de JeedomConnect avec la période concernée. @tomitomas je peut te l’envoyer en MP? Par contre le log du demon n’a déjà plus la période concernée moins d’une heure après l’évènement.

oui tu peux,
bien qu’il y ait plus de chance que ca soit dans la log du démon justement … :confused:

(note : tu peux augmenter le nombre de ligne dans les fichiers, et donc une rotation moins rapide, dans les param > logs > logs > nb max de ligne)

Merci. Je viens de t’envoyer ce que j’ai pu récupérer en MP. Prochain défaut, j’espère pouvoir récupérer les 2 fichiers LOG à temps.

Salut,

Chez moi c’est un vieux souci, déjà discuté avec les devs mais sans trouver le souci.

Je suis sur Android donc on peut écarter quelque chose côté os.

Ce que j’avais aussi remarqué parfois c’est que les informations étaient bien remontées ce qui fait que je ne me rendais compte du problème que quand des actions ne passaient pas (fermer les volets, allumer une prise).

Restart du démon et c’est reparti.

Bon courage, peut-être que cette fois on pourra trouver le petit grain de sable.

Dans mon cas cela semble être une autre cause.
Visiblement il y a des tentatives d’accès à mon serveur via le port du Websocket depuis des adresses IP en chine, États unis etc… des tentatives de connexion mal formatée puisqu’ils ne savent surement pas ce qui se trouve derrière ce port……et dans certains cas, cela fait planter le plugin. @tomitomas a fait une modif hier sur mon serveur pour intercepter ce type d’erreur pour éviter que cela ne plante le démon. J’ai aussi renforcé les sécurités de mon firewall et changé le port proposé par défaut par jeedomconnect.
Il va falloir un peu de temps pour être sûr que le problème soit résolu avec ces actions. Tomitomas fera normalement un retour public sur le sujet dès que l’on sera certain de sa résolution.

10 jours ont passé, plus aucune tentative d’accès à mon serveur via le port Websocket et du coup plus aucun blocage des communications Websocket.
Je laisse donc ce sujet se clôturer.
Merci beaucoup à @tomitomas pour son aide.

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