Fredric Posté(e) le 25 avril 2014 Signaler Posté(e) le 25 avril 2014 coucou @Shad, me revoilà dis donc, les exemple ne fonctionnent pas, ils créent des erreurs. luaDaySchedule:add("15:30","21", true , "setSceneEnabled" {"Weekday"} ,true) ça par exemple, ou luaDaySchedule:add("19:30","21", "" , "killScenes" {"Weekday"} ,false) ça cela marche, luaDaySchedule:add("00:28","52", "" , "killScenes" , {"All"} ,false); je trouve pas pour activer la scène...mais ça vient
Shad Posté(e) le 25 avril 2014 Auteur Signaler Posté(e) le 25 avril 2014 il manque des virgules entre setSceneEnable/killScenes et weekday à mon avis. Un jolie copiez merdez ^^.
lolomail Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 Bon je viens d'installer le scheduler en lui même, il marche l'initialisation est ok. Pour le moment je n'ai aucune action de prévue via lui, cela va venir. Petites observations: - Créer d'abord les variables - Importer les alarmes et bien penser à éditer les noms des variables dans le code - Importer le controler - Créer les deux scènes en finissant par le scheduler comme cela vous avez tout les id pour modifier le code pour les ID, moi je l'ai fais avec l’éditeur LUA du Toolkit Voila avec cet ordre c'est plus propre et on cherche pas pourquoi cela veut pas. Maintenant deux trois questions: - Il serait possible d'ajouter d'autres alarmes? Dans l'idée d'en avoir une par jour de la semaine - La scène de redémarrage ne va pas tuer toutes les scènes qui tourne sur la HC2? Je pose cette question car j'ai des scènes qui détermine le jour/nuit, qui déclenche des actions si ma barrière IR détecte quelqu'un, comment faire si cela kill toutes les scènes?
Shad Posté(e) le 26 avril 2014 Auteur Signaler Posté(e) le 26 avril 2014 La scène redémarrage sert juste àredémarrer le scheduler quand tu clique dessus et les alarmes tu en met autant que tu veux, mais avec 4 plus les fonctions qu'il y tu en fais déjàps mal.
Fredric Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 l'ordre n'a pas vraiment à y avoir puisque les deux variables qui me manqué était pas mentionné dans le tuto et donc, dans n'importe quel ordre, je ne l'aurait pas vu @lolomail - Importer les alarmes et bien penser à éditer les noms des variables dans le code- tu parle des ID des vd à renseigner dans le code du Scheduler? Le toolkit, ils sont nombreux à ne pas savoir l'installer ou l'utiliser, en ouvrant la scène on voit l'ID et en passant le curseur de la souris sur la clé (outil) dans le coin, en haut à droite des vd, on voit Egalement les ID. ensuite, les lignes de code exemple on des erreur, j'ai passé du temps hier soir à les essayer, ya des erreur et évidement, celle qui m’intéresse luaDaySchedule:add("15:30","21", true , "setSceneEnabled" , {"Weekday"} ,true) et elle ne fonctionne pas!!!
Shad Posté(e) le 26 avril 2014 Auteur Signaler Posté(e) le 26 avril 2014 Fredic, perso j'aurais plutôt mis un kill scène a la fin de ta scène des volets. Car une fois que tes volets sont fermé j'en vois plus l'intérêt. Après pour cette ligne, j'espère que tu as changer l'heure au moins en plus maintenant qu'on est samedi, weekday ne fonctionnera plus
Fredric Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 (modifié) lol, oui, évidemment que j'ai rentré mes paramètre et j'ai mis un kil dans la scène, comme tu me l'as conseillé Je fais le neuneu, mais faut ce fier au apparence luaDaySchedule:add("11:50","52", true , "setSceneEnabled" , {"All"} ,true) et j'ai l'erreur [DEBUG] 11:52:50: Scheduler is intitialising. Loading with profile group SummerHoliday. [DEBUG] 11:53:50: Initialise Alarm alarmTime1 in room Scheduler. [DEBUG] 11:53:50: Initialise Alarm alarmTime4 in room Scheduler. [DEBUG] 11:53:50: Initialise Alarm alarmTime2 in room Scheduler. [DEBUG] 11:53:50: Initialise Alarm alarmTime3 in room Scheduler. [DEBUG] 11:53:50: Catching up actions. [DEBUG] 11:53:50: Pause for ZWave to initialise. [DEBUG] 11:54:50: Event scheduled for 04/26/14 at 11:50 [ERROR] 11:54:50: line 463: attempt to concatenate global 'action' (a nil value) Modifié le 26 avril 2014 par Fredric
Shad Posté(e) le 26 avril 2014 Auteur Signaler Posté(e) le 26 avril 2014 A mon avis c est le true qi il aime pas. Je regarderais plus tard 1
Shad Posté(e) le 26 avril 2014 Auteur Signaler Posté(e) le 26 avril 2014 http://forum.fibaro.com/viewtopic.php?p=33947#33947 TIens ta réponse
lolomail Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 @lolomail - Importer les alarmes et bien penser àéditer les noms des variables dans le code- tu parle des ID des vd àrenseigner dans le code du Scheduler? Non je parle des nom des variables dans chaque virtual device d'alarme. En effet, tu importes 4 VD alarmes, mais chacun àla base contienne une référence à"alarmDay1" et à"alarmTime1", donc si tu ne fais pas la modif du code de chaque VD alarme, tu vas te retrouver avec 4 VD qui changeront les deux même variables...
lolomail Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 J'ai commencé à boser un script pour l'ouverture des volets qui serait déclenché par le scheduler. Les contraintes sont: - Ouverture à heure fixe quand le levé du soleil est trop matinal - Ouverture suivant le levé du soleil surtout en hiver - Ouverture à heure fixe pendant les vacances histoire de dormir - Gestion en semaine différente du week-end et aussi utilisation du mode summer/winterholiday du scheduler Voici script pour le moment sans les actions sur les volets --[[ %% properties %% globals --]] -- Gestion ouverture des volets [04-2014] -- Copyright © 2014 lolomail -- Définition heures actions local heure_leve_semaine = "07:20" local heure_leve_weekend = "08:30" local heure_leve_vacances = "09:00" -- Paramètres horaires pour le script local currentDate = os.date("*t"); local sunset = fibaro:getValue(1, "sunsetHour") fibaro:debug("Levé de soleil " ..sunset) if (( fibaro:getGlobalValue("scheduleGroup") == "SummerNormal" ) or ( fibaro:getGlobalValue("scheduleGroup") == "WinterNormal" )) then local periode = normal end if (( fibaro:getGlobalValue("scheduleGroup") == "SummerHoliday" ) or ( fibaro:getGlobalValue("scheduleGroup") == "WinterHoliday" )) then local periode = vacances end -- Ouverture volet suivant levée du soleil -- Si absence neutralisée, en semaine et hors vacances if (( tonumber(fibaro:getGlobalValue("Absence")) == tonumber("0") ) and (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and periode == normal ) then -- Si le levé du soleil est après heure levé semaine, hors vacances, au levé du soleil executer if ((sunrise >= heure_leve_semaine) and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == sunrise)) then fibaro:debug("Heure du levé du soleil supérieur à " ..heure_leve_semaine " et nous sommes en semaine hors vacances") -- Si le levé du soleil est avant heure levé semaine, hors vacances, à l'heure levé semaine executer elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == heure_leve_semaine) then fibaro:debug("Heure du levé du soleil inférieure à " ..heure_leve_semaine " et nous sommes en semaine hors vacances") end -- Si absence neutralisée, en week-end et hors vacances elseif (( tonumber(fibaro:getGlobalValue("Absence")) == tonumber("0") ) and (currentDate.wday == 1 or currentDate.wday == 7) and periode == normal ) then -- Si le levé du soleil est après heure levé week-end, hors vacances, au levé du soleil executer if ((sunrise >= heure_leve_weekend) and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == sunrise)) then fibaro:debug("Heure du levé du soleil supérieur à " ..heure_leve_weekend " et nous sommes en week-end hors vacances") -- Si le levé du soleil est avant heure levé week-end, hors vacances, à l'heure levé week-end executer elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == heure_leve_weekend) then fibaro:debug("Heure du levé du soleil inférieure à " ..heure_leve_weekend " et nous sommes en week-end hors vacances") end -- Si absence neutralisée et en vacances elseif (( tonumber(fibaro:getGlobalValue("Absence")) == tonumber("0") ) and periode == vacances ) then -- Si le levé du soleil est après heure levé vacances, en vacances, au levé du soleil executer if ((sunrise >= heure_leve_vacances) and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == sunrise)) then fibaro:debug("Heure du levé du soleil supérieur à " ..heure_leve_vacances " et nous sommes en vacances") -- Si le levé du soleil est avant heure levé vacances, en vacances, à l'heure levé vacances executer elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == heure_leve_vacances) then fibaro:debug("Heure du levé du soleil inférieure à " ..heure_leve_vacances " et nous sommes en vacances") end end L'idée et de mettre dans le scheduler trois ligne pour lancer le script, une à l'heure du levée du soleil, une à l'heure fixe puis une pour la partie holiday à l'heure prévue dans le script. Votre avis?
Shad Posté(e) le 26 avril 2014 Auteur Signaler Posté(e) le 26 avril 2014 Que tu te prend la tête . Dans le scheduler il prend en compte 4 différent paramètre comme je l'ai dis plus. Normal/vacance et hiver/été, il faut juste mettre les lignes ou il faut Sinon bonne idée.
lolomail Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 Je sais j'ai passé pas mal de temps juste pour cela. Mais le scheduler peut-il faire la fonction de déclencher àune heure précise si le levé du soleil est trop tôt? J'ai pas envie de voir les volets de la chambre s'ouvrir à6h du mat
amonthet Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 @Frédéric, c'est quoi ta scène 52
Shad Posté(e) le 26 avril 2014 Auteur Signaler Posté(e) le 26 avril 2014 Non, mais tu peux rajouter ton code dedans si besoin. Je te disais juste que l'heure hiver été et les vacances il pouvait le gérer. Après rien ne t'empêche de mettre un if/else
Fredric Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 @Frédéric, c'est quoi ta scène 52 @amonthet, c'est la scène de fermeture des volet àla tombé du la nuit, je sais que le résultat va intéresser
Fredric Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 http://forum.fibaro.com/viewtopic.php?p=33947#33947 TIens ta réponse Super Shad, ça venait pas de moi
lolomail Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 Shad, c'est vrai pour les vacances je dois pouvoir faire plus simple Je vais continuer a developper mon script pour la semaine et le week-end car je fais ouvrir les volets en décalés et pas tous ensemble. Bon faut aussi que je regarde pour gérer la fermeture partielle suivant le temps et la température interne pour réguler les apports thermique pour cet été et làle scheduler va servir car je pourrais lancer cette scène de régulation àune heure précise puis la faire arrêter àune autre
Fredric Posté(e) le 26 avril 2014 Signaler Posté(e) le 26 avril 2014 (modifié) J'ai modifié mon post semi-tuto page 3 de ce post pour la modif des variables dans les vd donc, la version 131 du scheduler a un bug qui à très vite était rectifier par @robmac sur le site officiel Fibaro. donc pour ceux qui utilise la version 131, il faut changer la ligne 463 de la scène de Scheduler: if reportRun then fibaro:debug( "fibaro:setSceneEnabled(" .. scene .. ",\"" .. enabled .. "\")" ) end par : if reportRun then fibaro:debug( "fibaro:setSceneEnabled(" .. scene .. ",\"" .. tostring(enabled) .. "\")" ) end pour pouvoir utiliser le paramètre : "setSceneEnabled" pour "activer" une scène, la ligne de commande dans le Scheduler est: luaDaySchedule:add("Sunset","52", true , "setSceneEnabled" , {"All"} ,true, -10) avec vos paramètre évidemment. Modifié le 26 avril 2014 par Fredric
Fredric Posté(e) le 27 avril 2014 Signaler Posté(e) le 27 avril 2014 @Shad, s'il te plait, turnOn device id 101 every day at 22:53 with catchup je comprends le code sauf "catchup" , traduction " rattrapage", ça veut dire quoi? que si l'heure est passé, il le lance quand même? Et je suppose que le false ou le true de fin de ligne correspond au paramètre de cette commande?
Lazer Posté(e) le 27 avril 2014 Signaler Posté(e) le 27 avril 2014 En effet, ça me semble être exactement ça : CATCH UP RECENT ACTIONS: <catchup> true or falseWhen restarting HC2 or editing the scene, the current state of all scheduled items is parsed so that the system plays the last action that should have executed prior to the current time. This will set all variables and devices to the state scheduled with no user interaction.By default the code parses 24hrs of events to work out current state. Mark as true or false on action add to set to catchup or not.The catch up works for devices, scenes and variables that are always controlled by the timer. The function works out what state the device, scene and variables should be set to at the time the HC2 is restarted or scene is saved and sets it to that level/value.If the device is regularly switched manually you need to decide if you want to use the function as you may be better to leave the device in the last state or off controlled by the parameters on the device.It works well for variables like isNight or timeOfDay. Good for heating and hot water as it makes sure the heating is on or off after the HC2 is restarted.
Shad Posté(e) le 27 avril 2014 Auteur Signaler Posté(e) le 27 avril 2014 Voilà, mais perso cette fonction je n'ai jamais essayer
Fredric Posté(e) le 29 avril 2014 Signaler Posté(e) le 29 avril 2014 j'ai fais plusieurs test qui on fonctionnais
Shad Posté(e) le 29 avril 2014 Auteur Signaler Posté(e) le 29 avril 2014 Bon et bien voilà, en espérant que sa en encourage plus d'un àutiliser le scheduler pour simplifier leur scène
lolomail Posté(e) le 30 avril 2014 Signaler Posté(e) le 30 avril 2014 Yep moi cela m'a permit de virer deux scènes . Et faut que je regarde de plus prêt pour le reste
Messages recommandés