Jérôme14100 1 Signaler ce message Posté(e) 26 août 2017 (modifié) Bonjour je cherche a créer une scène en Lua pour allumer et éteindre a une certaine heure de la journée ou de la nuit mon wall plug sur lequel est branché un chargeur. J'ai bien réussi a créer une scène en utilisant les blocs graphiques, mais du coup j'ai dû faire 2 scènes pour le wall-plug, un pour allumer a une certaine heure et l'autre pour éteindre a une certaine heure. Et c'est pour cela que je cherche a créer une seul scène en LUA qui remplacera les 2 scènes en blocs graphiques. Etant novice en la matière et j'aurais besoin de votre aide, et tous ce que j'ai pu trouver pour le moment c'est d'allumer et d'éteindre le wall-plug en ecrivant Fibaro:call(id, "turnOn") et fibaro:call(id, "turnOff") par contre les timers je ne trouve pas...En tous cas merci d'avance Modifié 26 août 2017 par Jérôme14100 Partager ce message Lien à poster Partager sur d’autres sites
Berale64 629 Signaler ce message Posté(e) 26 août 2017 Si tu vas dans la section des tutos pour hc2 et hcl, tu trouveras des exemples de scène en mode block qui répondent à ton problème. Une seule scène mode block suffit pour allumer et eteindre. Tu la convertis ensuite en lua et en analysant le résultat tu apprendras beaucoup. Je pense que ce te sera plus utile que de te donner la solution. Partager ce message Lien à poster Partager sur d’autres sites
Jérôme14100 1 Signaler ce message Posté(e) 26 août 2017 (modifié) Ok merci, chose que je ne savais pas est que je viens d'apprendre, c'est de convertir une scènes en bloc graphique en LUA. Il me reste plus qu'a chercher la suite de la demande. Modifié 26 août 2017 par Jérôme14100 Partager ce message Lien à poster Partager sur d’autres sites
Jérôme14100 1 Signaler ce message Posté(e) 26 août 2017 (modifié) Après la lecture de beaucoup de tuto de ce forum, j'ai enfin trouvé. j'ai créer une seul scène pour mon wall-plug au lieu de deux scènes a l'origine en utilisant les blocs graphiques. Encore merci berale24 de m'avoir mis sur la voie. Donc voici ce que donne ma scène converti en LUA : --[[%% autostart%% properties%% weather%% 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 == 4 or currentDate.wday == 6) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "03:00") ) )then fibaro:call(41, "turnOn"); setTimeout(function() fibaro:call(41, "turnOff"); end, 7200000)endsetTimeout(tempFunc, 60*1000)endif (sourceTrigger["type"] == "autostart") thentempFunc()elselocal currentDate = os.date("*t");local startSource = fibaro:getSourceTrigger();if ( startSource["type"] == "other" )then fibaro:call(41, "turnOn"); setTimeout(function() fibaro:call(41, "turnOff"); end, 7200000)endend Modifié 26 août 2017 par Jérôme14100 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 27 août 2017 Sinon, tu peux aussi regarder GEA. Le code converti des scenes bloc n'est pas toujours très propre ;-) Partager ce message Lien à poster Partager sur d’autres sites
Jérôme14100 1 Signaler ce message Posté(e) 28 août 2017 Bonjour pepite, peu tu me dire en quelques mots ce qu'apporte le GEA par rapport a une scène en bloc graphique ou en LUA, avant de lire tous ce qui peut etre lu sur le forum sur le GEA Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 28 août 2017 (modifié) GEA te permet de tout centraliser dans une seule scène, en quelques lignes de code simplifié tu peux tout faire (presque tout) sans connaitre le LUA. J'ai commence avec GEA, je n'ai jamais trop aimé les scenes bloc, GEA me parlait plus, mais c'est propre à chacun. Modifié 28 août 2017 par pepite Partager ce message Lien à poster Partager sur d’autres sites
Indyana 48 Signaler ce message Posté(e) 9 septembre 2017 (modifié) Essayes ça : --[[ %% autostart --]] -- Définit les jours pour lesquels tu veux la charge du Lundi au Dimanche : 1=charge, 0=Pas de charge local jours={1,1,0,1,0,1,0}; -- Boucle infinie while true do -- Test si le jour correspond if(jours[tonumber(os.date('%u'))]==1) then --Test l'heure de début if(tonumber(os.date('%H%M'))==0300) then fibaro:call(41, "turnOn"); fibaro:debug('TurnOn'); end --Test l'heure de fin if(tonumber(os.date('%H%M'))==0500) then fibaro:call(41, "turnOff"); fibaro:debug('TurnOff'); end end -- Attend une minute avant de retester fibaro:sleep(60*1000); end Modifié 9 septembre 2017 par Indyana Partager ce message Lien à poster Partager sur d’autres sites