Aller au contenu

Senario arriver maison


florient476

Messages recommandés

Bonjours je souhaiterais faire un scénario pour rentrer chez moi, que la tv s'allume la porte de garage s'ouvre. Et c'est là mon problème la lumière du salon et d'autres pièces ne s'allume que si il fait nuit pas quand il fait jour. Le tout dans un seul senario.

 

Help s'il vous plaît

Lien vers le commentaire
Partager sur d’autres sites

Il y a probablement une autre scène qui n'autorise l'allumage des lampes que s'il fait sombre.
Pour. 's. : il faudrait que tu en dises un peu plus sur les équipements concernés.

Envoyé de mon Nexus 5 en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

@florient476 Pour ça, il faut mettre l'instruction d'allumage de tes lampes dans une boucle conditionnelles if ... then.

 

Pour la condition proprement dite, comme dit @jojo, il faudrait plus d'infos sur ton matériel. Il y a une propriété sunset intégrée dans la box, qui correspond au coucher du soleil (même si, en pratique, il fait encore pas mal jour dehors à mon goût). Sinon, avec un détecteur de luminosité, c'est dans doute l'idéal (par exemple celui d'un FGMS-001 si tu en as un).

Lien vers le commentaire
Partager sur d’autres sites

Merci de vos réponses peut on le faire en mode blocs ou faut il absolument être en lua.  Les équipements :

-7 modules dimmer fibaro

-module virtuel freebox tv

-module on off fibaro (pour là porte de garage. 

 

Je n'arrive pas à trouvé if then en mode bloc (je ne connais rien à la programmation en lua)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

En bloc tu peux tout faire, mais quand j'ai commencé j'etais comme toi, j'ai eu du mal à appréhender le mode bloc ;-)

 

Sinon sans utiliser le LUA à proprement parlé et sans les blocs non plus, cherche GEA, tu pourras faire des scenarios complexes sans rien connaitre à la programmation (comme le mode bloc d'ailleurs..)

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

@florient476 Peux pas t'aider sur le mode bloc, j'y ai rien compris...

 

Mais si je peux me permettre un conseil, les outils de base en matière de codage sont un crayon et une feuille de papier :) Comment par construire ton scénario en langage naturel :

 

quand je rentre :

ouvrir le garage

allumer la TV

si le soleil est couché alors

    allumer lumière 1

    allumer lumière 2

    allumer lumière 3

    allumer lumière 4

    allumer lumière 5

    allumer lumière 6

    allumer lumière 7

fin de si

 

Et ensuite tu traduis ça en code :

--on suppose que la scène est lancée manuellement, vu ton matos je vois pas comment faire autrement

--Ouvrir la porte du garage
fibaro:call(id de ton module FGS, "turnOn")

--Allumer la TV
fibaro:call(id de ton VD FreeTV, "pressButton", n° du bouton d'allumage)

--si il fait nuit alors
--D'abord il nous faut l'heure du coucher du soleil, ce que la box fournit
local sunsetHour = fibaro:getValue(1,"sunsetHour")
--ensuite, l'heure actuelle
local now = os.date("%H:%M", os.time())
--ensuite, on compare
if (now >= sunsetHour) then
   --le soleil est couché, on allume
      fibaro:call(id de la lampe 1, "turnOn")
      fibaro:call(id de la lampe 2, "turnOn")
      fibaro:call(id de la lampe 3, "turnOn")
      fibaro:call(id de la lampe 4, "turnOn")
      fibaro:call(id de la lampe 5, "turnOn")
      fibaro:call(id de la lampe 6, "turnOn")
      fibaro:call(id de la lampe 7, "turnOn")
end
    

Logiquement, pour les commandes fibaro:call, il suffit que tu ailles dans la barre verticale à droite de l'écran quand tu édites une scène en mode Lua : à chaque module, tu as un menu qui se déroules dans lequel tu peux choisir la commande et cela l'insère dans ton code à l'endroit où se trouve ton curseur.

Modifié par OJC
  • Like 3
Lien vers le commentaire
Partager sur d’autres sites

Un grand merci une question en faite je voulais une temporisation de 2 seconde pour appuyer sur le bouton OK de la télécommande Freebox . je me suis servi du mode bloc pour le faire ensuite  j'ai converti en lua grâce a la fonction je la HC2 et j'ai eu ça:

 

fibaro:call(112, "pressButton", "1");
setTimeout(function()
fibaro:call(112, "pressButton", "16");
    end, 2000)  

 

 

Pourquoi 2000 je suppose que c'est pour la tempo mais pourquoi 2000 ??????

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Bien joue d'avoir converti en LUA.

 

2000 pour 2000 millisecondes, l'unité imposée par le setTimeout.

Pour lire en secondes l'usage fait que 2000 serait plutôt écrit comme ceci : 2*1000, ce qui permet de lire 2 secondes

 

setTimeout(function()
	fibaro:call(112, "pressButton", "16");
end, 2*1000)   

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...