Je viens de pousser une version beta afin de pouvoir envoyer une couleur proprement.
Extrait de la doc :
Dans le cas de la couleur d’une lampe :
Le codage de la couleur chez tuya a plusieurs format et est différent de celui utilisé par Jeedom. Jeedom utilise le format RGB alors que tuya utilise différents formats HSV ou combinant HSV et RGB. Le RGB code chaque couleur de 0 à 255 ou en hexadéciaml de 0 à FF. Le rouge est donc codé FF0000, le bleu : 0000FF, le blanc : FFFFFF et le noir : 000000. Les valeur pour HSV sont les suivantes : Hue de 0 à 360° (couleur), S de 0 à 100% (Saturation) et V de 0 à 100% (Intensité). Voir ici pour aller plus loin.
Afin de permettre au plugin de fonctionner correctement pour les couleurs, il faut identifier les formats utilisés par tuya :
1 - format HSV : H (0 à 360 ) S(codé de 0 à 1000) V (codé de 0 à 1000) le résultat est ensuite donnée en base 16, soit 12 digits hexadécimaux. Exemple pour du rouge alors RGB = FF0000 et HSV= 0° S=100% V=100% soit en codage Tuya 000003E803E8
2 - format RGB00HSV : RGB sont codés comme ci-dessus. 00 est intercallé puis H (0 à 255 ) S(codé de 0 à 255) V (codé de 0 à 255). Le résultat est donné en base 16, soit 14 digits hexadécimaux. Exemple pour du rouge alors RGB = FF0000 et HSV= 0° S=100% V=100% soit en codage Tuya FF00000000FFFF
3 - format RGB : RGB sont codés comme ci-dessus. Mais jamais vu chez tuya
Dans le champ paramètre des dps (info et action) correspondant à la couleur il faut mettre :
si format 1 : #colorH4S4V4_1000#
si format 2 : #colorR2G2B200H2S2V2_255#
si format 3 : #color#
Si le codage ne correspond pas à ceux ci-dessus, il faut configurer des boutons pour chaque couleur individuelle désirée en mettant comme valeur du dps le codage de la couleur attendue par le périphérique. Le retour d’état ne pourra pas fonctionner.
Vous pouvez aider en échangeant sur le forum pour comprendre le codage utilisé par tuya.
Exemple :
Receive after decode :{devId:50701244cc50e37e9aff,dps:{"120":"012F003F00FF","101":true}}
Ici, une couleur a été modifiée sur l’application du périphérique et on observe que le dps 120 a changé il a le format 1.
- Créer une nouvelle commande action/couleur dans les commandes du périphérique :
- Dans la colonne interface mettre Couleur comme nom
- Dans la colonne nom interne et n° de commande, mettre comme Id unique : Couleur, comme dps : 120 (sans les doubles guillemets) et comme paramètre : « #colorH4S4V4_1000# » (ici la valeur est entourée de guillemets, il faut donc les mettre).
- Créer une nouvelle commande info/autre dans les commandes du périphérique :
- Dans la colonne interface mettre ColorGet comme nom de l’info
- Dans la colonne nom interne et n° de commande, mettre comme Id unique : ColorGet, comme dps : 120 (sans les doubles guillemets) et « #colorH4S4V4_1000# » dans paramètres.
Donc si tu as le temps de tester. Attention je n’ai pas testé donc si KO : me dire pourquoi et m’envoyer les logs.