Bonjour,
Suite à l’acquisition d’un serveur WES V2 (en dernière version V0.83H B04), je rencontre quelques soucis avec le plugin WES et la V4 sous Stretch.
Pour commencer, j’ai remplacé « object:all() » par « jeeObject::all() » dans tous les fichiers php du plugin même si cela n’est nécessaire que pour Buster (qui a une version plus récente de PHP) si j’ai bien compris (je suis encore en Strech).
Le plugin s’installe bien et le daemon démarre.
La création du WES se fait également correctement ainsi que tout ses éléments.
1/ Pour le moment, j’ai seulement des tester la partie « Relais ». La configuration du push se fait bien depuis le plugin pour les relais. Les « Actions » sont bien créées sur le WES. Les commandes et le status des relais fonctionnent correctement dans les deux sens (Jeedom vers WES et WE vers Jeedom). En revanche, le plugin va vérifier toutes les minutes le status des relais et cela ne fonctionne pas.
En regardant un peu le code, dans le fichier /plugins/wes/core/class/wes.class.php dans la fonction pull(), la mise à jour du status ne se fait correctement car la valeur renvoyée n’est pas au bon format. D’après ce que j’ai compris, le core faisait un toString() en V3 si on renvoyait un objet castable en string mais ce n’est plus le cas en V4. Il faut le faire dans le plugin. Voir ici.
J’ai donc remplacé
$eqLogic_cmd->event($status[0]);
par
$eqLogic_cmd->event((string)$status[0]);
à la ligne 405 (pour les relais)
et aux lignes 418, 436, 454, 514, 526 et 586 pour le reste mais je n’ai pas encore testé. Mais bon, je suppose que cela est également nécessaire.
2/ Un autre soucis que je rencontre est le message suivant
http://XXX.XXX.XXX.XXX/3rdparty/jquery.contextMenu/jquery.contextMenu.min.js?md5=XXXXXXXXXXXXXXXXXXXXXXXXX 1 Uncaught TypeError: Cannot read property 'events' of undefined
lorsque je rafraîchie une page de configuration d’un élément du WES. Lorque l’on va dessus pour la première fois, pas de soucis. C’est seulement lors du refresh de la page.
Voici ce que cela donne dans le navigateur :
Je ne trouve rien de concret pour résoudre ce souci dans les differents posts y faisant référence. Quelqu’un aurait-il une piste ?
3/ Et pour finir, j’ai aussi le message suivant :
wes::daemon() : Serialization of 'SimpleXMLElement' is not allowed
dans les logs du plugin mais de façon très aléatoire. Je n’arrive pas à le reproduire systématiquement. Un methode dépréciée si je comprends bien mais ou chercher ?
Des idées ?
Merci