Page 1 sur 1

allumer une lampe 1 seul fois

Publié : 07 juil. 2015, 17:37
par newgin
Bonjour,

J'ai un petit problème avec mon script blocky.
Une lumière s'allume pendant 1 minute lorsque j'ouvre la porte. Le problème c'est lorsque je laisse la porte ouverte. La lumière s'allume et s'éteint en boucle. Je souhaite que la lumière s'allume pendant 1 min et s'éteint sans se rallumer même si la porte reste ouverte sans passer par lua si possible.

J'ai une variable temps, présence et luminosité extérieur.
Image

Merci de votre aide

Re: allumer une lampe 1 seul fois

Publié : 07 juil. 2015, 18:29
par vil1driver
Salut,

Je ne sais pas si ça existe en blockly, mais en lua
J'utilise la détection de changement d'état et non l'état lui même.

En gros mon script se lance quand la porte s'ouvre et non quand elle est ouverte.
Du coups la condition n'est valable qu'une seule fois.

Qu'est ce qui te gène avec lua, la syntaxe est la même à quelque chose près et permet bien plus au besoin.

Ce qui donne ça ici:

Code : Tout sélectionner

commandArray = {}
-- script_device_porte.lua

time = os.date("*t")

-- si la porte s'ouvre la nuit ou s'il fait noir, on allume la lampe pour 1 minute

if (devicechanged['la porte'] == 'Open' and (timeofday['Nighttime'] or otherdevices['lumino salon'] == 'On')) then
   commandArray['le salon']='On FOR 1'
    
   
end
return commandArray 

Re: allumer une lampe 1 seul fois

Publié : 07 juil. 2015, 18:48
par newgin
Ben si c'est possible avec blocky je refuse pas et surtout je sais pas encore utiliser lua. En tous cas merci, je vais adapté ton script :mrgreen:

Re: allumer une lampe 1 seul fois

Publié : 08 juil. 2015, 08:25
par jackslayter
fait l’effort de passer en lua , c'est le bonheur , j'utilise plus de blockly depuis un bon moment