Je viens d’installer le plugin Light Group de @hbe.
Tout d’abord, merci.
J’ai testé en faisant un groupe avec 4 Hue ZLL (oui, vieille techno ) et un autre groupe avec 4 Hue ZHA.
Je constate la même chose : quand je change la luminosité ou que j’allume ou éteint le groupe, je vois les ampoules réagir l’une après l’autre.
Serait-il possible d’envoyer les ordres en parallèle ?
Je précise que ces ampoules sont incluse via le plugin zigbee officiel.
Merci.
Je vais regarder. Normalement le code est assez simple de ce point de vue là et il ne devrait pas entraîner de latences. Je vais faire quelques tests demain pour voir si je peux optimiser cela.
Par contre je pense que cela dépendra aussi du temps de réaction entre l’appel de la commande et son exécution par les autres plugins. De ce point de vue là j’ai bien peur que tu ais toujours des ampoules qui s’allument avant les autres.
Je suis allé vérifier ce matin avec un peu de log.
Côté code c’est une simple boucle for qui appelle les commandes On et Off des lumières que tu as définit.
Ici la fonction appelée dans la boucle FOR:
public static function toggleLight($context, $toOn)
{
$lightConfigStr = '';
if ($toOn) {
$lightConfigStr = 'lightOn';
} else {
$lightConfigStr = 'lightOff';
}
$lightConfigCmd = LightUtils::retrieveCmdFromConfig($context, $lightConfigStr);
if ($lightConfigCmd != null) {
LogLightGroup::info('SEND COMMAND');
$lightConfigCmd->execCmd();
}
}
Les commandes sont envoyées toutes en même temps. De mon côté comme toi j’ai des lumières qui s’allument plus ou moins rapidement mais je me demande si cela n’est pas plutôt du au protocole de communication…
Mes ampoules sont de même marque et de même modèle pour chacun des groupes. J’ai l’impression que l’appel ON ou OFF ou Luminosité attend un accusé réception avant d’envoyer à l’ampoule suivante.
J’ai fait des groupes via le plugin Zigbee et là les ampoules régissent en même temps.
Dès que j’ai pu tester autrement je mets ici le comportement que je verrai.
Sinon je pensais utiliser le groupe Zigbee pour le ON/OFF et une des ampoules pour le retour de luminosité (que le groupe Zigbee ne donne pas). Mais ça fait bidouille et contournement…
Le point bizarre c’est que les commandes partent toutes en même temps. Du coup le plugin Zigbee devrait recevoir les 3 commandes à la suite. Sans attendre un retour:
Voilà, j’ai trouvé 2 ampoules (1 HUE et 1 Ikea).
Je les ai inclus avec ZigbeeLinker pour changer.
J’ai créé un groupe avec. Et je constate un peu plus de réactivité.
Lorsque je change la luminosité, cela est instantané et synchro.
Lorsque j’allume et que j’éteins, j’ai un petit décalage.
Sur les autres groupes créés précédemment, c’est plus visible car j’ai 4 ampoules, et ici que 2.
Et pour compléter le test : j’ai pris un groupe Zigbee existant avec 4 ampoules.
J’ai créé une ampoule avec ton plugin qui utilise les infos du groupe quand c’est possible, sinon les infos d’une des ampoules quand il n’y a pas ce que je souhaite (Etat et Etat Luminosité).
C’est un peu compliqué mais c’est pour tester
Là, tout est ok et synchronisé.
Un complément encore : j’ai créé un groupe sous Zigbee2MQTT, avec les 2 ampoules Hue & Ikea cité tout à l’heure.
Et là aussi, quand je demande ON ou OFF du groupe, il y a un décalage.
Peut-être est-ce le problème des groupes ?
Ou alors mon mélange Ikea-Hue sur mon test…
Allez, encore 1 test.
J’ai créé un groupe avec Jeedom Connect avec 2 ampoules Ikea, rattaché au plugin Zigbee.
Si je fais un groupe avec Jeedom Connect, j’ai aussi un petit décalage dans ON et OFF.
Si je fais un groupe via le plugin Zigbee puis je rattache Jeedom Connect à ce groupe, alors le ON et OFF sont instantanés de nouveau.
C’est le groupe Zigbee qui permet sans doute d’utiliser une spécificité des groupes Zigbee.