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 <\>.
Bonjour,
Cela fait un moment que j'ai des scripts (qui fct bien) mais qui me génèrent énormément de lignes dans les logs.
Y a t'il quelque chose que je fait mal ? Puis-je les optimiser ?
Merci pour vos réponses.
commandArray = {}
for deviceName,deviceValue in pairs(otherdevices) do
if (devicechanged['Portail coulissant'] or devicechanged['Door Garage']) then
-- Coulissant ouvert seul
if (otherdevices['Portail coulissant']=='Open' and otherdevices['Door Garage']=='Closed') then
print("Coulissant ouvert seul")
end
end
return commandArray
Ton print ne devrait apparaître que lors du changement d'état de l'un de tes 2 devices, Portail coulissant ou Door Garage, et que si Portail coulissant est fermé et Door Garage ouvert.
Ton script est bien de type Trigger Device ?
commandArray = {}
for deviceName,deviceValue in pairs(otherdevices) do
if (devicechanged['Portail coulissant'] or devicechanged['Door Garage']) then
-- Coulissant ouvert seul
if (otherdevices['Portail coulissant']=='Open' and otherdevices['Door Garage']=='Closed') then
print("Coulissant ouvert seul")
end
end
end
return commandArray
Ton print ne devrait apparaître que lors du changement d'état de l'un de tes 2 devices
, Portail coulissant ou Door Garage, et que si Portail coulissant est fermé et Door Garage ouvert.
==> C'est le cas, mais plutôt de n'avoir qu'une seule ligne, j'en ai plein.
Ton script est bien de type Trigger Device ?
==> Oui
De plus, il manque un end dans ton code
==> Tu as raison je l'ai oublié dans l'exemple, car je n'ai pas mis la totalité du code.
Mon script fct parfaitement, mais, je ne comprend pas pourquoi cela génère autant de ligne. Le chgt d'état d'un device ne devrait avoir lieu qu'une seule fois pourtant.
Je n'ai pas ce problème avec un script de chgt d'état sur une variable.
Cela me pose un problème pour la sonnette de porte sur la gateway, car cela envoie de multiple commande sur la gateway et elle sonne pendant 2 min.
commandArray = {}
for deviceName,deviceValue in pairs(otherdevices) do
if (devicechanged['Portail coulissant'] or devicechanged['Door Garage']) then
-- Coulissant ouvert seul
if (otherdevices['Portail coulissant']=='Open' and otherdevices['Door Garage']=='Closed') then
print("Coulissant ouvert seul")
end
end
end
return commandArray
commandArray = {}
if (devicechanged['Portail coulissant']=='Open' and otherdevices['Door Garage']=='Closed')then
-- Coulissant ouvert seul
print("Coulissant ouvert seul")
end
return commandArray
Pour une vraie aide, il faut montrer ton script dans son intégralité
MAJ = VIDER LE CACHE(<-Clicable) /!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus modules.lua