Aller au contenu
uncleseb

Activer/désactiver Scène Depuis Bouton Virtuel

Recommended Posts

Bonjour je souhaite activer et désactiver 2 scènes avec un bouton virtuel 

 

voici les codes pour chaque bouton 

--[[ 
%% properties 
%% globals 
--]]

fibaro:"killScenes"(9);
fibaro:"killScenes"(10);
--[[ 
%% properties 
%% globals 
--]]

fibaro:"startScene"(9);
fibaro:"startScene"(10);

ca ne fonctionne pas et j'obtiens ces message d'erreurs

[ERROR] 15:42:31: line 6: '' expected near '"killScenes"'
[ERROR] 15:42:03: line 6: '' expected near '"startScene"'

ou ai-je commis une erreur ?

merci de votre aide

Partager ce message


Lien à poster
Partager sur d’autres sites

il ne faut pas les " dans l'instruction

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu peux aussi supprimer le bloc 

--[[ 
%% properties 
%% globals 
--]]

Qui ne sert à  rein dans un VD.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci 

maintenant j'ai ce message pour l’arrêt des scènes

[ERROR] 18:31:47: line KillScenes(9)..."]:1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Visiblement tu as mis un K majuscule.

 

Pour ton 1er bouton:

fibaro:killScenes(9)
fibaro:killScenes(10)

Pour ton 2eme:

fibaro:startScene(9)
fibaro:startScene(10)

Le mieux étant peut être avant le kill de contrôler que la scène est lancée:

for s=9,10 do
if fibaro:countScenes(s) ~= 0 then fibaro:killScenes(s) end
end

Nicolas

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci a vous je n'ai plus de message d'erreur .

Mais quand je clique sur l'unique bouton marche/arret ça ne change pas l'icone et ça n'a aucun effet.

 

Autre chose  j'ai crée un module virtuel a 2 boutons mais sur l'interface je n'en ai qu'un je peux changer ca ?

Partager ce message


Lien à poster
Partager sur d’autres sites

L'unique bouton commande celuis que tu as marqué comme "principal" dans l'interface du module et utilise dans l'icone de ce dernier. L'icone soit tu la change en lua soit tu la détermine en cliquant sur Changer Icone dans le paramétrage de ton bouton

Si tu crée 2  boutons et que tu sauvegarde tu as 2 boutons mais uniquement sur l'affichage du module. Sur l'interface si le module n'est pas ouvert/selectionné tu auras toujours un seul bouton (power).

 

Nicolas

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok merci je n'aurais donc toujours qu'un bouton.

Par contre l'appui sur le bouton power ne fait rien , pas d'activation ou désactivation j'ai oublié quelque chose ? (je me sert de ce bouton virtuel pour désactiver les scènes d'ouverture des volets le matin pendant les vacances ).

Merci de ton aide

Partager ce message


Lien à poster
Partager sur d’autres sites

Le startscene démarre une scène en agissant comme un déclencheur cela ne désactive pas la scène. Idem pour le kill cela stoppe une scène en cours mais elle se redéclenche au prochain trigger.

Si tu veux arréter une scene qui est géré par un autostart là  c'est différent (genre scene qui controle une heure et execute une action)

Je pense que dans ce cas tu devrais utiliser peut être ceci (à  "essayer" car pas testé):

 

1er bouton

--MARCHE
for s=9,10 do
    -- Activation scene
    if not (fibaro:isSceneEnabled(s)) then fibaro:setSceneEnabled(s , true) end
end

2eme bouton

-- ARRET
for s=9,10 do
    -- Arret de la scene en cours
    if fibaro:countScenes(s) ~= 0 then fibaro:killScenes(s) end
    -- Descativation de la scene
    fibaro:setSceneEnabled(s , false)
end

Nicolas

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci je vais essayer ca, ;)

par contre j'ai bien mis 1 icone pour chaque bouton mais dans l'interface ça ne change pas quand je fais un appui sur le bouton .

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

si tu as assigné une icône àchaque bouton, lorsque tu appuyes sur le bouton (physiquement ou virtuellement, via GEA) l'icône dans l'interface doit changer également.

Sauf si pour le VD il y a du code dans la main loop, donc après l'exécution de la main loop, ce sera l'icône par défaut du VD qui s'affichera.

Suis-je clair ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir , 

j'ai bien compris merci , donc il y a un problème car je n'ai rien dans le main loop et l'icone ne change pas .

Je joint le fichier vfib , ou est mon erreur ?

Merci d'avance.

Mode_Vacances.vfib

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

peux-tu SVP le code des boutons, que je crée pas un nouveau VD pour rien. Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai mis le code a chaque bouton comme me l'a indiqué Nikko plus haut

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens d'essayer ton VD et le comportement est correct: lorsque l'on clique sur un bouton l'icone apparait bien dans le Virtual Device; c'est le comportement que décrit Jojo; donc il y a une coquille dans la sélection de tes icones (1006 et 1007). Essaie de renvoyer/selectionner l'icone

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir , j'ai changé plusieurs fois d'icones idem

Alors si je clique sur l'unique bouton power ca ne fonctionne pas , par contre si je clique sur les 4 flèches cela m'affiche les  2 boutons créés et la a partir de ceux-la ca fonctionne .Est-ce le fonctionnement normal ?

post-375-0-60994100-1448299555_thumb.jpg

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

bizarre, lorsque je clique

sur le bouton unique (qui correspond au bouton par défaut) l'cône du bouton par défaut s'affiche bien.

Ne serait-ce pas un problème de refresh de ton browser ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Le startscene démarre une scène en agissant comme un déclencheur cela ne désactive pas la scène. Idem pour le kill cela stoppe une scène en cours mais elle se redéclenche au prochain trigger.

Si tu veux arréter une scene qui est géré par un autostart là  c'est différent (genre scene qui controle une heure et execute une action)

Je pense que dans ce cas tu devrais utiliser peut être ceci (à  "essayer" car pas testé):

 

1er bouton

--MARCHE
for s=9,10 do
    -- Activation scene
    if not (fibaro:isSceneEnabled(s)) then fibaro:setSceneEnabled(s , true) end
end

2eme bouton

-- ARRET
for s=9,10 do
    -- Arret de la scene en cours
    if fibaro:countScenes(s) ~= 0 then fibaro:killScenes(s) end
    -- Descativation de la scene
    fibaro:setSceneEnabled(s , false)
end

Nicolas

Bonjour je déterre ce vieux topic , je m'y suis remis dessus 

ce code fonctionne mais uniquement sur la première scène (la 9) la 10 rien du tout 

une idée ?

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

très bizarre. mets un debug dans le code de chaque bouton pour voir la valeur de s, il devrait faire 9 et 10

Partager ce message


Lien à poster
Partager sur d’autres sites

Quand je lance un debug (je clique sur deboguer , ensuite démarrer et ON ou OFF suivant le bouton) rien ne se passe dans le cadre , je procède incorrectement ?

Partager ce message


Lien à poster
Partager sur d’autres sites

tu procèdes correctement, mais il n'y a pas de debug dans le code. Il faut donc en rajouter :

1er bouton

  1.  
  2. --MARCHE
  3. for s=9,10 do
  4. fibaro:debug("Scène "..s)
  5.     -- Activation scene
  6.     if not (fibaro:isSceneEnabled(s)) then fibaro:setSceneEnabled(s , true) end
  7. end

2eme bouton

  1.  
  2. -- ARRET
  3. for s=9,10 do
  4. fibaro:debug("Scène "..s)
  5.     -- Arret de la scene en cours
  6.     if fibaro:countScenes(s) ~= 0 then fibaro:killScenes(s) end
  7.     -- Descativation de la scene
  8.     fibaro:setSceneEnabled(s , false)
  9. end

Partager ce message


Lien à poster
Partager sur d’autres sites

ca fonctionne ;)  j'obtiens

[DEBUG] 21:52:05: Scène 9
[DEBUG] 21:52:05: Scène 10

 
 
les scènes s'activent et se désactivent bien j'avais du rater quelque chose...
 
Par contre je voulais rajouter une troisième scène (237) , quand je la rajoute j'obtiens seulement:
 
[DEBUG] 21:54:05: Scène 9
 
 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, mais qul est l'id de la 3° scène ?

Partager ce message


Lien à poster
Partager sur d’autres sites

id 237 ???? tu passes de 10 à237 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

×