Amelioration API plugin IPX800v4

Merci pour ces infos.
J’ai l’impression que ça marche mais je n’arrive pas à avoir les logs des pushs sur le plugin. Même en mode debug.
J’ai désactivé les intérogations dans le plugin et mes relais se mettent bien à jour dans la seconde donc je suppose que ça marche.
Par contre dans les logs, j’ai bien les infos des relais :
[2020-10-21 11:42:41][INFO] : Call url http: // XXX.XXX.XXX.XXX/api/xdevices.json?key=XXXX&ToggleR=1

Ah bah cool que ça fonctionne pour toi.
Pour les logs, faut aller dans analyse-logs, et sur la gauche tu as les logs de tout les plugin.

Bonjour à tous,
Heureux de ne pas être le seul à m’arracher les cheveux :slight_smile:
Je suis dans la même situation que vous:
« Il y a un problème dans les données des relais, 2 valeur(s) reçue(s) sur 56 valeurs attendues ($R) » et aucun log d’envoi de la part de l’IPX

Mes urls:
https://#IP_Jeedom#/core/api/jeeApi.php?type=ipx800v4&apikey=XXX&typeData=allD&data=$D positionnée en ON et OFF sur mon PUSH IPX800V4 ne semble rien me retourner dans jeedom (j’ai bien créé le scénario ON_EVENT avec comme trigger ON (je ne sais pas si le « SWITCH » fonctionne d’ailleurs… ça m’éviterait de devoir en faire un pour ON et OFF)…
J’ai essayé avec ou sans les identifiants, avec ou sans le SSL port 443 comme je suis en https…

Rien y fait je suis dessus depuis 3 soirs et n’avance pas.

Mon seul retour est en mettant l’url dans un navigateur ou j’obtiens:
https://#IP_Jeedom#/core/api/jeeApi.php?type=ipx800v4&apikey=XXX&typeData=allD&data=$D
donne
« Il y a un problème dans les données des relais, 2 valeur(s) reçue(s) sur 56 valeurs attendues ($R) »

J’aimerais donc savoir ce que vous avez fait pour obtenir une requête propre et fonctionnelle de l’état des entrée digitale et relais IPX.
Et surtout trouver mon erreur à partir du PUSH Entrée Digitale qui fasse que je ne vois rien arriver dans les logs jeedom lorsque j’actionne un interrupteur.

D’avance merci pour votre aide, je ne suis pas programmeur et je tourne en rond depuis 3 jours là dessus…

Merci Mike.

Paramètre ton scenario et ton push comme ici :
https://community.jeedom.com/t/amelioration-api-plugin-ipx800v4/23994/29?u=alexp

Le trigger est « ON/OFF »

Bonsoir,
Je viens de faire l’essai et cela ne fonctionne pas mieux pour ma part.
J’ai essayé en http 80 https 443 mais rien ne se passe (avec ou sans identifiants).
Je ne reçoit aucun retour ou logs de la part de mon IPX dans jeedom.

Je ne sais pas comment analyser ce qui sort de celui ci… Il faudrait monitorer le port de l’IPX sortant du switch afin de s’assurer que le scénario envoi bien une trame lors d’un évènement sur les entrées digitales…

Je ne comprends pas… peut être est ce ce fameux message
« Il y a un problème dans les données des entrées digitales, 2 valeur(s) reçue(s) sur 56 valeurs attendues ($D) »
que je devrait corriger en premier car il ne serait pas interpréter dans jeedom ?

Merci de votre aide.
Mike

Le message « Il y a un problème dans les données des entrées digitales, 2 valeur(s) reçue(s) sur 56 valeurs attendues ($D) » est renvoyé par jeedom car il attend une suite de 56 états (0 ou 1) et toi tu lui envoies « $D ».
« $D » est remplacé par l’ipx lors du push par une suite de 56 0 ou 1.

Pour tester jeedom via un navigateur il faut entrer une adresse de ce type :
#IP_Jeedom#/core/api/jeeApi.php?type=ipx800v4&apikey=XXX&typeData=allD&data=00000000000000000000000000000000000000000000000000000000

Fais tes tests comme ça en adaptant la suite de 0 en fonction du numéro d’entrée que tu veux tester.
Si ça fonctionne, c’est que tu as mal paramétré l’IPX et si ça ne marche pas, c’est côté Jeedom.

Pour info, le plugin ne log pas les changements d’états reçus par ce biais, même en mode débug, il est donc normal que tu ne vois rien passer.

1 « J'aime »

Bonsoir Alex,

Merci sincèrement pour ton aide.
Je commence a cerner le fonctionnement de la remonter d’info.
Cependant mes tentatives restent infructueuses.

J’ai tenté cette Url
https://#IP_Jeedom#/core/api/jeeApi.php?type=ipx800v4&apikey=XXX&typeData=allD&data=00000000000000000000000000000000000000000000000000000000
Je n’ai plus d’erreur dans un navigateur (page blanche) en https mais rien ne se passe coté jeedom (ni avec l’inverse et que 56 « 1 »

La seule fonction qui réagi en https depuis un navigateur est:
https://#IP_Jeedom#/core/api/jeeApi.php?/core/api/jeeApi.php?plugin=virtual&apikey=XXX&type=virtual&id=2033&value=1

Qui est un virtuel créer en fonction de l’état de l’entrée 5 de l’IPX… Une fois envoyé l’icone change bien d’état dans la seconde…

Par contre lorsque je mets cette commande dans l’IPX et utilise le bouton ‹ test ma configuration › rien ne se passe. Ni aucun popup dans jeedom avec une erreur.

D’avance merci.

Concentrons-nous déjà sur un pilotage depuis le navigateur, la clé API à utiliser est celle présente dans la config du plugin de l’IPX.

Envoie différentes captures d’écran (conf IPX dans jeedom, conf du push et de ton scenario dans L’IPX,…)

Autre chose, au cas où, nomme ton équipement en « IPX800V4 » dans jeedom, je ne pense pas que ça ait une incidence, mais ne sait-on jamais… (je pense à ça, car « type=ipx800v4 » est peut-être le nom de l’équipement).

À l’aide de jeexplorer tu peux modifier le fichier ‹ /plugins/ipx800v4/core/class/ipx800v4.class.php › en ajoutant la ligne 57 :

/*ligne 56*/ $ipx800v4_list = self::searchConfiguration('"ip":"' . init('ip',$_SERVER['REMOTE_ADDR']) . '"', 'ipx800v4'); 
/*ligne 57*/ log::add('ipx800v4', 'debug', 'Réception des données de type ' . $typeData . ' de l\'IP : ' . init('ip',$_SERVER['REMOTE_ADDR']) . ' avec comme valeurs : ' . $getData);
/*ligne 58*/ 			if(array_key_exists($typeData,self::TYPE_DATA)){

ça te donnera ceci si tu mets les log en mode debug :

[2020-11-27 18:03:54][DEBUG] : Réception des données de type allD de l’IP : 192.168.1.252 avec comme valeurs : 00000000000001000000000000000000000000000000000000000000

Petite astuce pour ne pas être pollué par les autres log, tu peux mettre « Fréquence en secondes des interrogations » temporairement à 60 secondes.

@Loic, penses-tu pouvoir ajouter un log de ce type dans le plugin ? Ce n’est pas la première fois qu’on a des interrogations sur l’absence de log. Merci d’avance.

1 « J'aime »

Hello,

Merci pour le retour.
d’après votre premier retour la première chose que je peux dire c’est que pour l’API j’utilisais la globale de jeedom mais non celle du plugin IPX. Cela est corrigé ainsi que le nom attribué au plugin au cas ou effectivement.
J’avais déjà monté la fréquence de remonté dans le plugin à 3000s pour être tranquille pendant les tests.
J’ai ajouté la ligne de code dans le fichier de class de l’ipx et j’ai maintenant quelque informations complémentaires:
Avec cette url dans chrome:
https://#IP_Jeedom#/core/api/jeeApi.php?type=ipx800v4&apikey=#API_IPX#&typeData=allD&data=11110111111111111111111111111111111111111111111111111111
j’ai un log :
[2020-11-28 01:39:10][DEBUG] : Réception des données de type allD de l’IP : 192.168.100.94 avec comme valeurs : 11110111111111111111111111111111111111111111111111111111
Cependant rien ne change pour l’affichage de l’entrée 5.

J’ai également testé toutes les url possibles depuis le PUSH IPX, absolument aucune ne me génère le moindre log dans jeedom… comme si rien n’était envoyé.
Je joins quelque screen.

Dans le plugin IPX l’url de configuration et du type:
/core/api/jeeApi.php?type=ipx800v4&apikey=#API_IPX#&onvent=1&ip=#IP_IPX#
J’ai essayer de la mettre dans un PUSH de l’IPX en http en https avec user:mdp et sans… aucun log.
Je précise que je faisait mes tests avec le bouton de test et pas en fernmant l’entrée digitale 5

Encore merci pour votre aide. J’espère que nous arriverons à solutionner ce petit problème mais je ne vois pas ce qui bloque :frowning:

Screen Shot 11-28-20 at 02.09 AM|590x278

OK je crois que j’ai compris ce qu’il t’arrive !!!

Ton DHCP te joue des tours, configure l’IPX en IP fixe et ça devrait aller mieux :sunglasses:

edit : enfin je crois…

En fait, je viens de comprendre que l’IP d’origine de la commande est utilisé par le plugin pour choisir l’équipement à utiliser dans Jeedom, cela implique que si tu entres la commande depuis ton PC, le plugin reçoit bien l’info mais ne sait pas à quel IPX l’affecter (pour tester depuis un navigateur tu peux modifier l’ip de l’IPX dans la conf jeedom par celle de ton PC) .

  1. Dans le push 192.168.1.10 est bien l’adresse de ton Jeedom ?
  2. L’adresse de ton IPX est bien 192.168.1.11 ?
  3. Si ton Jeedom n’accepte que des requêtes en https pense à cocher la case SSL dans ton push et mettre le port en 443 et non 80 (à tester pour le port, je suis pas sûr).

Hello,

Alors voici le retour des tests effectués:

  • En changeant l’adresse IP dans le plugin par celle du PC les actions fonctionnent correctement avec une suite de 56 0 ou 1.
    Pour ta première question l’IPX n’est pas en DHCP mais bien en fixe 192.168.100.11 et jeedom en .10

J’ai par la suite essayer toutes les commandes depuis l’IPX en http/https port 80 et 443 rien a faire… aucun retour ni logs dans jeedom…

Je devrait peut etre essayer de repasser jeedom et http histoire de voir si le problème vient de là.
Ou alors monitorer le port du switch sur lequel est branché l’IPX voir si des trames circulent au changement d’état des entrées digitales…

Si tu as une idée je suis preneur :slight_smile:

Ok cool on avance !! Donc c’est bien un problème de conf de lIPX…

D’après ce que je vois de tes captures, tout est ok, as tu bien passé le toggle SSL sur « On » dans le push ?
Sinon oui, autorise l’accès à Jeedon en http.

Tu peux aussi checker les logs d’apache, il y aura peut être quelque chose.

Re,
Oui j’ai activé le toggle SSL en 443 mais cela change rien apparemment.
Peut être ai je un souci de configuration du ssl dans mon apache.
Je tente de visualiser les logs ce matin (je ne suis pas expert linux :slight_smile: et envoi les résultats dans la foulée peut être ce matin encore.
Merci à toi en cas.

Victoire !!!
ça y’est l’url :
http://#IP_Jeedom#/core/api/jeeApi.php?type=ipx800v4&apikey=#API_IPX#&typeData=allD&data=$D
est opérationnelle.

Le problème venait effectivement de la configuration apache.
je suis passé en interne en http en port 89 pour essayer et après redémarrage de l’apache dans /etc/apache2/ports.conf…
et reconfiguration du push en fonction…
Modification du port de réponse interne dans la configuration Jeedom.

ça marche !!!-

Enfin…

En tout cas merci Alex pour ton aide… Heureusement qu’il y a encore des passionnées :slight_smile:

Maintenant la suite :slight_smile:
Trouver la meilleure façon d’avoir un retour vocal dans mes enceintes sonos pour confirmation de mise en service alarme et autres scénario en tout genre.

Wait and see ! Je vais grenouiller sur la communauté voir ce qui a déjà été fait !!

Merci encore pour tout en tout cas !!!

Mike.

Cool !! Amuse toi bien :grinning:

1 « J'aime »

Bonjour, c’est super tout fonctionne parfaitement bien pour les entrées digitales et les relais.
Est il possible de faire la même chose pour le xdimmer et les volets roulants?
J’aimerai me passer complétement de la partie interrogations de l’ipx.

Merci

Bonjour,
je suis novice j’aimerais bien mettre à jour en temp réel les entrées digitales de mon IPX800V4 vers jeedom
Y A T Il une procédure de mise à jour de l’API plugin IPX800V4 pour un novice

merci pour les réponse
cordialement

Bonjour à tous,
J’ai bien lu le sujet ainsi que la doc du plugin.
J’ai une question :

Ce sujet permet de demander à l’ipx d’envoyer les i fois vers le jeedom
Mais je ne sais pas comment enlever les demandes qui vont de jeedom vers l’ipx.

Je vous remercie

EDIT1 : je viens de tester et ça fonctionne bien en tout cas
IPX800 xxxxxxxxxxxxx info : {« product »:« IPX800_V4 »,« status »:« Success »,« A1 »:0,« A2 »:0,« A3 »:0,« A4 »:0,« R1 »:0,« R2 »:0,« R3 »:0,« R4 »:0,« R5 »:0,« R6 »:0,« R7 »:0,« R8 »:0,« R9 »:0,« R10 »:0,« R11 »:0

EDIT2: ah non c’est la :
Call url http://xxxxxxxxxxx/api/xdevices.json?key=apikey&ClearR=24

EDIT3: ah non c’était pas ça non plus
Ça ne doit pas apparaître dans le debug

EDIT4: finalement ça ne marche pas

EDIT 5: Cest bon j’ai trouvé, je me suis trompé sur un chiffre de mon adresse ip, bref, ça marche merci

EDIT 212: En faite ça ne marchaitas.
J’ai relu tout le tapis, ajouter les lignes de commandes de log, puis vu une impression écran
J’ai trouvé mon erreur
J’avais passé ssl à on ( je pensais que cette case était pour passer le push à on) sur tablette c’estpas facile
Bref merci à tous

@alexp
@DevilpanpanGTR

Bonne chance @RXCHAEUG