Re: Besoin d'aide Script Blockly > Lua
Publié : 10 sept. 2019, 19:47
Reprenez le contrôle de votre domotique
https://easydomoticz.com/forum/
Code : Tout sélectionner
return {
on = {
devices = {
['Volet_Salon'] = {'at 19:00-00:00'}
}
},
execute = function(dz, item)
-- quitte tout de suite si l'interrupteur dummy est activé
if dz.devices('Absence').active then return end
if item.active then
dz.devices('Lampe').switchOn().formin(120).checkFirst()
end
end
}Du coup, l'état n'est évident que pour les interrupteurs, si tu souhaites rendre le test plus explicite, passe par '.state', par contre, vérifie bien la valeur attendue (avec an log par exemple)
- active: Boolean. Is true for some common states like 'On' or 'Open' or 'Motion'. Same as bState.
Code : Tout sélectionner
if (item.state == 'Closed') then
dz.devices('Lampe').switchOn().formin(120).checkFirst()
endJe ne comprend pas les notions de conditions juxtaposées ou imbriquéesmorninggoal a écrit : 11 sept. 2019, 09:10 Bonjour,
Merci pour cette superbe métaphore mais j'avais déjà compris ce que disait Denis...
Le probleme dans sa proposition de script lua, c'est que les conditions restent juxtaposées moi je souhaitais les imbriquées... Quant à ma derniere question sur le item.active vous avez une idée?
Code : Tout sélectionner
if otherdevices['Absence'] == 'Closed' then
if heure > '06:00' and time < '12:00' then
if otherdevices['Volet_salon'] == 'Closed' then
if otherdevices['Mouvement'] == 'Closed' then
--commandArray[#commandArray+1] = ---------------
end
end
end
endPersonnellement, je trouve que c'est plus une question de goût. Je ne vois pas vraiment de différence de complexité entre ce code et l'équivalent en dzVents.denis_brasseur a écrit : 11 sept. 2019, 19:37 D’où l’intérêt de faire du LUA avant de faire du DzVents
mais du coup c'est quoi le declencheur dans ton code si le script est de type device?denis_brasseur a écrit : 11 sept. 2019, 19:37 Et c'est cela qui t'a arrêté ?![]()
D’où l’intérêt de faire du LUA avant de faire du DzVentsCode : Tout sélectionner
if (otherdevices['Absence'] == 'Closed' if heure > '06:00' and time < '12:00' then if otherdevices['Volet_salon'] == 'Closed' then if otherdevices['Mouvement'] == 'Closed') then --commandArray[#commandArray+1] = --------------- end end end end