Conversion HEXA RGB

Salut à tous,

Je me casse un peu les dents pour trouver une fonction qui me fait une conversion HEXA en RGB.
Je me suis fait un sidoh et je remonte les information de ma télécommande en HEXA (#F002255) par exemple.
Mon idée est de renvoyer vers mets module (toujours connecte sur le sidoh) en RGB pour le changement de couleur. Pour info Sidoh n’accepte pas (pour le moment j’espère) des commandes de couleurs en HEXA.
J’ai essaye HEX2RGB mais la fonction n’est pas dans Jeedom. J’ai essaye des bouts de code par ci par là mais , comment dire, je suis nul…….en programmation php (mais je me soigne en essayant de comprendre).

D’avance merci

Bonsoir,

C’est pas trop clair tout cela !

Il serait bon de décrire ce que la fonction a en entrée et ce que l’on souhaite en sortie.

Car #F002255 cela représente 4 octets.
Le Rgb est composé de 3 octets.
A+
Bernard

En exemple conversion hexa to rgb : #907DE6 = 144,125,230

Donc en entrée une chaîne de caractères hexa (un string). Et en sortie ? Une array de 3 entiers ?

A+
Bernard

Oui convertir un hexa en rgb comme on peut trouver par ci par là sur la toile.
La sortie doit être 3 entier compris entre 0 et 255 pour les trois couleurs.
Hex to rgb

Il faudra passer par un bloc code ou une fonction utilisateur.

Oui je veux bien essayer mais quel bloc code dois je retranscrire ou quelle fonction utilisateur utilisé ?

en js : https://github.com/jeedom/core/blob/beta/desktop/common/js/utils.js#L949
en php : https://github.com/jeedom/core/blob/beta/core/php/utils.inc.php#L1150

1 « J'aime »

Merci @kiboost , si je comprend bien la fonction est en beta actuellement .
Si je suis tes tutos je dois modifier la classe /data/user.function.class.php ?
Je ne la trouve pas, y a t il une evolution en V4 du chemin du fichier ?

Merci

Non j’ai linké la beta mais c’est dans jeedom depuis un moment, v4.0 mini voir v3 (php en tout cas)

La fonction retourne un résultat bizarre si la chaine a une taille de 3 caractères. Sinon OK, si tu fournis une chaine compète de 6 chiffres hexa avec ou sans tag #

Un petit exemple svp d’utilisation
merci d’avance

Crée un scénario avec un bloc code
dans le bloc code copie ce qui suit:

$_rgb = hex2rgb('122436');

$scenario->setLog(var_export($_rgb,true));

$scenario->setLog('r=' . $_rgb[0]);
$scenario->setLog('g=' . $_rgb[1]);
$scenario->setLog('b=' . $_rgb[2]);

A+
Bernard

Merci @Bercolly je viens de tester ton bout de code et ça fonctionne .
J’étais pas du tout dans la bonne direction et maintenant je comprend mieux les appels PHP.
Reste plus qu’a essayer de faire ce que j’ai envie.
Je vous remercie toi et @kiboost.

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