Aller au contenu
Felig

Empêcher une scène de s'auto appeler

Recommended Posts

Bonjour,

 

Je travaille sur une scène qui est déclenchée quand on modifie l'icone d'un VD. Le déclencheur est donc du type 

%% properties
105 currentIcon

Jusque là tout va bien. Par contre, dans le script de la scène je modifie de nouveau l'icone, ce qui conduit la scène à s'auto appeler dans une nouvelle instance, ce que je ne souhaite pas. Est-ce qu'il y a une commande qui permet de suspendre le déclenchement automatique d'une scène ?

 

J'ai essayé d'utiliser fibaro:setSceneEnabled(xx, false) , mais le problème c'est que ça interrompt complètement le script quand je l'applique sur la scène en cours, alors que je souhaite qu'il continue à s'exécuter. Je veux juste suspendre le trigger "%% properties" pendant une commande, puis le réactiver à la fin du script.

 

J'ai aussi essaye de limiter le nombre d'instances à 1, mais ça ne marche pas : j'ai l'impression que l'instance qui est "tuée" est la première, pas la nouvelle.

 

Quelqu'un a une idée ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir, tu ne pourrais pas tester en plus l id de l icone? Ou un autre test ?
Genre le timestamp et faire la difference?

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ou un countscenes >1 fibaro:abort

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas bien compris le coup de faire un autre test, mais le countscene bonne idée, je vais tester ! je connaissais pas fibaro:abort

Une autre solution que j'ai trouvée entre temps c'est de diviser ma scène en 2 scènes: une qui détecte, l'autre qui est appelée par la première et qui désactive la scène qui détecte. Mais bon 2 scènes au lieu d'une c'est pas super optimisé.

Modifié par Felig
En relisant j'ai compris le test de l'id et le timestamp. Mais un peu trop lourd par rapport au countscene.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ou sinon tu limites simplement le nombre d'instance à 1 :) Et plus besoin de countscenes !

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais déjà essayé et ça ne marchait pas. Mais je crois que j'ai compris pourquoi: le temps que la 2ème instance se déclenche, la 1ère était terminée, et le nb d'instance restait à 1. En mettant un sleep à la fin de la scène ça marche beaucoup mieux. La j'ai countscene + le sleep à la fin et ça roule. En limitant le nb d'instance à 1 ça devrait marcher aussi j'imagine maintenant.

Partager ce message


Lien à poster
Partager sur d’autres sites

×