mprinfo Posté(e) le 2 juin 2015 Signaler Posté(e) le 2 juin 2015 -------------------------------------------------------------------------- -- Recuperation des valeurs des variables globales -------------------------------------------------------------------------- local nomLever = "SoleilLever" --> Nom de la Variable Globale lever soleil local nomCoucher = "SoleilCoucher" --> Nom de la Variable Globale coucher soleil -- local Heure = "Heure" --> Nom de la variable globale Heure -- local JourChome = fibaro:getGlobalValue("JourChome") --> Nom de la variable Module Virtuel Hansloo local IdTel = fibaro:getGlobalValue("IdI9305") -- Recuperation de id du tel pour le push local Pause = 0 -- Temp de pause entre chaque commande de modules en seconde
Peter Posté(e) le 3 juin 2015 Auteur Signaler Posté(e) le 3 juin 2015 hello je vient de mettre ta scene avec les commentaire merci au passage mais je suis pas malin je n'arrive pas a faire les testes peut tu me dire quelle variable puis je modifier pour teste la scene car comme elle est la elle doit fonctionner au coucher du soleil avantje pouvais modifier nuit en jour avec ma scene bloc --[[ %% globals SoleilLever SoleilCoucher --]] local mesvolets ={ ["Volet Ch Parents"] = 117, ["Volet CH Lily"] = 108, ["Baie 1"] = 73, ("Baie 2"] = 75, ["Volet 3"] = 77, ["Volet Bureau"] = 28, } -- Table Zone (Groupes de modules) local RDC = {"Volet Bureau", "Baie 1", "Baie 2," "Volet 3"} local Etage = {"Volet CH Lily", "Volet Ch Parents"} -------------------------------------------------------------------------- local nomLever = "SoleilLever" --> Nom de la Variable Globale lever soleil local nomCoucher = "SoleilCoucher" --> Nom de la Variable Globale coucher soleil --local Heure = "Heure" --> Nom de la variable globale Heure --local JourChome = fibaro:getGlobalValue("JourChome") --> Nom de la variable Module Virtuel Hansloo local IdTel = fibaro:getGlobalValue("IdTel") -- Recuperation de id du tel pour le push -------------------------------------------------------------------------- local Pause = 0 -- Temp de pause entre chaque commande de modules en seconde ---------------------------------------------------------------------- -- Envoi d'un Push pour avertir que le box àdémarrer ou redémarrer -- ---------------------------------------------------------------------- function EnvoiPush(Message) fibaro:debug("Envoi Push : "..Message) fibaro:call(IdTel, "sendPush", Message) end ----------------------------------------------------------------------- -- Test si la valeur a enoyer est différente de la valeur du module ----------------------------------------------------------------------- function testvaleur(id, valeurs) local GetValeur = tonumber(fibaro:getValue(id, "value")) if valeurs ~= GetValeur then fibaro:call(id, "setValue", valeurs) --fibaro:debug(id.." - action en cours... - Valeur "..valeurs) fibaro:sleep(Pause*1000) end end ---------------------------------------------------------------------------- -- Recupération de l'id par rapport au nom de la tables mesvolets ---------------------------------------------------------------------------- function volets(zone, valeurs) if (type(zone) == "table") then local messages = "Les "..#zone.." Volets : " for i,v in ipairs(zone) do messages = (messages..v..", ") local id = mesvolets[v] if id == nil then fibaro:debug("ERREUR NOM DU VOLET - "..v.." - dans une table") EnvoiPush("ERREUR NOM DU VOLET - "..v.." - dans une table") else testvaleur(id, valeurs) end end messages = (messages.."ont été actionnés à"..valeurs.."%") EnvoiPush(messages) elseif (type(zone) == "string") then local id = mesvolets[zone] if id == nil then fibaro:debug("ERREUR DANS LE NOM DU VOLET : "..zone) EnvoiPush("EERREUR DANS LE NOM DU VOLET : "..zone) else testvaleur(id, valeurs) EnvoiPush("Le volet : "..zone.." a été actionné à"..valeurs.."%") end else fibaro:debug("Erreur......") EnvoiPush("Erreur......") end end -------------------------------------------------------------------- -- test si le déclencheur est lever ou coucher du soleil -------------------------------------------------------------------- function Test(zone, valeurs, minutes) if zone ~= nil then if minutes == nil then; minutes = 0 end volets(zone, valeurs) else fibaro:debug("Erreur dans la table ou table inéxitante") EnvoiPush("Erreur dans la table ou table inéxitante") end end -------------------------------------------------------------------- -- test Lever -------------------------------------------------------------------- function lever(zone, valeurs, minutes, Jchome) if nomTrigger == nomLever and valeurTrigger == minutes then if Jchome == JourChome or Jchome == nil then Test(zone, valeurs, minutes) end end end -------------------------------------------------------------------- -- test Coucher -------------------------------------------------------------------- function coucher(zone, valeurs, minutes, Jchome) if nomTrigger == nomCoucher and valeurTrigger == minutes then if Jchome == JourChome or Jchome == nil then Test(zone, valeurs, minutes) end end end -------------------------------------------------------------------- -- test Heure -------------------------------------------------------------------- function heure(zone, valeurs, minutes, Jchome) if nomTrigger == Heure and valeurTrigger == minutes then if Jchome == JourChome or Jchome == nil then Test(zone, valeurs, minutes) end end end -------------------------------------------------------------------------- -- Demarrage du programme -------------------------------------------------------------------------- local trigger = fibaro:getSourceTrigger() if (trigger['type'] == 'global') then nomTrigger = trigger['name'] valeurTrigger = tonumber(fibaro:getGlobalValue(nomTrigger)) print("Nom du déclencheur = ", nomTrigger, " - Minutes : ", valeurTrigger) else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); --nomTrigger = "Heure" --valeurTrigger = 6 end ------------------------------------------------------------------------- -- Ne rien modifier au dessus de cette ligne ------------------------------------------------------------------------- -- Commandes a écrit pour lever du soleil -- lever (Funtion qui traite le lever du soleil -- coucher(zone, valeur, minutes) -- exemple pour actionné les volets de la table Rue a 80% 10 minutes avant le lever -- lever(Rue, 80, -10) -- exemple pour actionné le volet "Bureau" au lever du jour -- lever("Bureau", 99, 0) -- Pour actionner un volet au coucher du soleil -- Il faut remplacer lever par coucher -- ex : coucher(Rue, 0, 20) ------------------------------------------------------------------------ -- Vous pouvez entrer vos commande en dessous de cette ligne Encore merci pour ton aide et ta patience
mprinfo Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 local RDC = {"Volet Bureau", "Baie 1", "Baie 2," "Volet 3"} local Etage = {"Volet CH Lily", "Volet Ch Parents"} la tu as créé des groupes de volets il ne faut pas que tu mets la baie qui a un détecteur de volet dans le groupe A la fin du code on va dire quel groupe on veut ouvrir ou fermer coucher(RDC, 0, -5) les volets du RDC vont recevoir la valeur 0 (0=fermer et 99 ouvert) on peut donc mettre une valeur entre 0 et 99 et le moins -5 pour 5 minute avant le coucher. il faut bien que -5 soit aussi dans la scène jours nuits. On fait de même pour le groupe de volets etage coucher(Etage, 0, -5) il doit te resté un volet qui n'est dans aucun groupe c'est celui que l'on ne doit fermer que si la porte et fermer tu teste cela pour voir si cela fonction il ne nous restera plus qu'a tester le détecteur d'ouverture pour voir si on peut fermer la fenêtre mes je préfère que tu testes déjà cela
Peter Posté(e) le 3 juin 2015 Auteur Signaler Posté(e) le 3 juin 2015 Ok,je fait les modif je t'ai fait des capture d'écran Par contre j'ai mi le coucher(RDC, 0, -5) et idem pour l'étage a la fin du code apres le dernier end Je sais pas si il fallait le mettre avant ou après et dans le debug il me dit que la scene ne peut être lancé que par une variable globale ( si j'ai bien compris c'est la scene jour_nuit ) mais comment puis-je modifier cette variable
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Hello j' ai une question comment je change la variable jour nuit avec ta scene ou le fait elle toute seul Je pensai le faire avec une scene bloc ai je bon ou pas car mes teste ne fonctionne pas mais aucun souci dans le debug Juste que la scene demarre avec une variable ci joint la capture du debug Désoler d'être chiant mais je débute encore merci de ta patience et de ton Temp
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 non pas de soucis tu n'as rien a faire journuit, leversoleil, couchersoleil, ce mette a jour automatiquement avec la scène jour nuit c'est au moment ou l'une de ces variables va changer de valeur que la scéne volets va ce lancer et voir si les conditions sont remplient pour exécuter ou pas les actions sur les modules c'est que que l'on appel un déclenchement par trigger j'ai volontairement empêcher l’exécution manuel qui n'a aucun intérêt dans cette scène Si tu regarde la scéne volet en fonction des valeurs que tu as mis dans la scéne journuit exemple -5 tu vas voir dans le débug une ligne s'ecrire avec le déclencheur et sa valeur 5 minutes avant le coucher -------------------------------------------------------------------------- -- Ne rien modifier au dessus de cette ligne ------------------------------------------------------------------------- -- Commandes a écrit pour lever du soleil -- lever (Funtion qui traite le lever du soleil -- coucher(zone, valeur, minutes) -- exemple pour actionné les volets de la table Rue a 80% 10 minutes avant le lever -- lever(Rue, 80, -10) -- exemple pour actionné le volet "Bureau" au lever du jour -- lever("Bureau", 99, 0) -- Pour actionner un volet au coucher du soleil -- Il faut remplacer lever par coucher -- ex : coucher(Rue, 0, 20) ------------------------------------------------------------------------ regarde j'ai bien marqué au dessus et non au dessus j'ai eu un doute lol c'est pas bien grave mais il est préférable de mettre après le commentaire. une fois que cela fonction on ajoutera le derniers volets avec son FKG
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Ok merci je modifie de suite et Trient au courant merci
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Oui donne moi le nom de la baie vitrée et le numéro d id du fkg je te ferai le code des que j'ai un moment il y a a pour 2mn Pour le moment je voudrais juste savoir si tes volets ce sont fermés ce soir Tu peux aussi utiliser la scène pour les ouvrir et voir ne pas ouvrir certains volets les jours fériés Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Baie 2 sont id 75 Fkg Capteur Baie 2 id 179 Je croise les doigts pour que les volet se ferme -5 Mn avant le soleil En tout cas merci
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Je ne vois pas pourquoi ils ne ce fermeraient pas si tu as bien suivi le tuto Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Il ne ce sont pas encore fermés
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 C'est pour bientôt lol coucher chez moi 21h34 Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Je vient de regarder la scene jour nuit et le debug affiche cela Par contre la scene volet fermer attend le changement de la variable
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 C'est normal la scène fonctionne correctement tu as fais un executer? Envoyé de mon SM-G900F
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Non cela ne sert a rien car la scène fonctionne j'ai bloqué pour qu'on ne puisse pas en executer plusieurs Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Oui je l'ai ,lu dans le debug La scen ke jour nuit affiche [DEBUG] 21:41:28: heure Coucher Soleil Mini : 21:10:28 - Maxi : 21:51:28 Donct il,ne devrait plus tarder àce fermer surtout que j'ai,m'y -5 dans la table coucher et lever et idem dans la scene du volet
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Fais voir le debug de la scène volets Envoyé de mon SM-G900F
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Ils ce sont fermées? Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 C'est trop cool il vienne de ce fermer ton code fonctionne nickel tous sauf la baie 2 qui a le FGK et que je n'est pas pi dans la scene des volet Trop trop cool Le debug de la scene volet OFF Ne regarde pas le phus j'ai pas pris le Temp de trouver l'id avec le toolkit de krikroff
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Lol tu as une erreur dans la scène Mais ca fonctionne quand même Envoyé de mon SM-G900F
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Peux tu me donnes le code de ta scène volets Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Peut tu me confirmer que si je veut que les volet se ferme ou s'ouvre au coucher ou au lever du soleil Il faut que je modifie les Tcoucher et les Tlever et je met le 0 si je veux que ça fonctionne en suivant le soleil Ai je bien compris
mprinfo Posté(e) le 4 juin 2015 Signaler Posté(e) le 4 juin 2015 Pas besoin de mettre 0 je l inclus automatiquement dans les 2 tables et lorsque c'est 0 je mets a jours la vg Jour_Nuit j'ai passé un peut de temps pour faire cette scène afin de l'optimiser au mieux et de simplifier son utilisation pour la partager Envoyé de mon SM-G900F
Peter Posté(e) le 4 juin 2015 Auteur Signaler Posté(e) le 4 juin 2015 Je te poste le code demain au travail car mon portable fait encore des siennes il me met un bleue screen au demarrage Portant j'avais bien réinstaller Windows et Ubuntu dessus mais depuis hier soir il déconne et sur l'iPad dur de mettre le code entre balise
Messages recommandés