Pitou Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 Bonjour, Je suis nouveau, et je ne comprends pas les scènes. Des fois, ça marchait, que tous les volets s'ouvrent à 7h30 et maintenant cela ne fonctionne plus. J'ai changé de blocs à LUA, et cela ne fonctionne toujours pas. Comment marchent les Max. running instances? Pourquoi, après que tous les volets sont levés, la scène tourne, visible toujours dans le dashboard? Est-ce que le fait qu'elle tourne, fait qu'elle ne se déclenche pas le lendemain? Mes premières questions, merci de votre aide! Pitou de Brême 1
Bobobull Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 Salut, Donnes nous ton code pour voir. Ce genre de script devrait se terminer et ne plus tourner une fois les volets ouvert. Le max running instance est le nombre d'instance qui peuvent fonctionner en même temps. Exemple si ton déclencheur est un capteur de porte, que que max est a 2, bien lors des deux premières ouverture de porte, ton script sera lancé pui plus après (jusqu'àce qu'un se termine)... Sinon, regarde GEA (cherche dans ce forum) qui peut te simplifier la vie.
Pitou Posté(e) le 7 octobre 2016 Auteur Signaler Posté(e) le 7 octobre 2016 Salut, merci Bobobull. GEA semble intéressant, mais plus compliqué que comprendre une scène de base ;-) --[[ %% autostart %% properties %% events %% globals --]] local sourceTrigger = fibaro:getSourceTrigger(); function tempFunc() local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "07:30") ) ) then fibaro:call(56, "open"); fibaro:call(54, "open"); fibaro:call(22, "open"); fibaro:call(52, "open"); fibaro:call(77, "open"); fibaro:call(66, "open"); fibaro:call(80, "open"); fibaro:call(64, "open"); fibaro:call(58, "open"); fibaro:call(62, "open"); fibaro:call(68, "open"); fibaro:call(70, "open"); fibaro:call(72, "open"); fibaro:call(76, "open"); fibaro:call(74, "open"); fibaro:call(99, "turnOn"); end setTimeout(tempFunc, 60*1000) end if (sourceTrigger["type"] == "autostart") then tempFunc() else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( startSource["type"] == "other" ) then fibaro:call(56, "open"); fibaro:call(54, "open"); fibaro:call(22, "open"); fibaro:call(52, "open"); fibaro:call(77, "open"); fibaro:call(66, "open"); fibaro:call(80, "open"); fibaro:call(64, "open"); fibaro:call(58, "open"); fibaro:call(62, "open"); fibaro:call(68, "open"); fibaro:call(70, "open"); fibaro:call(72, "open"); fibaro:call(76, "open"); fibaro:call(74, "open"); fibaro:call(99, "turnOn"); end end -- Terminate scene after running fibaro:abort() Avant, cela ne fonctionnait pas sans les dernières deux lignes.
Indyana Posté(e) le 8 octobre 2016 Signaler Posté(e) le 8 octobre 2016 Je vois pas de raison pour que ta scène ne fonctionne pas. Essayes ça (pas testé, non garantie). Il faut autoriser 2 instances pour ta scène si tu veux pouvoir ouvrir les volets manuellement en appuyant sur le bouton : --[[ %% autostart %% properties %% events %% globals --]] function autostart() while true do if (tonumber(os.date('%H%M'))==0730) then openshutter(); end fibaro:sleep(1*60*1000); end end function openshutter() fibaro:call(56, "open"); fibaro:call(54, "open"); fibaro:call(22, "open"); fibaro:call(52, "open"); fibaro:call(77, "open"); fibaro:call(66, "open"); fibaro:call(80, "open"); fibaro:call(64, "open"); fibaro:call(58, "open"); fibaro:call(62, "open"); fibaro:call(68, "open"); fibaro:call(70, "open"); fibaro:call(72, "open"); fibaro:call(76, "open"); fibaro:call(74, "open"); fibaro:call(99, "turnOn"); end local sourceTrigger = fibaro:getSourceTrigger(); if(sourceTrigger["type"] == "autostart") then autostart(); elseif(startSource["type"] == "other") then openshutter(); end 1
foxchip Posté(e) le 12 octobre 2016 Signaler Posté(e) le 12 octobre 2016 j'ai le meme souci depuis samedi dernier. mes scenes ne se déclenchent plus en automatique par contre a la main, ca fonctionne
Pitou Posté(e) le 12 octobre 2016 Auteur Signaler Posté(e) le 12 octobre 2016 Pour moi ce code marche, j'ai juste remplacé startSource par sourceTrigger en bas, et hop! Merci Indyana!
gorgias Posté(e) le 26 octobre 2016 Signaler Posté(e) le 26 octobre 2016 j'ai le meme souci depuis samedi dernier. mes scenes ne se déclenchent plus en automatique par contre a la main, ca fonctionne Bonjour Foxchip, pour moi c'est pareil, mais sur la HCL. Pas trouvé de solution, malgré de multiples restaurations. Toutes les scènes "àun moment précis ne fonctionnent plus". Mais pas toujours :-(
foxchip Posté(e) le 26 octobre 2016 Signaler Posté(e) le 26 octobre 2016 j'ai solutionner mon probleme en cochant la case suivante sur la scene : Ne laissez pas l'alarme arrêter une scène tandis que l'alarme est en marche 1
Pitou Posté(e) le 26 octobre 2016 Auteur Signaler Posté(e) le 26 octobre 2016 Pour moi, ce bou de code etait le sauveur: function autostart() while true do local sourceTrigger = fibaro:getSourceTrigger();i f(sourceTrigger["type"] == "autostart") then autostart(); elseif(sourceTrigger["type"] == "other") then heaton(); end Dommage cela ne t'aide pas avec la HCL. Autre disaient que tuer les instance supplemantaires aide: if (fibaro:countScenes() > 1) then fibaro:abort() end
Messages recommandés