BP déclenchement action après 8 secondes

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
louisdj
Messages : 10
Inscription : 28 déc. 2016, 16:38

BP déclenchement action après 8 secondes

Message par louisdj »

Bonjour,

J'ai le projet d'installer un bouton poussoir qui déclenche une action si on appuie dessus 8 secondes (ou plus). J'ai bien essayé d'adapter le script de temporisation qui circule sur la toile, mais sans succès malheureusement. Je le remets tel que je l'ai adapté, si cela peut servir de base de travail et de discussion. Merci pour votre aide.

Code : Tout sélectionner

t1 = os.time()
s = otherdevices_lastupdate['test']
-- returns a date time like 2013-07-11 17:23:12

year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)

commandArray = {}
print("debut_test_tempo")

t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
if (otherdevices['test'] == 'On' and difference > 6 and difference < 700) then
	print("ça marche !")
	commandArray['lampe']='On'
end 

return commandArray
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Re: BP déclenchement action après 8 secondes

Message par deennoo »

C'est quoi comme bouton ? RF ou filaire ?
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
louisdj
Messages : 10
Inscription : 28 déc. 2016, 16:38

Re: BP déclenchement action après 8 secondes

Message par louisdj »

filaire
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: BP déclenchement action après 8 secondes

Message par vil1driver »

Salut,

Script de type DEVICE impératif
Detecter passage à On par un devicechanged['test'] == 'On'
Enregistrer dans une variable utilisateur le otherdevices_lastupdate de ce passage à On
Detecter le passage à Off
Comparer le otherdevices_lastupdate de ce passage à Off avec celui précédemment enregistré par la fonction timediference
Si > à 8, lancer l'action

Fonctionne même en radio
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
louisdj
Messages : 10
Inscription : 28 déc. 2016, 16:38

Re: BP déclenchement action après 8 secondes

Message par louisdj »

Merci beaucoup pour cette réponse. Effectivement, je vais essayer de faire comme cela. Cependant, je me demande si c'est possible de déclencher l’événement après 8 secondes précisément. Si on ne peut pas le faire en Lua, j'essayerai de regarder ce qu'on peut faire en python.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: BP déclenchement action après 8 secondes

Message par vil1driver »

Je me suis trompé.
Ce que propose ne fonctionne que si le bp est relâché..
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre