[BUG] cmd de type color dans class php

Je viens de constater qu’il y a un bug chez moi avec les commandes de type color.

Dans le fichier zwavejs.class.php

La valeur $value pour ma lampe (avant envoi mqtt) est :

{
  "red": 255,
  "green": 0,
  "blue": 0,
  "warmWhite": 0,
  "coldWhite": 0
}

Elle est donc de type array.

Hors ligne 2412 on a :

if (substr($value, 0, 3) == 'set' ...

Cela provoque donc une erreur car $value n’est pas de type string

J’ai corrigé chez moi vite fait en faisant :

if (!is_array($value) && substr($value, 0, 3) == 'set') 

Ca fonctionne parfaitement.
Par contre je ne fais pas de commit sur le git, car vu ce que je vois au dessus :

case 'color':
	if ($property == 'targetColor') {
		$value = zwavejs::convertColorToArray($_options['color']);
	} else {
		$value = strval(str_replace('#color#', $_options['color'], $value));
	}

Je ne sais pas si il y a potentiellement une correction différente à faire…

Je viens de voir que la correction a été poussée en beta, merci @Salvialf !

Salut,

Je n’avais pas vu que tu avais un ouvert un sujet concernant cette erreur, sinon je t’aurais signalé que la correction était disponible en beta.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.