Plugin WES V4 : Beta

Bonjour,

Merci pour tout c’est retour, si tu a le temps de me faire plusieurs PR sur la branche beta ? https://github.com/jeedom/plugin-wes

Je regarderai et les validerai :wink:

J’essaie de faire cela dès que je trouve un peu de temps.

1 « J'aime »

J’ai fait la Maj pour la partie alignement des case, et le compteur pour éviter l’écrasement.

J’ai pas eu le temps de faire le reste pour le moment. donc si tu arrive a trouver le temps avant moi n’hésite pas a me faire un ou plusieurs PR :wink:

En voila déjà deux : https://github.com/jeedom/plugin-wes/pulls

Au passage, il y a un petit soucis avec la fonction configPush($url)

[php7:error] [pid 6089] [client 192.168.0.76:44156] PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function wes::configPush(), 0 passed in /var/www/html/plugins/wes/core/ajax/wes.ajax.php on line 32 and exactly 1 expected in /var/www/html/plugins/wes/core/class/wes.class.php:681
Stack trace:
#0 /var/www/html/plugins/wes/core/ajax/wes.ajax.php(32): wes->configPush()
#1 {main}
thrown in /var/www/html/plugins/wes/core/class/wes.class.php on line 681, referer: http://192.168.0.141/index.php?v=d&m=wes&p=wes&id=1509

$url semble necessaire pour la partie téléinfo mais comme il n’est pas dans la fonction Ajax, cela pose problème. Je n’ai pas eu le temps de me pencher sur la partie Push pour le téléinfo, mais à voir si l’URL ne peut pas être récupérée directement depuis les paramètres de l’équipement plutôt que de le passer en argument.

Merci @Alexandre pour la validation des PR. En voici d’autres : https://github.com/jeedom/plugin-wes/pull/3

ConfigPush
Pour la fonction « ConfigPush », le paramètre $url est utilisé uniquement pour la téléinfo mais je ne suis pas sur que la partie téléinfo soit utile car elle n’est appelée nul part. Dans le modal pour la configuration du Push, il y a seulement les boutons, relais et switchs. Je ne retrouve nulle part cette URI (/protect/settings) sur le WES

$url .= 'protect/settings/notif'.$wesid.'P.htm'

Cela dit, mon WES est dans une version assez recente (V0.83H B04). Peut être que cette URL était présente dans les versions précédentes. J’ai récemment relancé Nicolas de Cartelectronics concernant leur doc car celle en ligne date de 2016. Il y en a une en cours de rédaction mais pas de date de diffusion. Peut être as-tu plus d’information à ce sujet de leur part.

Néanmoins, je rate peut être quelquechose car je n’ai pas encore pu raccorder mon WES à mon compteur. Je ne peux donc pas tester la partie téléinfo pour le moment.

Dossier
Concernant le paramètre « Dossier », pourrais-tu m’en dire un peu plus sur l’utilisation que tu souhaitais en faire. Est-ce pour permettre de classer les modules dans des onglets différents ?

Le fait de laisser le paramètre « Dossier » en édition pose un probème lorsque l’on modifie un dossier pour un module pour lequel on peut configurer le Push.

Par exemple, si on change le nom du « Dossier » du relais 1 de « relai » par « Lumière », celui ci va bien être affiché dans l’onglet « Lumière » mais il ne sera plus possible de configurer le Push car le dossier correspond également au type du module.

Soit le paramètre « Dossier » doit être en écriture mais on perd la possibilité de réorganiser les modules, soit il faut ajouter un paramètre supplémentaire pour le « Dossier » en plus du Type.

@Alexandre, je n’avais pas vu que tu avais mergé la Beta avec la Master.

La réécriture en mono classe semble poser des soucis pour les utilisateurs qui avaient l’ancienne version déjà installée.

Ils vont probablement devoir recréer les équipements et du coup perdre leurs historiques à moins de les transférer une par une sur les nouveaux équipements.

Je n’y ai pas pensé avant mais n’aurait-il pas été mieux de créer un nouveau plugin WES 2 et conserver l’ancien afin d’avoir une migration en « douceur » ?

D’ailleurs, il y a d’autres PR qu’il faut que je pousse car il y a des soucis avec la fonction pull() pour les relais et switch car les valeurs ne sont pas castées correctement.

c’est uniquement le eqType_name qui pose souci. je vais donc faire dans le Install et update aller changer tout sa en wes

En effet, ce sera mieux comme çà. Merci.

https://github.com/jeedom/plugin-wes/commit/cc807d2d11580a295d7cdab84b1163ecb6cad417

Ne faudrait-il pas aussi rajouter le type ?

je vois pas de quoi tu parle ^^

https://github.com/jeedom/plugin-wes/commit/75452b21d206e8887736285881e6bffde4d5254f

Je viens de faire la modification pour forcer le cast pour les relais et switchs.

1 « J'aime »

Il faut aussi le type pour le wes lui même avec le type « general », non ?

il faut donc faire une vérification si wes et si rien dans setConfiguration type alors

https://github.com/jeedom/plugin-wes/commit/9b2d556494d7388dd0d112d4f729a040ee7f599c

Il y a une coquille ligne 50 :wink:, Il manque les « > »

if($wes-getConfiguration('type') == null || $wes-getConfiguration('type') == ""){

au lieu de :

if($wes->getConfiguration('type') == null || $wes->getConfiguration('type') == ""){

J’ai fait le PR pour la coquille

https://github.com/jeedom/plugin-wes/pull/8

En revanche, il y a toujours le soucis avec la fonction configPush().

En laissant tel quel, cela génère une erreur :

ConfigPushError

Voir plus haut mon précédent post :

je suis de déplacement ce soir et toute la journée de demain. je ne pourrai pas regarder cette partie. je regarde donc vendredi merci pour ton aide :wink:

Il faudrait aussi faire la modification pour les commandes dans le fichier d’upgrade. Si je peux, j’essaie de te faire le PR ce soir.

Désolé encore en déplacement, il me reste encore un peux de kilomètres avant d’enfin retourner à la maison et au bureau.
Donc demain je peux possiblement regarde en après-midi.