Différer notification selon maintien état

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 <\>.
kassor
Messages : 20
Inscription : 21 déc. 2015, 01:57
Localisation : Lyon

Différer notification selon maintien état

Message par kassor »

Bonjour,

Je tourne un peu en rond et ne parviens pas à solutionner de manière simple mon besoin suivant :
Si la porte reste ouverte plus d'une minute, envoyer une notification par email.
Sous-entendu que si elle a été refermée dans le délai imparti, pas de notification.

J'ai tenté blocky, switch virtuel, shell script avec un sleep, mais dans tous les cas (à moins que je m'y suis mal pris), la notification fini par être envoyée, immédiatement ou en différé, sans tenir compte que la porte s'est refermée rapidement...

Un coup de pouce serait le bienvenue, surtout si il y a une façon simple et que je suis passé à côté ! :D
Dernière modification par kassor le 23 déc. 2015, 23:26, modifié 1 fois.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Différer notification selon maintien état

Message par vil1driver »

Salut,

Dans le dossier lua il y a un script demo qui fait exctement cela ;)
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
kassor
Messages : 20
Inscription : 21 déc. 2015, 01:57
Localisation : Lyon

Re: Différer notification selon maintien état

Message par kassor »

Merci vil1driver

Effectivement, je n'avais pas pensé à regarder de ce côté. Et bien que je sois à l'aise en shell scripting, je n'ai encore jamais touché au lua... donc j'avoue que j'étais resté sur des méthodes qui me soient accessibles rapidement.

Ceci dit, après avoir regardé le script de demo, ça n'a pas l'air bien compliqué, mais mon premier test n'est pas concluant, puisque je ne reçois rien.
Et je n'ai pas trace de son exécution dans le log (le fameux print du début de script). Y'a t'il un deamon spécifique pour activer lua sur le serveur ? Ou mon script est-il incorrect ?

Code : Tout sélectionner

print('lancement du script de compte a rebours pour la porte ouverte')

t1 = os.time()
s = otherdevices_lastupdate['PorteEntree']

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 = {}

t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
if (otherdevices['PorteEntree'] == 'On' and difference > 60 and difference < 600) then
        commandArray['SendNotification']='Porte ouverte depuis plus d une minute !#La porte n a probablement pas ete refermee...'

end

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

Re: Différer notification selon maintien état

Message par vil1driver »

Si tu ne l'as pas renommé c'est normal.
Demo dans son nom le désactive..
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
kassor
Messages : 20
Inscription : 21 déc. 2015, 01:57
Localisation : Lyon

Re: Différer notification selon maintien état

Message par kassor »

si si, j'ai bien recréé un fichier après avoir lu le demo

le script est le suivant :
/home/pi/domoticz/scripts/lua/porte_timer.lua

et comme je bosse sous root, je lui ai mis des droits "pi" comme les exemples présents :
-rw-r--r-- 1 pi root
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Différer notification selon maintien état

Message par vil1driver »

Les droits ne sont pas bien importants..

Par contre le nom extrêmement et en l'occurrence il est mauvais.

Renomes le en

script_time_blabla.lua

Vas lire les articles du blog sur lua ainsi que le wiki..
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
kassor
Messages : 20
Inscription : 21 déc. 2015, 01:57
Localisation : Lyon

Re: Différer notification selon maintien état

Message par kassor »

Quel bleu je fais ! (surtout que je suis souvent le premier à conseiller : RTFM lol)

Merci vil1driver , l'erreur était effectivement au niveau du nom, en renommant le script selon ton conseil ça marche à merveille !
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Différer notification selon maintien état

Message par vil1driver »

;)
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