Plugin WES V4

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

bonjour @arnog23 j’ai un serveur WES et malgre la mise à jour aujourd’hui hui ca ne fonctione tj pas . est ce que tu pourrais regarder le problème ou le communiquer à jeedom ?
merci beaucoup pour ton aide .

Bonjour,

La mise à jour d’aujourd’hui semble concerner uniquement les traductions.

Quelle(s) erreur(s) as-tu exactement ?

Pour le fonctionnement avec la V4, je n’ai pas eu le temps d’aller au bout. @ksin m’a envoyé les modifications qu’il a faite pour le faire fonctionner avec la V4 (fonctionnel chez lui depuis plusieurs mois) mais il reste des choses à faire pour qu’il soit totalement « conforme » à la V4.

Et je ne sais pas sur quel pied danser car @Loic m’avait indiqué qu’il n"y avait peu de chance que ce plugin soit mis à jour rapidement :

et d’un autre côté, @cedriclocqueneux semble dire le contraire :

Bonjour,
le plugin est-il à présent fonctionnel en v4 ?
Est-ce suffisamment réactif pour envisager d’utiliser un wes pour du scénario de délestage ?

Oui,il fonctionne en V4.

Par défaut, la remontée d’info est toutes les 60 secondes. A voir si cela est assez reactif pour du délestage. Il est possible de descendre plus bas mais il faut voir ce que cela donne sur les perfs.

Tu n’as pas la possibilité de tout gérer directement sur le WES via la programmation de celui-ci ? Ce serait mieux, non ?

Il faudrait pouvoir agir rapidement sur des modules zwave fil pilote à proximité de radiateurs (non centralisés dans le tableau électrique) et des prises murales donc ça passe forcément par Jeedom.

Est-il possible de faire du push de la consommation instantanée vers Jeedom ? Sur du dépassement de seuil ? Ca pourrait peut-être contourner le « problème » de polling pour ce genre d’applications quasi temps-réel.

J’ai actuellement un module usb teleinformation qui a tendance à se déconnecter régulièrement (si j’ai bien compris ça pourrait être un conflit avec mon rfxcom à cause des puces ftdio) et je cherche une solution de contournement. Les informations remontées par les tores + les compteurs d’impulsion m’intéressent à terme aussi (et je trouve l’eco RT2 trop cher avec trop de fonctionnalités).

Oui, il est possible de configurer le WES pour faire du push sur dépassement de seuil via la « Programmation » de celui-ci.

Je viens de faire un test en mettant en place deux règles avec un seuil à 800 pour la puissance apparente remontée par mon Linky et j’ai bien l’équipement correspondant côté Jeedom qui change de statut en fonction de la valeur.

WES
Côté WES, ca donne ceci :

Avec URL1 à configurer avec l’adresse IP de Jeedom et les requêtes suivantes :

/core/api/jeeApi.php?api=x&type=wes&id=295&value=ON

en remplacant x par la cle API du plugin WES
id par la commande à mettre à jour coté Jeedom
et value à ON ou OFF selon le seuil

3 « J'aime »

Belle démonstration ! Merci ! :slight_smile: