Pitou 1 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Bobobull 4 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
Pitou 1 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
Indyana 48 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
foxchip 12 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Pitou 1 Signaler ce message Posté(e) 12 octobre 2016 Pour moi ce code marche, j'ai juste remplacé startSource par sourceTrigger en bas, et hop! Merci Indyana! Partager ce message Lien à poster Partager sur d’autres sites
gorgias 0 Signaler ce message Posté(e) 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 :-( Partager ce message Lien à poster Partager sur d’autres sites
foxchip 12 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Pitou 1 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites