chrispec Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Bonjour, J'ai 3 fenêtres et 3 portes fenêtres, tous équipés de VR. J'ai une scène blocks qui ferme les 6 VR au coucher du soleil. Elle ne tient pas en compte la position ouvert/fermé des portes fenêtres. Pour une porte fenêtre je fais une autre scène en LUA: local startSource = fibaro:getSourceTrigger(); if ( ( fibaro:getGlobalValue("Jour_Nuit") == "Nuit+10mn" ) and ( tonumber(fibaro:getValue(67, "value")) == 0 ) or startSource["type"] == "other" ) then fibaro:call(22, "close"); end Comment me conseillez vous de faire pour intégrer deux autres VR à fermer suivant la position ouvert/fermé des portes, et fermer les 3 VR de l'étage sans condition supplémentaire ? Merki à vous Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lionel57 Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Bonsoir, Voilà ce que je te propose pour la fermeture des volets des portes fenêtres Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moicphil Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Bonjour Chrispec, peut tu éditer ton message et insérer les balises "code" : <> Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 5 mars 2015 Auteur Signaler Partager Posté(e) le 5 mars 2015 Bonjour Moicphil, Quand la page erreur 503 disparaitra en local... oui Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 5 mars 2015 Auteur Signaler Partager Posté(e) le 5 mars 2015 @Lionel57 J'ai ça actuellement: Je n'arrive pas à avoir un entre deux : Une seule scène avec: 3 VR sans condition pour FGK 3 VR avec condition pour FGK Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lionel57 Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Et ça fonctionne ? Première remarque, pour les portes fenêtres, avant de fermer les volets, je vérifierais que les fenêtres sont fermées (ça serait trop bête d'être enfermé dehors à la tombé de la nuit...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 @chrispec, lionel57 a raison, verifie si tes portes-fenetres sont ouvertes ou non avant de fermer les volets , imagine que tu sirotes une petite boisson desalterante a bulle ;-) au coucher du soleil et que tes volets se ferment....et hop dehors ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Regarde sur le fofo j ai posté un script pour les volets tu pourras l adapté pour tes besoins assez facilement Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 5 mars 2015 Auteur Signaler Partager Posté(e) le 5 mars 2015 Ma première étape était de domotiser les VR. Fait. La seconde étape, créer une scène pour les fermer tous le soir. ça marche nickel. La troisième ... installer des fgk aux 3 VR de portes fenêtres. Installés. La quatrième ... objet de ce post 'besoin d'aide' ... une seule: 3 VR de l'étage sans FGK (vais pas rentrer par la fenêtre du premier ) + 3 VR aux 'portes-fenêtres' avec FGK ne se fermant que si portes fermées ... Voili Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 5 mars 2015 Auteur Signaler Partager Posté(e) le 5 mars 2015 Bonjour Chrispec, peut tu éditer ton message et insérer les balises "code" : <> Merci Désolé ... Je n'avais pas saisi Du taf, en accès distant, j'avais la V3.901. Par teamViewer ... 4.035 Et en rentrant ... erreur 503 ! Une idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Il faut que tu récupère la valeur du fgk Si fgk = fermer alors je ferme le volet Sinon la porte et ouverte Mais regarde le tuto que j'ai fais ca te doonera une idée en une seul scene j ouvre et je ferme les volets apres je peux t aider pour ajouté les fkg Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lionel57 Posté(e) le 5 mars 2015 Signaler Partager Posté(e) le 5 mars 2015 Tes contacteurs ont un statut "en alerte" si tes portes fenêtres sont ouvertes. Il faut donc les testes dans tes conditions Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 6 mars 2015 Auteur Signaler Partager Posté(e) le 6 mars 2015 Bonjour, Voici une mise à jour pas encore testée. Vous semble t-elle correcte ? Le code peut-il être optimisé ? Nuit+10mn = au couché du soleil + 10 minutes --[[ %% properties 84 value -- id FGK Salon 67 value -- id FGK Cuisine %% globals Jour_Nuit --]] local startSource = fibaro:getSourceTrigger(); if ( ( fibaro:getGlobalValue("Jour_Nuit") == "Nuit+10mn" ) or startSource["type"] == "other" ) then fibaro:call(32, "turnOn"); -- lumière entrée fibaro:call(28, "turnOn"); -- lumière cuisine fibaro:call(26, "close"); --volet séjour fibaro:call(20, "close"); -- volet Chambre fille fibaro:call(18, "close"); -- volet Chambre fils fibaro:call(16, "close"); -- volet Chambre parents end if ( ( tonumber(fibaro:getValue(84, "value")) == 0 ) --FGK salon and ( fibaro:getGlobalValue("Jour_Nuit") == "Nuit+10mn" ) or startSource["type"] == "other" ) then fibaro:call(24, "close"); --volet salon end if ( ( tonumber(fibaro:getValue(67, "value")) == 0 ) -- FGK cuisine and ( fibaro:getGlobalValue("Jour_Nuit") == "Nuit+10mn" ) or startSource["type"] == "other" ) then fibaro:call(22, "close"); -- volet cuisine end Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 6 mars 2015 Signaler Partager Posté(e) le 6 mars 2015 Suis pas un expert en LUA mais ca me semble pas mal, tu testes bien tes FGK et ta variable globale. Pour moi ca devrait fonctionner Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 6 mars 2015 Signaler Partager Posté(e) le 6 mars 2015 local J_N = fibaro:getGlobalValue( "Jour_Nuit" ); local Id = {} local IdValue = {} Id = {32, 28, 28, 20, 18, 16} -- Id des volets roulants IdValue = {"turnOff", "turnOff", "close", "close", 0, 0} -- Valeur 0=Fermer - 99 = Ouvert for i = 1,#Id do local TestName = fibaro:getName(Id) local TestValue = fibaro:getValue(Id, "value") if IdValue == "open" or IdValue == "close" or IdValue == "turnOn" or IdValue == "turnOff" then fibaro:call(Id, IdValue); else fibaro:call(Id, "setValue", IdValue); -- Commande Module end fibaro:debug("---------------------") fibaro:debug("Nom = " ..TestName) fibaro:debug("Valeur = " ..TestValue .." - Valeur demander = " ..IdValue) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 6 mars 2015 Signaler Partager Posté(e) le 6 mars 2015 tu peux mettre 0 ou close cela dépend si tu utilises "setValue" dans le call cela peut te permettre de fermer ou d'ouvrir tes volets avec la valeur que tu veux il ne te restre plus qu'a ajouter les volets et FGK que tu veux Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 6 mars 2015 Auteur Signaler Partager Posté(e) le 6 mars 2015 Merci mrinfo. Du coup quelques questions: Quelle différence entre: --[[ %% properties 84 value -- id FGK Salon 67 value -- id FGK Cuisine %% globals Jour_Nuit --]] local startSource = fibaro:getSourceTrigger(); et local J_N = fibaro:getGlobalValue( "Jour_Nuit" ); local Id = {} local IdValue = {} Pourquoi déclarer J_N ainsi ? sans l'utiliser ensuite ? Quelle différence entre: fibaro:call(Id[i], IdValue[i]); et fibaro:call(Id[i], "setValue", IdValue[i]); Et à quoi sert: fibaro:debug("---------------------") fibaro:debug("Nom = " ..TestName) fibaro:debug("Valeur = " ..TestValue .." - Valeur demander = " ..IdValue[i]) Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 6 mars 2015 Signaler Partager Posté(e) le 6 mars 2015 1 - c'est pas différent c'est complémentaire on récupère la valeur de Jour_Nuit dans J_N cela permet par exemple dans la même scénes d'ouvrir et de fermer les volets grâce a J_N regarde ce poste http://www.domotique-fibaro.fr/index.php/topic/3959-ouverture-fermeture-allumer-eteindre-volets-lumi%C3%A9re-en-une-sc%C3%A9me/ la tu récupere la source du déclancheur local startSource = fibaro:getSourceTrigger(); local Id = {} -- je déclare une table exemple : local Id = {15, 33, 44} Id[1] = 15 Id[2] = 33 Id[3] = 44 #Id = 3 -- Nombre d'objet dans la table - tu envoies une valeur comme open, close, turnOn etc.... fibaro:call(Id, IdValue); - tu envoies une valeur de 0 à 99 0 = volet fermer ou lampe fermer avec un FGD fibaro:call(Id, "setValue", IdValue); Pour le debug ca me permet de savoir quel module sont actionnés Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 6 mars 2015 Auteur Signaler Partager Posté(e) le 6 mars 2015 merci de tes explications! debug pour savoir ... tu le vois où ? Donc: fibaro:call(Id[i], "setValue", IdValue[i]); C'est comme pour une valeur de slider ... de 0 à 99%. Et pourquoi pas 100 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 6 mars 2015 Signaler Partager Posté(e) le 6 mars 2015 De 0 a 99 ca fait bien 100 Debug permet de voir ce qui ce passe lors de l execution d un script Dans la fenetre du bas tu vois les infos du debug Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 6 mars 2015 Signaler Partager Posté(e) le 6 mars 2015 Regarde avec le tookit de krikroff tu veras que un volet ouvert a une valeur de 99 Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 11 mars 2015 Auteur Signaler Partager Posté(e) le 11 mars 2015 @mprinfo Que penses tu de ce code ? Optimisable pour cuisine salon et séjour ? --[[ %% properties %% globals Jour_Nuit --]] -- Recupération de la valeur de la variable global Jour_Nuit local num = fibaro:countScenes () -- nombres d'instances en cours d'excution de la sceme fibaro:debug("Nombres de Scéme en cours = " ..num) if (num == 1) then local J_N = fibaro:getGlobalValue( "Jour_Nuit" ); fibaro:debug("Jour_Nuit = " ..J_N) -- Fermeture des volets des chambres et allumage lumieres rdc local Id = {} local IdValue = {} if J_N == "Nuit" then Id = {16, 18, 20, 28, 34} – id des volets roulants et lampes rdc IdValue = {0, 0, 0, TurnOn, TurnOn} -- Valeur 0=Fermer - 99 = Ouvert fibaro:debug("Nuit") end --Fermeture volet cuisine si porte fenetre fermee if J_N == "Nuit" and ( tonumber(fibaro:getValue(107, "value")) == 0 ) then fibaro:call(22, "close"); end --Fermeture volet salon si porte fenetre fermee if J_N == "Nuit" and ( tonumber(fibaro:getValue(115, "value")) == 0 ) then fibaro:call(24, "close"); end --Fermeture volet sejour si porte fenetre fermee if J_N == "Nuit" and ( tonumber(fibaro:getValue(111, "value")) == 0 ) then fibaro:call(26, "close"); end Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 11 mars 2015 Signaler Partager Posté(e) le 11 mars 2015 -- Recupération de la valeur de la variable global Jour_Nuit local num = fibaro:countScenes () -- nombres d'instances en cours d'excution de la sceme fibaro:debug("Nombres de Scéme en cours = " ..num) if (num == 1) then local J_N = fibaro:getGlobalValue( "Jour_Nuit" ); fibaro:debug("Jour_Nuit = " ..J_N) -- Fermeture des volets des chambres et allumage lumieres rdc local Id = {} local IdValue = {} if J_N == "Nuit" then Id = {16, 18, 20, 28, 34} – id des volets roulants et lampes rdc IdValue = {0, 0, 0, TurnOn, TurnOn} -- Valeur 0=Fermer - 99 = Ouvert VoletPorte = {22, 24, 26} -- Volet si porte fermée Detecteur = {107, 115, 111} -- detecteur d'ouverture fibaro:debug("Nuit") end for i = 1,#Id do local TestName = fibaro:getName(Id) local TestValue = fibaro:getValue(Id, "value") if IdValue == "open" or IdValue == "close" or IdValue == "turnOn" or IdValue == "turnOff" then fibaro:call(Id, IdValue); else fibaro:call(Id, "setValue", IdValue); -- Commande Module end if i <= #VoletPorte and (tonumber(fibaro:getValue(Detecteur, "value")) == 0 ) then fibaro:call(Detecteur, "close"); end end else fibaro:debug("Nombre de Scénes en cours " ..num) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 11 mars 2015 Signaler Partager Posté(e) le 11 mars 2015 Décale bien tes lignes comme j'ai fais sinon tu vas oublier un end j'ai pas tester mais je crois que c'est ok Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrispec Posté(e) le 11 mars 2015 Auteur Signaler Partager Posté(e) le 11 mars 2015 merci patron Je testerai ce soir Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés