Bonsoir,
Je partage simplement quelques petites modifications que j’ai apporté au plugin GSH (gsh_ColorSetting.class.php) afin de pouvoir modifier la température de couleur d’une lampe via Google Home.
On commence par modifier les température max/min en Kelvins transmises à l’API de Google :
$return['attributes']['colorTemperatureRange'] = array(
'temperatureMinK' => 2000,
'temperatureMaxK' => 6000
);
J’ai défini de 2000 à 6000 car cela correspond à mes lampes mais on peut mettre de 2000 à 9000, cela dépend de vos lampes et comme ces paramètres ne sont pas explicitement donnés pour chaque lampe dans Jeedom, je préfère prendre les mêmes bornes que ce qui va suivre même si ça ne change pas grand chose…
L’application Google Home présente plusieurs couleurs prédéfinies associées aux températures suivantes :
ivory : 2000K
daylight : 2700K
cool white : 3000K
warm white : 4000K
incandescent : 5000K
candlelight : 6000K
J’ai donc fait un petit calcul de façon à ce que ces boutons permettent de balayer l’ensemble des températures disponibles sur la lampe et cela donne la modification suivante :
if(is_object($cmd)){
$value = $cmd->getConfiguration('maxValue')-(($execution['params']['color']['temperature']-2000)/4000)*($cmd->getConfiguration('maxValue')-$cmd->getConfiguration('minValue'));
$cmd->execCmd(array('slider' => $value));
$return = array('status' => 'SUCCESS');
$return['on'] = true;
return $return;
}
Vous aurez remarqué que j’effectue le return plus tôt que prévu, c’est pas très propre mais comme j’ai remarqué que changer la température d’une lampe a pour effet de l’allumer, je retourne donc l’état à Google Home histoire d’éviter d’avoir des fausses informations sur l’app…
Tout cela est fait très rapidement mais ça serait super que ce soit intégré d’une quelconque manière dans le plugin de base, d’autant plus que certains posts sur ce forum en parlaient déjà il y a un certain temps mais la modif n’a visiblement jamais été faite…
Si vous avez des questions ou que cela ne marche pas de votre côté, n’hésitez pas à en parler, j’essaierais de vous aider si j’ai le temps
Bonne semaine !
Alexis