On ne peut pas donner un ordre en lua sous Domoticz. En tout cas je n'ai pas trouvé.
Pour piloter un équipement il vous faut son nom, ce qui n'est pas très pratique, surtout si vous voulez le changer.
La fonction getDevNameByIdx ci-dessous retournera le nom d'un équipement depuis son idx.
--Fonction trouvée sur http://easydomoticz.com/forum/viewtopic.php?f=10&t=7147
function getDevNameByIdx(devIdx)
for i, v in pairs(otherdevices_idx) do
if v == devIdx then
return i
end
end
return 0
end
Lien vers le fichier : cliquez ici
Pour illustrer, dans l'exemple ci-dessous, la fonction est utilisée pour renseigner les valeurs varDetecteurSDB et varInterrupteur
commandArray = {}
--Fonction trouvée sur http://easydomoticz.com/forum/viewtopic.php?f=10&t=7147
function getDevNameByIdx(devIdx)
for i, v in pairs(otherdevices_idx) do
if v == devIdx then
return i
end
end
return 0
end
varDetecteurSDB = getDevNameByIdx(197)
varInterrupteur = getDevNameByIdx(217)
if (devicechanged[varDetecteurSDB]) then
print("SBD : humidité : " .. otherdevices[varDetecteurSDB])
if tonumber(otherdevices[varDetecteurSDB]) > 79 then
print("SBD : humidité trop élevée, on allume la VMC")
--Si on a pas encore donné l'ordre d'allumage
if otherdevices['Variable:varVMCOrdreAllumage'] ~= 'On' then
print("SBD : allumage VMC")
commandArray[varInterrupteur]='On'
commandArray['Variable:varVMCOrdreAllumage']= 'On'
end
end
end
return commandArray
Lien vers le fichier : cliquez ici
Pour rappel, pour les script sous Domoticz c'est dans les évènements