Warning PHP en continu : fonction zwavejs::updateCmd()

Hello chers devs du #plugin-zwavejs,

J’ai constaté des erreurs incessantes dans le log http.error au sujets du plugin :

4978|[Sun Apr 23 19:24:55.894989 2023] [php7:notice] [pid 29508] [client 127.0.0.1:40818] PHP Notice:  Undefined offset: 1 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1658
4979|[Sun Apr 23 19:24:55.895006 2023] [php7:notice] [pid 29508] [client 127.0.0.1:40818] PHP Notice:  Undefined offset: 2 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1659
4980|[Sun Apr 23 19:24:56.892099 2023] [php7:notice] [pid 17489] [client 127.0.0.1:40836] PHP Notice:  Undefined offset: 1 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1658
4981|[Sun Apr 23 19:24:56.892117 2023] [php7:notice] [pid 17489] [client 127.0.0.1:40836] PHP Notice:  Undefined offset: 2 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1659
4982|[Sun Apr 23 19:24:58.016408 2023] [php7:notice] [pid 20309] [client 127.0.0.1:59746] PHP Notice:  Undefined offset: 1 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1658
4983|[Sun Apr 23 19:24:58.016427 2023] [php7:notice] [pid 20309] [client 127.0.0.1:59746] PHP Notice:  Undefined offset: 2 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1659

Les lignes 1658 et 1659 font référence à la fonction updateCmd() et plus précisement à :

$endpoint = $cmdId[1];
$property = $cmdId[2];

En activant le log de debug à l’entrée de la fonction, j’ai constaté que $cmdId peut ne pas être découplable (cf lastActive) par la fonction explode() un peu plus haut :

1852|[2023-04-23 19:24:55]DEBUG : [updateCmd] 50-0-value-65537 672.51
1853|[2023-04-23 19:24:55]DEBUG : [updateCmd] lastActive 1682270695843
1854|[2023-04-23 19:24:55]DEBUG : [updateCmd] 50-0-value-65537 672.51
1855|[2023-04-23 19:24:56]DEBUG : [updateCmd] 50-0-value-66049 71.33
1856|[2023-04-23 19:24:56]DEBUG : [updateCmd] lastActive 1682270696706
1857|[2023-04-23 19:24:56]DEBUG : [updateCmd] 50-0-value-66049 71.33
1858|[2023-04-23 19:24:57]DEBUG : [updateCmd] 50-0-value-66561 244.78
1859|[2023-04-23 19:24:58]DEBUG : [updateCmd] lastActive 1682270697810
1860|[2023-04-23 19:24:58]DEBUG : [updateCmd] 50-0-value-66561 244.78
1861|[2023-04-23 19:24:58]DEBUG : [updateCmd] 50-0-value-66817 0.53
1862|[2023-04-23 19:24:58]DEBUG : [updateCmd] lastActive 1682270698699```

Après analyse de la fonction, le fait que $cmdId[1] et $cmdId[2] n’existe pas (=null) n’a pas d’incidence sur l’execution. Ne comprenant pas exactement ce que fait la fonction, j’ai donc simplement remplacé les lignes 1658 et 1659 par :

$endpoint = (count($cmdId) > 1) ? $cmdId[1] : null;
$property = (count($cmdId) > 2) ? $cmdId[2] : null;

Plus d’erreur, même fonctionnement.
Je vous laisse juger s’il faut intégrer la correction dans le plugin ou la modifier, ou pas.

Bad

3 « J'aime »

J’ai envoyé un ticket au support a ce sujet la semaine dernière mais pas encore eux de retour.

Bonjour
j’ai le meme probleme

[Sun May 07 09:25:08.838110 2023] [php7:notice] [pid 25535] [client 127.0.0.1:53040] PHP Notice:  Undefined offset: 1 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1658
[Sun May 07 09:25:08.838188 2023] [php7:notice] [pid 25535] [client 127.0.0.1:53040] PHP Notice:  Undefined offset: 2 in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1659

Je suis sur un NAS Synology en Docker en V4 stable

Avez vous un retour du support ?

merci

Non pas de réponse pour l’instant.

je ne vas pas ouvrir un ticket, nous allons attendre si une réponse arrive pour votre demande ?

C’est un long we, demain férié dc patience…

ligne 1658 et 1659

des news ? ?
merci

Rien de mon côté.

Bonjour,

Toujours présent après la maj de ce matin.

Bonjour,

Vous êtes tous sur Docker ?

Certes, je n’ai pas beaucoup de module en Zwave, mais je ne rencontre pas ce problème.

1 « J'aime »

Pour ma part sur une vm debian 11

J’ai la meme chose en derniere version beta du plugin sur beta core 4.4 DEbian 11

En VM ou Docker aussi ?

En VMM sur synology DSM 7.2

doit on ouvrir un ticket au support ?
est ce un probleme cette erreur ?
merci

Surtout qu’un correctif minimal existe depuis des mois :

Bad

J’ai déjà ouvert un ticket mais oas de réponse do’c je dirais oui ouvre un nouveau.

J’ajoute celui là qui revient en boucle aussi et que je n’avais pas vu :

0001|[fri jul 14 18:34:25.772894 2023] [php7:notice] [pid 1913] [client 127.0.0.1:58218] php notice: undefined index: lastactive in /var/www/html/plugins/zwavejs/core/class/zwavejs.class.php on line 1415

Toujours présent dans la beta de ce matin. Quelqu’un peut corriger côté jeedom ?

Toujours présent dans la version 12/09/23.

1 « J'aime »