kinou.69 Posté(e) le 14 août 2016 Signaler Posté(e) le 14 août 2016 Je n'ai pas essayé car je ne vois pas comment l'utiliser.
Steven Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Alors, si on reprend la question original : @kinou.69 souhaitait faire un "stop" des volets. Le code est déjà présent dans ce que propose @pepite, voir : [40] = function() -- Simple clic, "-", Arret des volets fibaro:debug("Arret des volets") for i = 1, #Volets do fibaro:call(Volets[i],"stop") end end, Je pense que cela a juste été oublié Pas besoin de connaitre l'état des volets pour les stopper.
kinou.69 Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Bonjour Steven, En faite je désire avec un seul appui sur le même bouton, ouvrir le volet ou l'arrêter s'il est mouvement.
Steven Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Dans ce cas, je te conseil de passer par un scénario différent qui va gérer l'état des volets.Je te propose une scène ci-dessous (que je n'ai pas pu tester, je suis au travail ET je n'ai pas de volets ) local ID = XX -- ID de cette scène local Volets = {xx, xx, xx} local ouvertureEnCours = fibaro:countScenes() > 1 if (ouvertureEnCours) then fibaro:debug("Arret des volets") for i = 1, #Volets do fibaro:call(Volets[i],"stop") end fibaro:killScene(ID) else fibaro:debug("Ouverture volets") for i = 1, #Volets do fibaro:call(Volets[i], "Open") end local ready = false while (not ready) do ready = true for i = 1, #Volets do ready = ready and (tonumber(fibaro:getValue(Volets[i], "value")) >=98) end fibaro:sleep(2000) end end Attention, cette scène doit pouvoir s'executer au moins 2 fois en même temps Que fait cette scène. La 1ère fois qu'on l'appel : fibaro:countScenes() va retourné 1 donc on ne sera PAS en mode d'ouverture. Cette scène va donc ouvrir les volets et attendre que ces derniers soient bien tous ouverts. Si pendant ce temps tu relance cette même scène, elle va stopper les volets et stopper toutes les scènes en cours. Modifie donc les 2 premières lignes avec l'identifiant de cette nouvelle scène ainsi que la liste des tes volets. Modifie le code de ton octan remote pour que sur l'appui du code [20] et [40] tu appel directement cette nouvelle scène [20] = function() -- Simple clic "+", ouverture des volets fibaro:startScene(XXXXXXX) -- XXXXXX = id de la nouvelle scène ... [40] = function() -- Simple clic, "-", Arret des volets fibaro:startScene(XXXXXXX) -- XXXXXX = id de la nouvelle scène Voilà cela devrait le faire du moins je l'espère. Test d'abord uniquement en créer la scène et en appuyant sur le bouton start pour ouvrir/stopper/ouvrir/ ... Have fun 1
pepite Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 EAsy le master, je n'aurais jamais pu l'aider comme cela. Le ready, heuuu je comprends qu'elle s'incrémente de la valeur d'ouverture du volet pour ne pas qu'au prochain appui sur la telecommande ca ferme avant 'ouverture complète. J'ai bon master ?
Steven Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Non tu as faux mais j'ai soudainement un doute Si la valeur est de 100, c'est que le volet est ouvert ou fermé ?
Steven Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 local ready = false -- ready = false afin de rentrer dans la boucle while (not ready) do -- tant que ready = false je continue ready = true -- je met ready à true -- voir en dessous for i = 1, #Volets do -- pour chaque volet je test si ce dernier est complètement ouvert > = 98% -- si c'est le cas ready = read AND ouvert -- ce qui nous donne ready = true AND true -- donc si TOUS les volets sont ouverts ready = true -- si un volet est fermé on aura -- ready = true AND false ---> ce qui donne false -- ou ready = false AND true ---> ce qui donne false ready = ready and (tonumber(fibaro:getValue(Volets[i], "value")) >=98) end -- on attend 2 secondes avant de retester fibaro:sleep(2000) end Je suis pas sà»r d'être très clair
Did Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Si la valeur est de 100, c'est que le volet est ouvert. 1
kinou.69 Posté(e) le 18 août 2016 Signaler Posté(e) le 18 août 2016 Bonsoir, alors j'ai créer une nouvelle scène que j'ai appelé "mouvement volet". Celle-ci est pilotée depuis le bouton de la télécommande. --[[ %% properties %% events %% globals --]] local ID = 261 -- ID de cette scène local Volets = {205} local ouvertureEnCours = fibaro:countScenes() > 1 if (ouvertureEnCours) then fibaro:debug("Arret des volets") for i = 1, #Volets do fibaro:call(Volets[i],"stop") end fibaro:killScenes(ID) else fibaro:debug("Ouverture volets") for i = 1, #Volets do fibaro:call(Volets[i], "open") end local ready = false while (not ready) do ready = true for i = 1, #Volets do ready = ready and (tonumber(fibaro:getValue(Volets[i], "value")) >=98) end fibaro:sleep(2000) end end je debug. Donc cela fonctionne mas j'ai un petit soucis. l'ouverture et l’arrêt fonctionne par appui un clic sur le bouton. Par contre lorsque le volet se ferme (double clic sur le bouton), soit le volet s’arrête, soit il ré ouvre.
augur Posté(e) le 22 août 2016 Signaler Posté(e) le 22 août 2016 Est il possible d'associer ectte Octan Nodon àun FIBARO RGBW Controller ?
pepite Posté(e) le 23 août 2016 Signaler Posté(e) le 23 août 2016 @Augur, Oui, tu appelles le RGBW dans la scene, easy pour toi ;-)
augur Posté(e) le 23 août 2016 Signaler Posté(e) le 23 août 2016 .... j'ai juste un TRàˆS mauvais souvenir d'association directe entre un module double relai Qubino ZMNHBA2 et un interrupteur Z-WAVE.ME ZME_WCD1 !!! + en regardant les paramètres de groupe / association directe dans le manuel du fibaro RGBW, je trouve ça assez complexe, d'autant qu'on dirait que ça parle de pondération de bit !!!
pepite Posté(e) le 23 août 2016 Signaler Posté(e) le 23 août 2016 Honnetement, sans association ca marche tres bien, depuis que je l'ai, cela n'a jamis buggé, la seule chose qui plante c'est quand mes lignes de code ne font pas ce a quoi je m'attendais lol
kinou.69 Posté(e) le 31 août 2016 Signaler Posté(e) le 31 août 2016 bonsoir, je relance le sujet de mes volets roulants. Pour rappel, je souhaite utiliser un seul bouton pour la commande d'un volet: 1 appui court : ouverture ou arret 1 appui long : fermeture le script de steven m'a permis de faire l'appui court donc ouverture/arret. par contre, pour la fermeture, cela ne fonctionnement. J'ai créé une 3_ième scène pour avoir le mouvement de fermeture. maintenant je n'arrive pas àintégrer le tout. peut on faire dans la même scène le mouvement ouverture et fermeture? merci pour votre aide
kinou.69 Posté(e) le 20 octobre 2016 Signaler Posté(e) le 20 octobre 2016 Bonjour, après quelques heures passé j'ai enfin réussi a programmer ma télécommande. merci a steven pour son script. Pour améliorer le fonctionnement je souhaiterais le modifier car quand le volet est en mouvement (dans la boucle while) et que j’appuie sur l'interrupteur mural, le volet s'arrete mais la scene considère que le volet est toujours en mouvement. je pense qu'il faudrait rajouter une condition si position n-1 = position n alors on quitte la boucle while. je ne sais pas l'écrire. Pouvez vous m'aider, Merci
Steven Posté(e) le 20 octobre 2016 Signaler Posté(e) le 20 octobre 2016 Etrange car si je me souviens bien, àla fin de la fermeture des volets, on avait mis cela : fibaro:killScenes(ID) qui devrait terminer toutes les instances de la scène, donc la boucle while en même temps.
pepite Posté(e) le 20 octobre 2016 Signaler Posté(e) le 20 octobre 2016 Salut Kinou.69 Tu peux reposter la scene que tu utilises stp ?
kinou.69 Posté(e) le 20 octobre 2016 Signaler Posté(e) le 20 octobre 2016 Bonjour, le killscene concerne l’arrêt avec la télécommande. Mon soucis c'est quand j’appuie sur l'interrupteur mural pour arrêter le volet que j'ai l'impression que la scène rester dans la boucle while. Après avoir appuyé sur l'interrupteur mural, je dois a nouveau appuyer sur le bouton de la télécommande pour que la scène interprète l’arrêt du volet. Voici la scene de la télécommande : --[[ %% autostart %% properties 465 sceneActivation %% globals --]] -- Liste des volets local Volets = {20, 301, 303, 307} ------ local actions = { ------action du rond plein "0" [10] = function()-- Simple clic "0", fibaro:setGlobal("Mvt_Volet20salon", "ouverture") fibaro:startScene(261) -- XXXXXX = id de la nouvelle scène end, [11] = function()-- Relaché "0" -- end, [12] = function()-- Appui long "0", fibaro:setGlobal("Mvt_Volet20salon", "fermeture") fibaro:startScene(261) -- XXXXXX = id de la nouvelle scène end, [13] = function()-- double clic "0", -- end, ---- plus les scripts des autres boutons } local action = tonumber(fibaro:getValue(465, "sceneActivation")) actions[action]() fibaro:debug("PressButton") Et la scene simulant le mouvement du volet : --[[ %% properties %% events %% globals --]] local ID = 261 -- ID de cette scène local Volets = {20} local ouvertureEnCours = fibaro:countScenes() > 1 local Mvt = fibaro:getGlobal("Mvt_Volet20salon") if (ouvertureEnCours) then fibaro:setGlobal("Mvt_Volet20salon", "arret") fibaro:debug("Arret des volets") for i = 1, #Volets do fibaro:call(Volets[i],"stop") end fibaro:killScenes(ID) else if Mvt == "ouverture" then fibaro:debug("Ouverture volets") for i = 1, #Volets do --fibaro:call(Volets[i],"setValue", "97") fibaro:call(Volets[i], "open") --fibaro:call(205,"setValue", "99") end ready = false while (not ready) do ready = true for i = 1, #Volets do ready = ready and (tonumber(fibaro:getValue(Volets[i], "value")) >=99) end fibaro:sleep(1000) end end if Mvt == "fermeture" then fibaro:debug("Fermeture volets") for i = 1, #Volets do fibaro:call(Volets[i], "close") end ready = false while (not ready) do ready = true for i = 1, #Volets do ready = ready and (tonumber(fibaro:getValue(Volets[i], "value")) <=1) end fibaro:sleep(1000) end end fibaro:setGlobal("Mvt_Volet20salon", "arret") end Pour cela j'ai créé une variable prédéfinie Mvt_Volet20salon qui a comme valeur : arret/ouverture/fermeture.
minos Posté(e) le 26 avril 2017 Signaler Posté(e) le 26 avril 2017 Salut , Je viens d’acquérir cette telecommande. Inclusion => Ok Ajout des paramètres 3 ainsi que le paramètre 8 pour le clignotement de la LED. J 'ai créée une scène qui fonctionne si je l'a test depuis la console web de la HC2 mais ne fonctionne pas lors de l'appuie du bouton 1 Celui avec le rond blanc.j 'ai bien la led qui s'allume sur le telecommande. Avez-vous une idée du soucis ...
Messages recommandés