jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 en tout cas si c'est un bug, faut le garder celui-là je pensais pas dire ça un jour...
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 La doc porte à confusion... le seul opréateur est "==" (du coup en mode trigger) Sunrise and sunset For sunrise and sunset, the interpretation of conditions fields is as follows: type – takes value "date". property – takes one of two values: "sunrise" – sunrise, "sunset" – sunset. value – time in minutes before/after sunrise/sunset: Values lower than 0 indicate how many minutes before sunrise/sunset the scene should start. Value 0 means that the scene should take place at sunrise/sunset. Values greater than 0 indicate how many minutes after sunrise/sunset the scene should start. operator – takes value "==". isTrigger – is the condition also a trigger: true – is a trigger (recommended) false – is only a condition (default)
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 à l’instant, Krikroff a dit : (du coup en mode trigger) aaaaahhhhhhhh la blague ! je sais pas !
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 comme tu disais un jour, faut relativiser, extrapoler cette doc... j'ajouterai : la bouffer, la digérer, philosopher dessus, la tester, la contre tester, ... en même temps, je sais qu'écrire des documents n'est pas une chose facile...
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 Et encore moins un moteur de règles ... 1
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 ah ! étrange, ce soir vers 19h30, la scène n’était plus triggée, alors que on était pas encore au sunset. j’ai vérifié dans l’API, le sunsetHour était à 20:04... j’ai ajouté un wallplug dans les trigger pour pouvoir la déclencher manuellement, et bien elle voulait pas. c’est comme si elle avait un sunset différent de l’API !!!
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 Hum... comment vérifier cela Envoyé de mon iPhone en utilisant Tapatalk
jjacques68 Posté(e) le 4 avril 2020 Auteur Signaler Posté(e) le 4 avril 2020 j’aimerai aussi le vérifier... je sais pas comment, mais je sens que ces conditions vont finir en code...
Krikroff Posté(e) le 4 avril 2020 Signaler Posté(e) le 4 avril 2020 J’allais le dire... je ne me serais pas la tête je pense Envoyé de mon iPhone en utilisant Tapatalk 1
mprinfo Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 moi je rencontre un bug voici le code : -- DÉCLARATIONS (Conditions/Déclencheurs) { type = "date", property = "cron", operator = "matchInterval", value = { date = { "0", "12", "5", "4", "*", "2019" }, interval = 90 -- 1mn 30s }, isTrigger = true } -- ACTIONS fibaro.debug("Scene1", "Time : "..os.date("%M mn-%S s")) resultat : [28.05.2020] [09:54:33] [DEBUG] [SCENE1]: Time : 54 mn-33 s [28.05.2020] [09:57:00] [DEBUG] [SCENE1]: Time : 57 mn-00 s [28.05.2020] [10:00:00] [DEBUG] [SCENE1]: Time : 00 mn-00 s [28.05.2020] [10:03:00] [DEBUG] [SCENE1]: Time : 03 mn-00 s [28.05.2020] [10:06:00] [DEBUG] [SCENE1]: Time : 06 mn-00 s pour 3mn pour 90s ? si je mets 10 s j'ai un interval de 1 mn autre exemple avvec 2 mm { type = "date", property = "cron", operator = "matchInterval", value = { date = { "0", "12", "5", "4", "*", "2019" }, interval = 120 }, isTrigger = true } resultat : [28.05.2020] [10:09:10] [DEBUG] [SCENE1]: Time : 09 mn-10 s [28.05.2020] [10:10:00] [DEBUG] [SCENE1]: Time : 10 mn-00 s [28.05.2020] [10:12:00] [DEBUG] [SCENE1]: Time : 12 mn-00 s [28.05.2020] [10:14:00] [DEBUG] [SCENE1]: Time : 14 mn-00 s [28.05.2020] [10:16:00] [DEBUG] [SCENE1]: Time : 16 mn-00 s [28.05.2020] [10:18:00] [DEBUG] [SCENE1]: Time : 18 mn-00 s [28.05.2020] [10:20:00] [DEBUG] [SCENE1]: Time : 20 mn-00 s [28.05.2020] [10:22:00] [DEBUG] [SCENE1]: Time : 22 mn-00 s [28.05.2020] [10:24:00] [DEBUG] [SCENE1]: Time : 24 mn-00 s On voit que la condition est toujours exécuter à 0s après le lancement
Krikroff Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 60 secondes est le minimum de ce que je comprends, 90 cela devrait fonctionner donc...
mprinfo Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 @krikroff il faut un multiple de 60 pour que cela fonctionne Si tu lances une scène à 8h 01mn 20s avec 2mn d'intervalle Le déclenchement ce fera à 8h03mn00s Donc moins de 2mn Après ce sera à bon puisque les déclenchement ce feront x mm 00s je pense que les déclencheur sont lu 1 fois par minute lorsque la minute change donc a 0s ce qui est logique si on regarde la déclaration cron { type = "date", property = "cron", operator = "match", value = {"30", "12", "13", "6", "1", "2018"}, isTrigger = true } on voit qu'il n'y a pas de secondes le bug ce situe au niveau de interval qui devrait être en minute et non pas en seconde Envoyé de mon BLA-L29 en utilisant Tapatalk
mprinfo Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 a priori mon raisonnement est juste les déclencheurs sont exécuter lors du changement des minutes petit test simple { type = "date", property = "cron", operator = "match", value = {"*", "*", "*", "*", "*", "*"}, isTrigger = true } -- action fibaro.debug("Scene1", "Time : (1 mn) "..os.date("%M mn-%S s")) resultat : [28.05.2020] [11:27:44] [DEBUG] [SCENE1]: Time : (1 mn) 27 mn-44 s [28.05.2020] [11:28:00] [DEBUG] [SCENE1]: Time : (1 mn) 28 mn-00 s [28.05.2020] [11:29:00] [DEBUG] [SCENE1]: Time : (1 mn) 29 mn-00 s [28.05.2020] [11:30:00] [DEBUG] [SCENE1]: Time : (1 mn) 30 mn-00 s donc si on lance la scène en manuel on aura des secondes ce qui est normal par contre si on attend que la scène soit exécuter par les déclarations les secondes seront toujours à 0 pour moi interval est calculer de la manière suite a partir du cron Minutes = MinuteActuelle Minutes = Minutes + interval puis le cron value = {Minutes , "*", "*", "*", "*", "*"}
mprinfo Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 Le 04/04/2020 à 11:15, Barelle a dit : Ben non, à minuit, on est au milieu de la nuit . Donc entre le coucher du soleil et minuit, c'est la nuit, OU, entre minuit et le lever du soleil. Une seule de ces conditions suffit. Pour résoudre ce problème c'est très simple vu que la nuit est a cheval sur 2 jours trop chiant a guérer la solution Par défaut il fait nuit si sunrise >= 0 et sunset <= 0 il fait jour
Barelle Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 Ouais , sauf que, sunrise est toujours positif et sunset jamais négatif ! C'est plutôt le timestamp courant qui doit être compris entre les deux
mprinfo Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 @barelle exact moi j'utilise cette fonction comme tu dis avec un timestamp ---------------------------------------------------------------------- -- Vérification de l'heure et mise à jour -- -- de la variable si nécessaire -- ---------------------------------------------------------------------- function UpdateJourNuit(NomVG, heure) local valeurs = "Nuit" -- test si on est le jour ou la nuit if (heure >= leverSoleil) and (heure < coucherSoleil) then valeurs = "Jour" end fibaro:debug(string.format("Lever Soleil : %s - Coucher Soleil : %s", leverSoleil, coucherSoleil)) UpdateVG(NomVG, valeurs) -- mise a jour de la VG Jour_Nuit end
Barelle Posté(e) le 28 mai 2020 Signaler Posté(e) le 28 mai 2020 Nous sommes d'accord , mais ma réponse citée précédemment concernait la nécessité d'un Ou au lieu d'un ET...
Messages recommandés