Script alarme

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 <\>.
seblang
Messages : 116
Inscription : 27 déc. 2015, 11:06

Script alarme

Message par seblang »

Bonjour

je cherche un peu d'aide pour créer un script lua afin de gérer mon alarme.
Alors voila une explication :

quand je passe mon badge devant le tagreader '( 'tagreader=On), le script vérifie l’état des ouvertes.....en fonction de cela 2 solutions :

Si les ouvertures sont fermés ['Scene:capteurhorsporte']='Off', annonce activation en cour, attente 10s puis activation du switch [alarme etat] = 'On' , annonce alarme active.

Si les ouvertures ne sont pas fermés ['Scene:capteurhorsporte']='On', annonce ouverture non fermé, repasser le tagreader a l'initial ( 'tagreader=Off).

Quand l'alarme est active, si l'une des ouvertures passe a 1 ( ['Scene:capteuravecporte']='On'), une annonce est faite que l'alarme est active et on attends 10 secondes. Au bout des 10s deux cas de figures :

si tagreader=Off, message alarme arrêté et passage a [alarme etat] = 'Off'

Si tagreader=On, declenchement de la sirene
Voila pour cela je pense passer par un script mais je sais pas si un seul scripts pour tout ou plusieurs petits.....votre avis ??
J'ai un début de script mais 'y connais rien:

Code : Tout sélectionner



#si le switch alarme clavier passe a on et que la scene capteurhorsporte est a on => envoie message alerte et passage a off du clavier


commandArray = {} 
if ((devicechanged['tagreader'] == 'On') and  otherdevices['Scene:capteurhorsporte']='On')) then
commandArray['OpenURL']='192.168.1.7:8080/api/rest/speech/tts?text=,%20attention,%20fenaitr;%20ouverte;%20pasactivationalarme'
commandArray['tagreader']='Off' 
end
return commandArray


#si le switch alarme clavier passe a on et que la scene capteurhorsporte est a off, envoi message vocal puis attente de 10s, puis annonce alarme active.passage on switchstatusalarme =On


commandArray = {} 
if ((devicechanged['tagreader'] == 'On') and  otherdevices['Scene:capteurhorsporte']='Off')) then
commandArray['OpenURL']='192.168.1.7:8080/api/rest/speech/tts?text=,%20attention,%20activation;%20alarme;%20encours'

#depart compteur temps
function timedifference (s)
 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)
 t1 = os.time()
 t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
 difference = os.difftime (t1, t2)
 return difference
end

timeon = 10
difference = timedifference(otherdevices_lastupdate[tagreader])
if (difference > timeon and difference < (timeon + 2)) then
tempdiff = tostring(difference)

commandArray[alarme etat] = 'On'
commandArray['OpenURL']='192.168.1.7:8080/api/rest/speech/tts?text=,%20attention,%20alarme;%20active'
end
return commandArray


#Alarme si intrusion

si le switch alarme clavier est on et que la scene capteuravecporte passe a Onf, envoi message vocal puis attente de 10s, puis switchstatusalarme passe a Off rien sinon activation sirene +envoie message

commandArray = {} 
if ((devicechanged['Scene:capteurhorsporte']='On' and  otherdevices['alarme etat'] == 'On')) then
commandArray['OpenURL']='192.168.1.7:8080/api/rest/speech/tts?text=,%20attention,%20alarme;%20active'

#depart compteur temps
function timedifference (s)
 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)
 t1 = os.time()
 t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
 difference = os.difftime (t1, t2)
 return difference
end

timeon = 10
difference = timedifference(otherdevices_lastupdate['Scene:capteurhorsporte'])
if (difference > timeon and difference < (timeon + 2)) then
tempdiff = tostring(difference)

if ((device['tagreader'] == 'Off') then
commandArray['OpenURL']='192.168.1.7:8080/api/rest/speech/tts?text=,%20alarme,%20arrete'
commandArray[alarme etat] = 'Off'


if ((device['tagreader'] == 'On') then
commandArray[sirene] = 'On'
end
return commandArray

J'ai besoin d'un peu d'aide, merci de votre retour
seb
Répondre