jojo Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 whaw, mes vieux neurones chauffent àla fin de la lecture ... allez mprinfo, un tuto dans HC pour les nuls. Merci 1
JossAlf Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 Oula ! Suis en vacances et j'étais passé à côté du post ! Piou ! Vous êtes chaud Mprinfo j'avais même pas vu ton MP Steven ressort même le précis sur les variables j'adore ! 1
cybersquat Posté(e) le 25 avril 2015 Signaler Posté(e) le 25 avril 2015 kler un tuto, un tuto un tuto, j'ai plus de cerveau que je vois tous ces codes la
cybersquat Posté(e) le 25 avril 2015 Signaler Posté(e) le 25 avril 2015 oups j'ai du raté un truc, je pensais que tu refaisais sur les différences du coucher du soleil ou levée
cybersquat Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 gg mprinfo beau taf sérieux j'attends la final
cybersquat Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 ce soir je suis àta dispo alors
Steven Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 @mprinfo Ligne 72 ? (le message me semble pas logique ) Ligne 30 ... remplacer le else par un end (si, si, je ne suis pas fou) J'ai pas bien compris l'utilité des tableaux Lever et Coucher ? Toutes les minutes tu vas parcourir ces 2 tableaux pour comperer l'heure du lever ou coucher avec les décalages du tableau. Donc dans le cas du lever, tu vas mettre 9 fois à jour la variable ? Ou alors, il faut adapter le tableau à nos besoins et dans ce cas, c'est juste pas très clair (ou j'ai pas tout suivis). A heure précises du lever ou coucher, la variable sera mise à jour 2x : une fois par LevelCoucher(...) et une fois par traitement(...) Une idée d'amélioration serait de mettre un fibaro:sleep() plus intelligent, çad si le lever et le coucher sont dans plus de 30mn alors faire un sleep de 30mn au lieu de 1mn. Allez
Steven Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 "Pour faire des triggers" .. pas con du tout .. j'avais pas lu le code avec suffisamment d'attention. C'est une bonne idée . Au fait, j'avais pas fait attention qu'on était sur des VG bien différent .. méa culpa. A mon âge, plus les sleep son long mieux c'est Il y a pas de seek à ma connaissance, les seuls moyens sont soit de parcourir la table (bof), soit de la trier et en prendre les 2 extrémités : Exemple de code avec tri : -- Table simple de numéro --- local t1 = {10,25,30,5} table.sort(t1) for i = 1, #t1 do print(t1[i]) end -- table plus compliquée -- local t2 = { {index=10, nom="Dix"}, {index=2, nom="Deux"}, {index=5, nom="Cinq"}, {index=1, nom="Un"} } table.sort(t2, function(a, return a.index < b.index end) for i = 1, #t2 do print(t2[i].nom) end -- pour finir -- print("Min : " .. t2[1].nom) print("Max : " .. t2[#t2].nom) 1
cybersquat Posté(e) le 1 mai 2015 Signaler Posté(e) le 1 mai 2015 @mprinfo, reuuu désolé beaucoup de taf cette semaine, inventaire et tout le bazar qui va avec ! Je vais tester ta scène avec la version 2.20b je te reviens plus tard
cybersquat Posté(e) le 1 mai 2015 Signaler Posté(e) le 1 mai 2015 (modifié) @mprinfo Voici mon débug [DEBUG] 10:41:41: La box a démarré le 01/05/2015 a 10:41 [DEBUG] 10:41:41: Lever Soleil : 06:56 - Coucher Soleil : 21:26 [DEBUG] 10:41:41: Mise a jour de la Variable Globale : Jour_Nuit = Jour [DEBUG] 10:41:41: Mini Lever -55 [DEBUG] 10:41:41: Maxi Lever 60 [DEBUG] 10:41:41: Mini Lever -130 [DEBUG] 10:41:41: Maxi Lever 48 Par contre dans une scène si on veut faire commencer l'allumage d'une lumière par exemple 15 min après le soleil, c'est auto ou manuel ? PS = faut-il retirer l'ancien script avec la variable jour nuit ? et prendre que celle-ci maintenant ! Modifié le 1 mai 2015 par cybersquat
971jmd Posté(e) le 18 décembre 2015 Signaler Posté(e) le 18 décembre 2015 Pensé vous qu'il est possible de créée une VD compte-a-rebour paramétrable depuis note tablette ou smartphone un bouton : Minute un bouton : heure un bouton : validé le principe: si je valide 10mm alors dans 10mm passe une variable temps de 0 à 1 Dans GEA actuellement, si on souhaite éteindre un WP dans 10mm: GEA.add(........ , 10*60, "", {{"turnOff", id["wallplug_ch"]}}) le problème est que si on souhaite modifier ce temps de 10mm à 25mm il nous faut rentrée dans GEA et le modifier l'idée est: qu'à partir de notre téléphone ou tablette on puisse changer à tout moment ce temps -----si wallplug_ch plus de 10w alors valide le bouton de notre VD compte-a-rebour préalablement réglée su 10mm GEA.add({"power", "wallplug_ch", "10"} , -1, "", {{"VirtualDevice", <id,_module>, valide}}) -----si variable temps = 1 alors off wallplug_ch et repasse la variable Temps à 0 GEA.add({"Global", "temps", "1"} , -1, "", {{"turnOff", id["wallplug_ch"]}, {"Global", "temps", "0"}})
Berale64 Posté(e) le 18 décembre 2015 Signaler Posté(e) le 18 décembre 2015 Je pense que tu peux adapter ce VD que j'avais fait. http://www.domotique-fibaro.fr/index.php/topic/5326-coupatan/?hl=coupatan
971jmd Posté(e) le 18 décembre 2015 Signaler Posté(e) le 18 décembre 2015 merci a vous, nous somme du la bonne voie
lamparo Posté(e) le 30 novembre 2017 Signaler Posté(e) le 30 novembre 2017 Hola, a lo mejor con notepad++
Talwayseb Posté(e) le 22 novembre 2018 Signaler Posté(e) le 22 novembre 2018 Salut !!! Petite question : Comment faire pour connaitre le N° de la semaine d'une date précise : -- NumSemaineEnCours = tostring(os.date("%V")) DateMax = "31/12/" .. YYYY NumSemaineDateMax = ?
Steven Posté(e) le 23 novembre 2018 Signaler Posté(e) le 23 novembre 2018 Il y a un exemple de code ici mais c'est pas si simple : http://lua-users.org/wiki/WeekNumberInYear 1
Talwayseb Posté(e) le 23 novembre 2018 Signaler Posté(e) le 23 novembre 2018 Merci @Steven, Je vais regarder ça !!!
Fredmas Posté(e) le 12 septembre 2021 Signaler Posté(e) le 12 septembre 2021 (modifié) Le 25/03/2015 à 18:26, mprinfo a dit : L'heure Actuelle Var_Heure = os.date("%H:%M", os.time()) Je viens de me rendre compte (pas sur HC2, mais HC3/HC3L) que : print(os.date("%H:%M", os.time())) donne 19:18 et que : print(os.date("%H:%M")) donne également 19:18 Du coup, je ne comprends pas bien la différence, et surtout ce qui est le plus propre à utiliser dans nos codes... Modifié le 12 septembre 2021 par Fredmas
Lazer Posté(e) le 12 septembre 2021 Signaler Posté(e) le 12 septembre 2021 C'est pareil. Le second argument est facultatif. Si tu ne le mets pas, il prend l'heure courante. Dans ton cas, en second argument, tu as mis l'heure courante (obtenue via os.time()) donc forcément il affiche la même heure. Mais si en second argument tu avais mis n'importe quel autre heure (stockée dans une variable, résultat d'un calcul savant, etc), alors il t'aurait formaté cette heure là. 1
Fredmas Posté(e) le 13 septembre 2021 Signaler Posté(e) le 13 septembre 2021 Ok merci pour l’explication. Ca allège l’écriture
Fredmas Posté(e) le 16 septembre 2021 Signaler Posté(e) le 16 septembre 2021 Quitte à parler de Sunrisehour et Sunsethour dans ce sujet, quelqu'un sait-il où le contrôleur va-t-il cherche ces 2 informations ? Via le serveur NTP ? Via YR Weather peut-être ? Là où je souhaite en venir in fine, c'est que pour la météo par exemple, on peut modifier les sources d'information du contrôleur via un QA de type com.fibaro.weather avec ce bout de code et un changement dans les : function QuickApp:setCondition(condition) local conditionCodes = { unknown = 3200, clear = 32, rain = 40, snow = 38, storm = 666, cloudy = 30, fog = 20, } local conditionCode = conditionCodes[condition] if conditionCode then self:updateProperty("ConditionCode", conditionCode) self:updateProperty("WeatherCondition", condition) self:updateProperty("Temperature", blabla3) self:updateProperty("Wind", blabl4) self:updateProperty("Humidity", blabla5) end end A l'image des conditions météo, quid des horaires de lever et de coucher du soleil ? (si possible, si besoin, ou à défaut pour comprendre le fonctionnement) existe-il un moyen de vérifier / modifier la source de ça : api.get("/settings/info").sunriseHour et api.get("/settings/info").sunsetHour
Lazer Posté(e) le 16 septembre 2021 Signaler Posté(e) le 16 septembre 2021 L'heure courante récupérée avec os.time(), c'est celle du système (gérée par la carte mère avec son propre quartz) En tâche de fond, le démon NTP permet d'aller chercher l'heure à intervalle régulier sur les serveurs de référence sur Internet, et de remettre à le bonne heure l'horloge de la carte mère (qui dérive plus ou moins vite) C'est ainsi que ça fonctionne sur tous les ordinateurs. Les horaires de lever et coucher du soleil sont calculés par Fibaro en fonction de la localisation de la box (coordonnées latitude et longitude configurées dans les paramètres) Quel algorithme de calcul ils utilisent, je n'en sais rien.... Concernant la météo, il y a celle du système (/api/weather) qui est mise à jour à partir de la source configurée dans les paramètres : Dont soit YR Weather par défaut, soit un autre QA importé ou de notre création. Le bout de code que tu as donné, c'est pour mettre à jour les propriétés du module météo (un QA donc visible via /api/devices/ID), pas du système. Pour cela, il faut paramétrer ledit QA comme source de météo comme indiqué dans la capture d'écran juste au-dessus. Donc non, si on veut être précis, ton bout de code ne permet pas de "modifier les sources d'information du contrôleur", mais seulement d'ajouter une nouvelle source.... pour modifier la source, là encore, capture d'écran ci-dessus Bref, la météo, tu peux modifier la source à ta convenance. L'heure système et les horaires de coucher/lever du soleil, tu ne peux pas. Encore heureux. Ou alors tu modifies ton fuseau horaire et ta localisation, mais en réalité tu n'as pas changé les heures, mais juste "déplacé" la box dans l'espace.
Messages recommandés