Status Error aléatoire lors de l'appel de l'API

Bonjour,

Je rencontre un soucis aléatoire lors de l’utilisation de l’api sur mon IPX800V4

De temps en temps, le retour Json me remonte un status error alors que lors de l’appel précédent j’ai eu success. J’arrive à reproduire le cas en appelant plusieurs fois de suite le même relais.
J’ai fais une vidéo pour vous montrer le problème.
IPX800AppelAPI.mov.zip (938,7 Ko)

Avez vous un idée d’ou cela peut venir ?

bonjour,
à la vitesse où vous rafraichissez la page et donc relancez la requête il est assez probable que vous en demandiez trop à l’ipx.
Il est conseillé de faire les requêtes à quelques secondes d’intervalle minimum.
cdt

Si j’effectue ces requêtes aussi rapidement, c’est pour simuler l’envoi de plusieurs requêtes dans un délai rapproché.
En effet, j’utilise jeedom pour piloter l’ipx800 et quand je veux éteindre plusieurs lumière d’un coup certaines ne s’éteigne pas.

afin de minimiser les envois de commandes, vous pouvez créer un scénario avec une SV qui gère plusieurs points lumineux.
Ainsi, avec une seule requête, vous faites le travail sans risque d’erreur ou de surcharge.

2 « J'aime »

J’arrive même à reproduire le problème en appelant l’url beaucoup plus lentement
IPX800AppelAPI2.mov.zip (794,5 Ko)
@gce avez vous une idée sur ce problème ?

GCE vous fera la même réponse que moi :wink:
Pour le Polling, il y a des préconisations, elles sont inchangées depuis longtemps, vous pouvez faire des recherches sur le forum.
En plus de la forte sollicitation de votre IPX, vous augmentez le taux d’occupation de la bande passante sur votre réseau local. En fonction de la charge de ce dernier, vous pouvez donc provoquer des collisions.
Je vous invite à relire mes réponses précédentes.

Bonjour @mamatdv,

Je n’ai qu’une seule explication…« TIPIAK ! »

Bonne journée :wink:

je pense qu’en cas de déni, l’IPX800 ne répondrait pas à la requête et n’enverrai même pas un statut d’erreur.
Cela dit, une requête par seconde ne représente pas un très grand danger à prendre en charge par le DoS, même si c’est toujours la même IP qui émet la requête.

Je crois donc plus à des perturbations dues à des requêtes en trop grand nombre intervenant pendant la construction de la réponse à la requête précédente. Il ne faut pas oublier qu’après avoir construit la réponse JSON, l’IPX doit l’émettre sur le réseau. Le protocole TCP nécessite des accusés de réceptions et des tests de collisions csma/cd. Un réseau encombré peut perturber ce fonctionnement, un polling trop rapide également.

C’est possible, ça peut également être dû au fonctionnement même de l’IPX.

Le « problème » peut provenir de la latence dû a la transformation de la commande reçu en commande physique (par exemple: changement état du relais) par le moteur de scénario.

on est bien d’accord :wink:
la solution consiste donc, comme préconisé plus haut, à ne pas faire de polling ou de pilotage par commandes API trop rapprochées.
Edit : Une latence interne si grande n’est pas possible.
Le moteur de scénarios parcoure les scènes plusieurs fois par secondes et il ne faut que quelques ms pour basculer un relais . L API ne peut pas atteindre les mêmes performances.

1 « J'aime »

Merci pour vos réponse.
@Thierry15 : pas de ddos possible. Mon ipx n’est pas accessible depuis l’exterieur :wink:
@fgtoul : La solution que tu m’as donné est une solution de contournement. Je voulais savoir si ce comportement est « normal ». D’après tes dire oui et je dois avouer que cela me déçoit un peu. Le fait de ne pas pouvoir allumer et éteindre 6 lumières par appel API en même temps est problématique de mon point de vue. J’ai également tenter d’augmenter le polling pour voir si cela s’améliorais mais sans effet.

1 « J'aime »

La solution avec la SV n’est pas seulement une solution de contournement, c’est une solution normale.
Il est impossible pour lipx d’interpréter plusieurs commandes API par secondes de maniere prolongée tout comme l’ipx ne peut pas émettre plusieurs mails ou notifications trop rapidement.
Dès que l’ipx doit communiquer par réseau, forcément les performances dépendent aussi de tout l’environnement.

l’ipx est sur le même switch que la box jeedom et la distance entre ces 3 éléments est moins de 3m (en longueur de cable)
Il s’agit d’un switch gigabit de marque netgear.
Je ne pense pas que le problème vienne de la …

C’est une solution normale si on ne se sert que de l’ipx. Dans mon cas, avec jeedom la solution normale est de créer les scénarios sur jeedom. Question de point de vue :slight_smile:

Ce qui m’embête c’est de devoir créer un scénario associé avec une SV à chaque fois que je commute plus d’une lampe.

Sur la seconde vidéos que j’ai envoyé, je trouve que le refresh que j’effectue n’est pas non plus ultra rapide …

1 « J'aime »

Bonjour,

Il va quand meme falloir que je regarde ça de plus prêt…mais il faut que j’arrive à reproduire le bug pour pouvoir le corriger et c’est justement cette partie qui est la plus délicate, surtout si elle est lié à un traffic réseau spécifique.

Cdt

Plusieurs API par seconde pour 6 lumières, pourquoi pas une API pour les 6…?

SetR=01,02,03&SetEnoPC=04,05&SetVO=07,08&SetVI=09,10…

Tout ça fonctionne dans la même API.

1 « J'aime »

Merci pour ta réponse @sebyldino. Cette une bonne solution de contournement :wink:

@gce : si vous avez besoin de moi pour effectuer des tests, n’hésitez pas à me contacter !
De mon côté, j’ai déjà tenter un hard reset de l’ipx mais sans effet.
Cet Après midi, je vais essayer d’isoler la box jeedom et l’Ipx sur un switch à part pour éliminer le problème d’infra LAN même si je n’y crois pas vraiment …

Matthieu

Je viens de faire un test en isolant sur un switch l’IPX, Jeedom et un point d’accès mais le problème est toujours là.
J’ai une autre piste pour ce problème mais je ne peux pas tester maintenant.
N’investiguez pas tout de suite @gce, je vous tiens informer dès que j’aurais pu faire mon test.

Bonne soirée :slight_smile:

Bonjour et joyeux noël à tous
La piste que j’évoquais plus haut n’a pas porté ces fruits.
Je pensais à un problème d’alim trop light. J’ai donc commandé une alimentation Meanwell 4,5A pour toute les extensions que j’ai (IPX800, ecodevices, 2 X8R, X-eno, X4FP) mais cela ne change rien.

Je commence à sécher :confused:

Bonjour,
A défaut d’avoir résolu le problème, je sais d’ou il vient.
Je me suis fait avoir par les status=error qui en fait sont peut nombreux.
Le problème que je rencontre viens certainement de mon jeedom. Mais je ne sais pas comment le résoudre.
Je me suis montée un jeedom de test avec, juste, le plugin IPX800 V4 et j’ai ajouté 6 lumières(dans jeedom j’entend).
La j’ai fait les mêmes manip pour éteindre et allumer ces lumières en même temps et aucun problème. De même avec imperihome.

Merci @fgtoul @Thierry15 @sebyldino et @Kevin_GCE pour leur assistance.

Bonne journée et bonne année :slight_smile:

1 « J'aime »