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