mprinfo Posté(e) le 5 juin 2015 Signaler Posté(e) le 5 juin 2015 il y a un bug dans la scène je viens de corriger j'ai oublier de supprimer une ligne -------------------------------------------------------------------------- -- 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 = "SoleilCoucher" -- valeurTrigger = -5 end si tu veux faire des tests sans attendre le déclenchement tu modifies comme cela -------------------------------------------------------------------------- -- 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(); -- cela permet de lancer la scène manuellement -- nomTrigger = "SoleilCoucher" -- nom de la variable couche valeurTrigger = -5 -- valeur des minutes end
mprinfo Posté(e) le 5 juin 2015 Signaler Posté(e) le 5 juin 2015 c'est normal j'ai oublier de supprimer le mode forcer donc il avait toujours 5mn Tu peux copier la scène je l'ai modifié
Peter Posté(e) le 5 juin 2015 Auteur Signaler Posté(e) le 5 juin 2015 bon je vient de dé commenter pour le faire en manuelle car elle ne démarrais pas toute seul et j'ai crée une variable avec l'id du tel mais pas de phus donc j'ai rajouter local IdTel = 185 et j'ai mis le temp de pose a 0 au lieu de 30 dit moi si je deconne quelque part merci --[[ %% 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", "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 IdTel = 185 -------------------------------------------------------------------------- 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) if Idtel ~= nil then fibaro:call(IdTel, "sendPush", Message) else fibaro:debug("Il n'y a aucun tel enregistré") end 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 = "SoleilCoucher" --valeurTrigger = -5 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 coucher(Etage, 0, -5) if tonumber(fibaro:getValue(179, "value")) == 0 then coucher("Baie 2", 0, -5) end coucher(RDC, 0, -5)
mprinfo Posté(e) le 5 juin 2015 Signaler Posté(e) le 5 juin 2015 Je suis sur mon tel donc pas facile A priori c'est ok Si tu veux tester fais comme je t'ai expliquer plu haut Envoyé de mon SM-G900F
Peter Posté(e) le 5 juin 2015 Auteur Signaler Posté(e) le 5 juin 2015 oui c'est ce que j'ai fait cela a fonctionner mais en manuel je verrais demain soir en auto et si je suis embêter je reviendrais vers toi car pour ce soir ce sera tout car la journée a était longue encore merci du temps que tu m'accorde et de ton aide merci merci
mprinfo Posté(e) le 5 juin 2015 Signaler Posté(e) le 5 juin 2015 Normalement ça devrai être bon excuse moi d'avoir bugger bon fin de soirée Envoyé de mon SM-G900F
Peter Posté(e) le 5 juin 2015 Auteur Signaler Posté(e) le 5 juin 2015 non a nos ages c'est normale non je déconne j'avais bien vue la différence entre les 2 scènes mais étant novice j'ai pas osé y toucher merci et bonne soirée a toi et au tient bey 1
Peter Posté(e) le 6 juin 2015 Auteur Signaler Posté(e) le 6 juin 2015 Hello une Question peu etre bête mais j'ai pas la reponse Le code que tu a rajouter sur la scene volet il vérifie l'état du FGK et si il est ouvert le volet ne se ferme pas et crois tu que si je referme La baie ou il,est installer apres la fermeture des volet celui la ce fermera ou pas J'ai pa pu tester hier soir car je l'ai fait en manuel Merci d'avance
mprinfo Posté(e) le 6 juin 2015 Signaler Posté(e) le 6 juin 2015 J'ai juste fais pour que si la porte et ouverte le volet ne ce ferme pas Envoyé de mon SM-G900F
Peter Posté(e) le 6 juin 2015 Auteur Signaler Posté(e) le 6 juin 2015 Est ce que le code pour que le volet se referme tout seul est difficile àfaire ou faut il modifier la scene fermeture volet
mprinfo Posté(e) le 6 juin 2015 Signaler Posté(e) le 6 juin 2015 Soir on fait une surveillance soit ob utilise un trigger dans les 2 cas il faut écrire du code Envoyé de mon SM-G900F
Peter Posté(e) le 6 juin 2015 Auteur Signaler Posté(e) le 6 juin 2015 Est ce que cela pourrais fonctionner --Fermeture volet sejour si porte fenetre fermee if J_N == "Nuit" and ( tonumber(fibaro:getValue(179, "value")) == 0 ) then fibaro:call(26, "close"); end C'est un bout de code qui vient d'un autre poste ou tu a aider chrispec (post :intégration multiple lua) Car je ne vais pas te demander de me le faire juste si cela fonctionnerait
mprinfo Posté(e) le 6 juin 2015 Signaler Posté(e) le 6 juin 2015 Oui le soucis c'est comment le declenché j'ai mon idée lol des que j'ai un moment je te fais cela Envoyé de mon SM-G900F
Peter Posté(e) le 6 juin 2015 Auteur Signaler Posté(e) le 6 juin 2015 Ok t'ai trop cool Mais le prochaine coût de main c'est moi qui fait et toi qui corrige le code comme ca sa me permettra d'apprendre A codé Encore une fois merci beaucoup de ton aide heureusement qu'il y a encore des gens qui en aide d'autre Mille merci àtoi
mprinfo Posté(e) le 6 juin 2015 Signaler Posté(e) le 6 juin 2015 De rien le code été partagé il n'y avait que quelques modif a faire Pas des soucis je te posterai un code pour que tu le corrige. Tu as des volets regarde sur le forum j'ai fais une télécommande pour volet dit moi ce que tu en penses Envoyé de mon SM-G900F
Peter Posté(e) le 6 juin 2015 Auteur Signaler Posté(e) le 6 juin 2015 Ok je regarde demain car la on vas au casino et madame attend petite sortie entre madame et moi Je vais pouvoir en profiter un peu, je regarde demain merci et bonne soirée J'espère que j'aurais de la chance ce soir (au casino) Bey
mprinfo Posté(e) le 6 juin 2015 Signaler Posté(e) le 6 juin 2015 Bon chance si tu gagnes un peu pour madame et beaucoup pour la domotique lol Envoyé de mon SM-G900F
Peter Posté(e) le 6 juin 2015 Auteur Signaler Posté(e) le 6 juin 2015 C,est sur pour la domotique et juste un peu mais très peu pour elle (non je déconné) Bey
Peter Posté(e) le 7 juin 2015 Auteur Signaler Posté(e) le 7 juin 2015 Bonjour Je vient de regarder ton module virtuel la telecommande pour volet il est excellent Je vais le mettre en place juste pour tester et étudier ton code Merci pour tout ce que tu fait sur ce forum et pour l'aide que tu apporte au néophyte que nous somme (On n'a rien gagner hier soire) mais une bonne soirée a 2
mprinfo Posté(e) le 7 juin 2015 Signaler Posté(e) le 7 juin 2015 il peut servir si tu es enfermé dehors lol volets fermer J'aurai pas le temps de te faire la motif de ton code aujourd'hui je te fais cela des que je peux
Peter Posté(e) le 7 juin 2015 Auteur Signaler Posté(e) le 7 juin 2015 Pas de souci tu le fait quand tu as du temps je c'est ce que sait surtout avec les beau jour qui arrive on n'a toujours un truc a faire dehors car en ,hiver c'est moin bien Profite z'en De toute façon la scene fonctionne bien et le volet ne ce ferme pas si le FGK est en alerte donc on peut prendre l'apéro dehors Sans ce retrouver àla rue et sa c'est grâce àtoi Encore merci pour tout Mais je ne laisse pas tomber je cherche comment faire le code moi même si je trouve je le posterais pour que tu control ci c'est ok 1
mprinfo Posté(e) le 9 juin 2015 Signaler Posté(e) le 9 juin 2015 --[[ %% globals SoleilLever SoleilCoucher %% properties 179 value --]] 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 text = {"bb"} local RDC = {"Volet Bureau", "Baie 1", "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 JourNuit = fibaro:getGlobalValue("Jour_Nuit") -------------------------------------------------------------------------- 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) if Idtel ~= nil then fibaro:call(IdTel, "sendPush", Message) else fibaro:debug("Il n'y a aucun tel enregistré") end 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) elseif (trigger['type'] == 'property') then if JourNuit == "Nuit" then if tonumber(fibaro:getValue(179, "value")) == 0 then testvaleur("Baie 2", 0) end end fibaro:abort(); else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); -- nomTrigger = "SoleilCoucher" -- valeurTrigger = -5 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 ------------------------------------------------------------------------ -- si Baie 2 fermer alors fermer volet if tonumber(fibaro:getValue(179, "value")) == 0 then coucher("Baie 2", 0, -5) end -- fin test baie 2 fermer coucher(Etage, 0, 10)
Peter Posté(e) le 9 juin 2015 Auteur Signaler Posté(e) le 9 juin 2015 hello et merci je ne m'attendais pas a ce que tu le fasse aussi vite la je suis au boulot jusqu'a 22h mais je le ferais demain et j'aurais quelque question aussi sur les modif que tu a faite en tout cas merci a toi tu est un chef
mprinfo Posté(e) le 9 juin 2015 Signaler Posté(e) le 9 juin 2015 Ben je suis tombé du lit a 6h pourtant je suis en congé aujourd'hui cela ne ma prit que 10mn lol Envoyé de mon SM-G900F
Peter Posté(e) le 9 juin 2015 Auteur Signaler Posté(e) le 9 juin 2015 Hello 10 Mn et moi cela fait 2 jour que je cherchais comment le faire Il me reste beaucoup àapprendre pour avoir ton niveau ( mais ça viendra ) Donc maintenant les questions en bas du script du met baie 2, 0, -5 àquoi sa correspond le -5 (je pense àla table coucher vraie ou faux ) puis je mettre le timer que je veux ? Apres en fin de script coucher (Etage, 0,10) tu m'as dit qu'il fallait avoir le (10, -5, -8) dans la scene jour-nuit si j'ai bien compris si je modifie la valeur par exemple (-5, 0, -10) dans jour nuit et que je fais pareil dans la scene volet cela devrait fonctionner En tout cas merci de t'ai 10mn de ton temps sur ton jour de congé grand merci àtoi
Messages recommandés