Besoin d'aide Script Blockly > Lua
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Besoin d'aide Script Blockly > Lua
très instructif :
Le point sur les scripts lua de Domoticz
Mon premier script Lua dans Domoticz : Les fondations
Mon premier script Lua dans Domoticz : La mise en oeuvre
Le point sur les scripts lua de Domoticz
Mon premier script Lua dans Domoticz : Les fondations
Mon premier script Lua dans Domoticz : La mise en oeuvre
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
-
morninggoal
- Messages : 33
- Inscription : 06 sept. 2019, 12:13
Re: Besoin d'aide Script Blockly > Lua
merci!
Pour illustrer mes difficultés en DZvents, voici un autre exemple de script simple qui fait l'inverse de ce a quoi je m'attendais. (allume la lampe quand le volet remonte et pas quand il descend, je suppose qu'en remplacant le dernier if par "if item.state == on then..." cela marcherait mais du coup je comprends pas bien le if "item.active"....)
Pour illustrer mes difficultés en DZvents, voici un autre exemple de script simple qui fait l'inverse de ce a quoi je m'attendais. (allume la lampe quand le volet remonte et pas quand il descend, je suppose qu'en remplacant le dernier if par "if item.state == on then..." cela marcherait mais du coup je comprends pas bien le if "item.active"....)
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
}Re: Besoin d'aide Script Blockly > Lua
@morninggoal
A la piscine tu as le plongeoir (Blockly) puis le 3 mètres (lua) puis le 5 mètres (DzVents).
Ce qu'essaye de dire @denis_brasseur c'est que tu veux passer du plongeoir au 5 mètres.
Le risque est de faire un plat.
A la piscine tu as le plongeoir (Blockly) puis le 3 mètres (lua) puis le 5 mètres (DzVents).
Ce qu'essaye de dire @denis_brasseur c'est que tu veux passer du plongeoir au 5 mètres.
Le risque est de faire un plat.
-
morninggoal
- Messages : 33
- Inscription : 06 sept. 2019, 12:13
Re: Besoin d'aide Script Blockly > Lua
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?
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?
Re: Besoin d'aide Script Blockly > Lua
D'après la doc de dzVents :
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()
endDomoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Besoin d'aide Script Blockly > Lua
Je 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?
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
-
morninggoal
- Messages : 33
- Inscription : 06 sept. 2019, 12:13
Re: Besoin d'aide Script Blockly > Lua
bah dans les if je voulais faire un premier test if absence = on alors on quitte le script... et dessous un autre if...ect mais c'est bon j'ai reussi
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Besoin d'aide Script Blockly > Lua
Et c'est cela qui t'a arrêté ?
D’où l’intérêt de faire du LUA avant de faire du DzVents
12/09/2019 : retrait de 2 parenthèses laissées à tord
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
end12/09/2019 : retrait de 2 parenthèses laissées à tord
Dernière modification par denis_brasseur le 12 sept. 2019, 05:44, modifié 2 fois.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Re: Besoin d'aide Script Blockly > Lua
Personnellement, 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
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
-
morninggoal
- Messages : 33
- Inscription : 06 sept. 2019, 12:13
Re: Besoin d'aide Script Blockly > Lua
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