Gestion Volet - Scenario Jeedom - retour d’état incorrecte pendant l’exécution du scénario

Je débute avec jeedom et la domotique d’une manière générale !
J’ai jeedom sur freebox delta, et volet somfy io.

J’ai écrit un scénario simple pour fermer mes volets:

Mon problème est qu’a l’exécution du scénario, tous les volets ne se ferment pas systématiquement.
Il faut que j’envoie la commande plusieurs fois et le comportement est assez aléatoire, parfois deux se ferment en même temps, parfois un seul, je ne comprend pas.

Alors j’ai pensé à écrire une boucle en php pour récupérer l’état des volets et de voir si l’état n’a pas changé je revoie la commande une 2eme et une 3eme fois, jusqu’à ce qu’il se ferme.

Je fais ça avec php.
J’essaye de récupérer la position des volets après une consigne.
Mais la position ne se mets pas a jour. pourquoi ??

voici le code : ( recuperation de la consigne précédente , exécution de la consigne, puis une boucle de recuperation de l’ouverture )

log::add(« mylog », « ALERT », « start the test »);
$value=cmd::byString(‹ #[Chambre Parent][Volet Parent][Etat ouverture volet]# ›)->execCmd();
log::add(‹ mylog ›, « ALERT », « value=$value »);

$option = array(‹ slider ›=>80);
cmd::byString(‹ #[Chambre Parent][Volet Parent][Consigne d ouverture]# ›)->execCmd($option, $cache=0);

$i=0;
while ($i < 10) {
cmd::byString(‹ #[Chambre Parent][Volet Parent][Rafraichir]# ›);
$value=cmd::byString(‹ #[Chambre Parent][Volet Parent][Etat ouverture volet]# ›)->execCmd();
log::add(‹ mylog ›, « ALERT », « value=$value »);
sleep(2);
$i++;
}

voici le résultat: ( pour une consigne d’ouverture de 80 ) ( ancienne valeur 60 )!!!

[2020-08-18 23:26:36][ALERT] : start the test
[2020-08-18 23:26:36][ALERT] : value=80
[2020-08-18 23:26:36][ALERT] : value=61
[2020-08-18 23:26:38][ALERT] : value=61
[2020-08-18 23:26:40][ALERT] : value=61
[2020-08-18 23:26:42][ALERT] : value=61
[2020-08-18 23:26:44][ALERT] : value=61
[2020-08-18 23:26:46][ALERT] : value=61
[2020-08-18 23:26:48][ALERT] : value=61

tu penses à une boucle : une fonction « wait + condition » pour attendre l’ouverture / fermeture du volet et passer au suivant pourrait-il aider?

@SWR peut être a condition que la commande fermeture/ouverture arrive au volet. Parfois elle n’arrive pas et je ne sais pas si c’est un bug ou une configuration erroné dans mon système.

J’ai vu comment faire « Wait » « Condition » dans scénario, par contre comment on détecte qu’il aie eu timeout ?
Je vois un seul inconvénient c’est du coup leurs fermeture est séquentielle correcte ?

[EDIT]
On essayons le scénario suivant il y a toujours un problème avec la détection de l’état d’ouverture.

[2020-08-23 12:40:39][SCENARIO] Start : Scenario lance manuellement.
[2020-08-23 12:40:39][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-08-23 12:40:39][SCENARIO] Exécution de la commande [Chambre Parent][Volet Parent][Consigne d ouverture] avec comme option(s) : {« background »:« 0 »,« slider »:80}
[2020-08-23 12:40:39][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-08-23 12:41:10][SCENARIO] [Wait] Condition valide par dépassement de temps : 61 == 80 =>
[2020-08-23 12:41:10][SCENARIO] Exécution de la commande [Chambre Parent][Volet Parent][Consigne d ouverture] avec comme option(s) : {« background »:« 0 »,« slider »:60}
[2020-08-23 12:41:10][SCENARIO] Fin correcte du scénario

La seul solution que j’ai trouvé est de faire une boucle (4 ou 5 fois) ou j’envoie la consigne d’'ouverture !!
Je ne trouve pas ca top !

Pour garantir la fermeture des lumières.

j’active un scénario
teste l’allumage
si ok, il est désactivé, si NOK, il reste actif et sera relancé la prochaine minute et ainsi de suite

J’utilise : scénario activer et scénario lancer

Voilà, si ça peut t’aider

@SWR Merci, Donc tu as un scénario programmé toutes les minutes. et tu joues sur l’activation et désactivation. c’est quand même pas trops réactifs 1 minutes pour allumer une lumière, non ?

La vrai question est pourquoi l’état de la lumière éteinte/allumé ou état d’ouverture volet n’est pas fiable ?
Pourtant sur l’application natif (freebox) qui gère l’ouverture des volets somfy io, l’affichage de l’état d’ouverture est instantané !
ca vient de jeedom ou du plugin freeboxos ???
une idée ???

@alfawaz, Pas tout à fait.

Le scénario initial : allumer la lumière est activé par le déclencheur (mouvement dans mon cas). Il active le scénario d’extinction.
Le scénario d’extinction est exécuté toutes les minutes et se désactive lorsque la lumière est éteinte.
Je ne l’utilise pas pour traiter un problème de fiabilité, mais cela me permet de modifier les critères d’extinction avec prise en compte live.

Je ne peux malheureusement pas répondre concernant ton problème de remonté en décalé.
Espérant que cela t’aide quand même