TUTOS.EU

Trouver le nom d'un équipement sous Domoticz depuis l'IDX

Fonction LUA pour trouver le nom d'un device depuis son idx

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 Copier le code

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 Copier le code

Pour rappel, pour les script sous Domoticz c'est dans les évènements


2