Rem's Posté(e) le 31 janvier 2014 Signaler Posté(e) le 31 janvier 2014 Bonjour à tous,J'ai une scène en script Lua que j'appelle Réveil. Seulement voila, comment faire si je décide de faire la grasse matinée ...?Est-il possible de faire une scène ou un module virtuel qui peut stopper ou désactiver une scene (par quel code) ? Merci de vos réponses.
Shad Posté(e) le 31 janvier 2014 Signaler Posté(e) le 31 janvier 2014 Suffit de te créer une variable globale avec une valeur oui ou non. Et dans un ta scene tu rajoute if global dodo = non elseif dodo =oui. C'est pas le vrai code mais juste l'idée générale ^^ 1
Rem's Posté(e) le 18 février 2014 Auteur Signaler Posté(e) le 18 février 2014 Merci de ta réponse, désolé de ne pas l'avoir fait avant, j'avais perdu mes identifiant.
medline2c Posté(e) le 6 février 2015 Signaler Posté(e) le 6 février 2015 Salut ! Un petit "up" avec une variante... et si je veux stopper une scène depuis une autre scène... que code LUA ?... -> J'ai une scène "matin" qui allume la télé dans la chambre (je sais, c'est pas bien mais le matin c'est dur donc...) et lance la senséo puis le miroir chauffant pour la douche, joue avec un DIM sur la lumière etc etc... Par contre, quand c'est madame seule qui se lève, j'ai peut être envie de dormir, moi... donc j'aurais voulu faire une scène "muteMatin" qui stoppe la scène matin en cours pour lancer d'autres actions à la place...... Bonne journée !!... Info : neige ce matin sur Bordeaux !... tapis blanc... Christophe
pepite Posté(e) le 6 février 2015 Signaler Posté(e) le 6 février 2015 Bonjour, la même chose que récedemment je pense avec une variable gloable (VG) soit VG s'appelle TOTO IF TOTO = jemeleve then "scene matin" elseif 'scene mutematin" Ca devrait fonctionner, attendons d'autres reponses ;-) au cas ou ;-)
medline2c Posté(e) le 6 février 2015 Signaler Posté(e) le 6 février 2015 En fait, je ne cherche pas àchoisir entre une scène ou une autre mais par le biais d'une scène, àstopper l'exécution d'une autre scène... ou alors j'ai mal compris t
pepite Posté(e) le 6 février 2015 Signaler Posté(e) le 6 février 2015 c'est bien cela dans la meme scene tu lances telle ou telle action en fonction de la variable globale si TOTO = oui (la c'est toi qui te leves) then "tes action du matin, allumage tele, dim...." elseif "les autres actions quand mme se leve"
Rem's Posté(e) le 6 février 2015 Auteur Signaler Posté(e) le 6 février 2015 Suis sur iPad, mais je fais ca chez moi : Scene enanable pour cocher ou décocher la case "scene active", ça sera "true" ou "fasse" Au cas où elle soit encours et stopper la lecture du script, fibaro abort Rmq : attention àla syntax, je vous mets ca pour l'idée Sinon je vous mettrai le bout de code Voilou
medline2c Posté(e) le 7 février 2015 Signaler Posté(e) le 7 février 2015 Oui Rem's, c'est cette version que je cherche à mettre en place. L'idée de la variable globale est bien pour choisir à un instant T de faire telle ou telle chose mais cela ne permet pas de "tuer" une scène en cours... c'est bien une fonction "Abort" ou "Scène.False/True", Apparemment, la syntaxe semble être : fibaro:killScenes(ID_Scène à stopper); Pour la relancer : fibaro:startScene(ID_Scène à relancer); Enfin, pour vérifier si ou non une scène est en cours d'exécution et le cas échéant le nombre d'instances de cette dernière : fibaro:countScenes(ID_Scène si appel de la fonction depuis une autre scène...); sinon fibaro:countScenes(); Bonne nuit ;-)
Rem's Posté(e) le 7 février 2015 Auteur Signaler Posté(e) le 7 février 2015 J'ai lâché ma HC2 pour une paire de ski ce weekend, je te bazarde des que je rentre
Rem's Posté(e) le 8 février 2015 Auteur Signaler Posté(e) le 8 février 2015 Avec ça, je coche la case "scene activée" de la scène 85 fibaro:setSceneEnabled(85,true); -- Réveil Sem fibaro:setSceneEnabled(86,true); -- Réveil WE fibaro:debug("Réveil activé"); Avec ça, je décoche "scène activée" de la scène 85 + j'arrête la lecture du script fibaro:setSceneEnabled(85,false); -- Réveil Sem fibaro:killScenes(85) et voilou, si ça peut aider ... 1
medline2c Posté(e) le 8 février 2015 Signaler Posté(e) le 8 février 2015 Ok, Dis moi si je me trompe : setSceneEnabled(ID,true); permet de rendre la scène "lançable" alors que setSceneEnabled(ID,false); permet de rendre la scène inactive donc non "lançable" c'est ça... ? ;-)
Did Posté(e) le 19 août 2015 Signaler Posté(e) le 19 août 2015 J'ai réussi à mettre ça en place dans un module virtuel. Merci @Rem's. Mais pourquoi arrêter la lecture du script (killScenes)? Elle reprend normalement quand on la ré-active?
Rem's Posté(e) le 20 août 2015 Auteur Signaler Posté(e) le 20 août 2015 Lorsque je pars de chez moi, pendant la scene du couchée du soleil, alors j'etteinds les lumières via une scene et je stoppe ce qui est en route. Ou alors, j'ai un VD nomme stop scene dans lequel je désactive et stoppe si la scene est en cours. Réveil semaine, week end, couchée du soleil terrasse, scene présence. Voilà, si ca peut donner des idees
Did Posté(e) le 20 août 2015 Signaler Posté(e) le 20 août 2015 Alors j'ai mis pour l'activer fibaro:setSceneEnabled(39,true); fibaro:startScene(39); et ceci pour l'arrêter fibaro:setSceneEnabled(39,false); fibaro:killScenes(39); Merci @Rem's. 1
nvincent Posté(e) le 21 août 2015 Signaler Posté(e) le 21 août 2015 sur une HCL, on peux faire cela aussi ? car je n'ai pas de ID qui s'affiche pour les scènes (?!)
Did Posté(e) le 21 août 2015 Signaler Posté(e) le 21 août 2015 Sur HCL, ça va être compliqué car tu n'as pas de Lua.
Berale64 Posté(e) le 22 août 2015 Signaler Posté(e) le 22 août 2015 Sur HCL, en mode block, c'est pas un problème. Il faut un VD qui met àjour une ou des variables globales (Il y a des tutos pour ça). Puis la scène test les variables globales pour effectuer ou non les actions. On ne stoppe pas la scène, mais elle effectue les actions sous condition.
yoim Posté(e) le 1 juin 2017 Signaler Posté(e) le 1 juin 2017 pourquoi ils n'ont pas fait tout simplement une fonction : fibaro:stopScenes(39); Ca fonctionne bien en True et False. Juste pour savoir
Berale64 Posté(e) le 1 juin 2017 Signaler Posté(e) le 1 juin 2017 En lua il y a bien fibaro:killScenes(id)
yoim Posté(e) le 1 juin 2017 Signaler Posté(e) le 1 juin 2017 Oui mais le fait de la killer ne la desactive pas. J'ai une scene ou j'ai un setTimeout(Run, delay*1000) En etant plus precis j'aurais du parler de : fibaro:unactivateScenes(39)
pepite Posté(e) le 1 juin 2017 Signaler Posté(e) le 1 juin 2017 Ca existe ;-) fibaro:setSceneEnabled(sceneID, enabled) Pour désactiver enabled = false Pour activer enabled = true 1
yoim Posté(e) le 2 juin 2017 Signaler Posté(e) le 2 juin 2017 Merci @pepite Ca fonctionne très bien. 1
Messages recommandés