Page 2 sur 2
Re: Zwave et DiO
Publié : 11 janv. 2016, 10:35
par rimram31
Tu peux peut-être essayer un truc comme ça:
Code : Tout sélectionner
commandArray = {}
if (devicechanged['Capteur de porte'] == 'On') then
print ('Ok capteur porte')
if (otherdevices['Inter entree'] == 'Off') then
print ('Allumage 30mn inter entree')
commandArray['Inter entree']='On FOR 30'
end
end
return commandArray
Et en t'écrivant ça, je suis en train de penser que tu pourrais aussi essayer une "simple" scène domoticz. Une scène déclenchée par ton capteur de porte et qui allumerait ton inter avec délai d'extinction. Pas de script, tout peut se faire via le GUI
Re: Zwave et DiO
Publié : 11 janv. 2016, 11:54
par Neutrino
Bonjour,
Le problème est peut-être tout simple, en LUA, j'ai un contact de porte qui me renvoie 'Open' ou 'Closed' au lieu de 'On' ou 'Off'.
Essaie de voir avec un print ce que renvoie devicechanged['Capteur de porte'].
Re: Zwave et DiO
Publié : 11 janv. 2016, 13:37
par vil1driver
+1
pareil ici..
comme quoi jouer avec des prints permet de voir ce qu'il se passe...
Code : Tout sélectionner
-- script_device_porte.lua
time = os.date("*t")
t1 = os.time()
s = otherdevices_lastupdate['mv salon']
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)
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
commandArray = {}
-- si la porte s'ouvre la nuit ou s'il fait noir et qu'aucun mouvement n'est détecté dans le salon depuis plus de 10 minutes, on allume la lampe
if (devicechanged['la porte'] == 'Open' and (timeofday['Nighttime'] or otherdevices['lumino salon'] == 'On') and difference > 600) then
commandArray['le salon']='Set Level 60'
end
return commandArray
Re: Zwave et DiO
Publié : 11 janv. 2016, 14:27
par leraver
Open.... ca semble normale , ok je teste.
Et cela pourrais meme etre la meme chose avec mon capteur de mouvement Fibaro qui ne dirait pas on mais "motion"...
Je teste de suite...
Re: Zwave et DiO
Publié : 11 janv. 2016, 14:56
par leraver
Mais une question un peu hors sujet:
Comment peux on savoir l'info qui est retourné par un capteur?
Re: Zwave et DiO
Publié : 11 janv. 2016, 15:00
par vil1driver
print print print
fallait dire que tu ne comprenais pas les réponses lol...
dans ton code tu mets
ou
et tu verras dans les logs le résultat
également comme ceci
Code : Tout sélectionner
print('etat de mon capteur de porte: ' .. otherdevices['Capteur de porte'])
ou
Code : Tout sélectionner
etat = otherdevices['Capteur de porte']
print('etat de mon capteur de porte: ' .. etat)
Re: Zwave et DiO
Publié : 15 janv. 2016, 18:22
par leraver
bon bin rien
avec ton code vil1
j'ai ca comme erreur
Code : Tout sélectionner
Error: EventSystem: /home/pi/domoticz/scripts/lua/script_device_porte.lua:7: bad argument #1 to 'sub' (string expected, got nil)
enfin voila le code que j'ai mis
Code : Tout sélectionner
-- script_device_porte.lua
time = os.date("*t")
t1 = os.time()
s = otherdevices_lastupdate['mv salon']
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)
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
commandArray = {}
-- si la porte s'ouvre la nuit ou s'il fait noir , on allume la lampe
if (devicechanged['Capteur_porte'] == 'Open' and (timeofday['Nighttime'] == 'On') and difference > 600) then
commandArray['inter_entree']='on'
end
return commandArray
Re: Zwave et DiO
Publié : 15 janv. 2016, 18:37
par vil1driver
normal
le message d'erreur indique que l'erreur se trouve ligne 7
et qu'il attends une chaîne et qu'il n'obtient rien..
et pour cause
'mv salon' , c'est le nom de mon capteur de mouvement... que tu ne dois pas avoir
je te montrais mon code en entier mais c'était juste pour que tu vois que j’utilisais 'Open' et non 'On'
pas pour que tu l'utilises telquel...
il faut essayer de comprendre ce qu'il fait et n'utiliser que ce qui peut t'être utile.
sinon tu as une autre erreur de code à la fin, 'On' ou 'Off' prennent toujours une majuscule
et pour info, j'utilise le capteur de mouvement pour que la lampe ne s'allume pas si je sors de chez moi.. en gros je vérifie qu'il n'y ai personne depuis un moment avant de dire que si la porte s'ouvre, j'allume..
Re: Zwave et DiO
Publié : 15 janv. 2016, 19:26
par leraver
Bon je viens jouer en reprenant le code du demo
En modifiant 1 truc apres l'autre, et en utilisant ta commande print
Et... ca marche
Code : Tout sélectionner
-- script_device_porte.lua
--le capteur porte envoi open ce qui enclanche l'inter_entree pendant 1 min
print('script porte en cours')
commandArray = {}
if (devicechanged['Capteur_porte'] == 'Open' and otherdevices['inter_entree'] == 'Off') then
commandArray['inter_entree']='On FOR 1'
--commandArray=['inter_entree']='Off AFTER 10'
end
print(devicechanged['Capteur_porte'])
return commandArray