Bonjour,
J’ai lu avec attention le sujet Bilan 2022 & Objectifs 2023
J’ai vu le scénario Natural Light proposé par Loic.
J’aimerais bien un plugin qui gère ça
En attendant, j’ai piqué son scénario pour l’adapter un peu, avec un stupide Cron pour modifier la luminosité.
Cela serait sans doute mieux en plugin avec un Listener par exemple qui regarde si on allume une lampe.
Je n’ai pas encore eu le temps de m’y pencher, alors je partage ce scénario tel quel.
J’utilise le plugin volet pour l’élévation chez moi, mais le plugin Heliotrope devrait le faire aussi.
// Recherche de l'état de l'équipement
//$cmdState = cmd::byString('#[Chambre 1][grpBouleChambre1][Etat]#');
$cmdState = cmd::byString('#[Chambre 2][Lampe Ch2][Etat]#');
$state = $cmdState->execCmd();
//$scenario->setLog('Etat : '.$state);
// Si éteint, on ne fais rien
if ($state == 0) {
return;
}
// Calcul de l'elevation du soleil
$sun = cmd::byString('#[Automatisme][Volet Canapé sunhutter][Elévation soleil]#')->execCmd();
//$scenario->setLog('Sun elevation : '.$sun);
if ($sun < 0)
{
$sun = 0;
}
if ($sun>90){
$sun=90;
}
$scenario->setLog('Sun elevation : '.$sun);
// Calcul de la température couleur
$temp_color = intval(1000000/(4791.67 - 3290.66/(1 + 0.222 * $sun * 0.81)));
//$scenario->setLog('Temp color : '.$temp_color);
// Recherche de l'équipement et de sa configuration
//$cmd = cmd::byString('#[Chambre 1][grpBouleChambre1][Température couleur]#');
$cmd = cmd::byString('#[Chambre 2][Lampe Ch2][Température couleur]#');
//$scenario->setLog('nom : ' . $cmd->getHumanName());
// Recherche de la configuration
$min = $cmd->getConfiguration('minValue');
$max = $cmd->getConfiguration('maxValue');
// Calcul de la température couleur gérable par l'équipement
if ($temp_color > $max){
$temp_color = $max;
}
if ($temp_color < $min) {
$temp_color = $min;
}
$scenario->setLog('Temp color : '.$temp_color);
// Mise à jour de l'éclairage
$cmd->execCmd(array('slider' => $temp_color, 'transition' => 300));
Edit :
Testé sous ZigbeeLinker, avec ampoule Hue, Lexman et Ikea