Merci c'est top ca. Bon ca veut dire que je dois mettre en place le fichier alors.vil1driver a écrit :bon voila j'ai mis à jour modules.lua
ça donne donc ceci à l'usage
Code : Tout sélectionner
-- script de type DEVICE -- chargement des modules dofile('/home/pi/domoticz/scripts/lua/modules.lua') commandArray = {} if stateChange('la chambre') then log('chambre changement etat detecte') end
DzVent detecter le changement d'etat d'un device
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: DzVent detecter le changement d'etat d'un device
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: DzVent detecter le changement d'etat d'un device
vil1driver a écrit :bon voila j'ai mis à jour modules.lua
ça donne donc ceci à l'usage
Code : Tout sélectionner
-- script de type DEVICE -- chargement des modules dofile('/home/pi/domoticz/scripts/lua/modules.lua') commandArray = {} if stateChange('la chambre') then log('chambre changement etat detecte') end return commandArray
Tu aurais moyen de modifier pour un truc du genre:
Code : Tout sélectionner
if stateChange('la chambre') == 'On' then
log('chambre changement etat detecte')
endRpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: DzVent detecter le changement d'etat d'un device
pas de soucis c'est fait 
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: DzVent detecter le changement d'etat d'un device
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Re: DzVent detecter le changement d'etat d'un device
Bonjour à tous,
ayant le même besoin, j'ai récupérer la partie "-- vérifie s'il y a eu changement d'état" ainsi que "Users setting" que j'ai mis dans un fichier "/home/pi/domoticz/scripts/lua/modules.lua".
j'ai créer un "/home/pi/domoticz/scripts/lua/script_device_TestModule.lua" est mis
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
local debug = true -- true pour voir les logs dans la console log Dz ou false $
------------------------
-- Variables à éditer --
------------------------
local device = 'VSwitA'
--------------------------------
-- Fin des variables à éditer --
--------------------------------
commandArray = {}
if stateChange(device) == 'On' then
log('Module LUA VSwitC changement etat detecte')
end
return commandArray
J'ai une erreur dans ma log:
Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_TestModule.lua: /home/pi/domoticz/scripts/lua/modules.lua:47: attempt to call global 'creaVar' (a nil value)
N'étant un pro du codage, quelqu'un pourrait de dire pourquoi cela ne fonctionne pas ??
please help me
ayant le même besoin, j'ai récupérer la partie "-- vérifie s'il y a eu changement d'état" ainsi que "Users setting" que j'ai mis dans un fichier "/home/pi/domoticz/scripts/lua/modules.lua".
j'ai créer un "/home/pi/domoticz/scripts/lua/script_device_TestModule.lua" est mis
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
local debug = true -- true pour voir les logs dans la console log Dz ou false $
------------------------
-- Variables à éditer --
------------------------
local device = 'VSwitA'
--------------------------------
-- Fin des variables à éditer --
--------------------------------
commandArray = {}
if stateChange(device) == 'On' then
log('Module LUA VSwitC changement etat detecte')
end
return commandArray
J'ai une erreur dans ma log:
Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_TestModule.lua: /home/pi/domoticz/scripts/lua/modules.lua:47: attempt to call global 'creaVar' (a nil value)
N'étant un pro du codage, quelqu'un pourrait de dire pourquoi cela ne fonctionne pas ??
please help me
Re: DzVent detecter le changement d'etat d'un device
il ne trouve pas ton fichier module.lua ou il ne trouve pas la fonction creaVar dans ton fichier module.luaroddy a écrit :Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_TestModule.lua: /home/pi/domoticz/scripts/lua/modules.lua:47: attempt to call global 'creaVar' (a nil value)
pour mettre à jour ton fichier module.lua c'est la
https://github.com/vil1driver/lua/blob/ ... odules.lua
sinon ajoute directement la fonction dans ton script pour tester
Code : Tout sélectionner
function creaVar(name,value)
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command¶m=saveuservariable&vname='..url_encode(name)..'&vtype=2&vvalue='..url_encode(value)..'" &')
end-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: DzVent detecter le changement d'etat d'un device
Dans la fonction de vil1driver, a quoi sert 'duree' ?
Cette valeur n'est en effet pas utiliser dans la fonction.
Code : Tout sélectionner
duree = lastSeen(uservariables_lastupdate['lastState_'..device])Code : Tout sélectionner
-- vérifie s'il y a eu changement d'état
function stateChange(device)
if (uservariables['lastState_'..device] == nil) then
creaVar('lastState_'..device,otherdevices[device])
log('stateChange : création variable manquante lastState_'..device,debug)
return false
elseif (devicechanged[device] == nil) then
return false
elseif (devicechanged[device] == uservariables['lastState_'..device]) then
return false
else
duree = lastSeen(uservariables_lastupdate['lastState_'..device])
updateVar('lastState_'..device,otherdevices[device])
return otherdevices[device]
end
end Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090