Page 1 sur 1
Remplacer for par after
Publié : 12 avr. 2020, 10:11
par Wolfen38
Salut,
J'utilisais pas mal le for, mais avec un résultat pas toujours top, et de pire en pire.
Sur plusieurs script, j'ai pu remplacer mon on for par un off after...
Mais la, je n'y arrive pas, j'ai ca, et ca ne fonctionne pas :
Code : Tout sélectionner
if ((devicechanged['Interrupteur Emerik'] == '3 Click' and otherdevices['Virtuel Emerik'] == 'Off')) then
commandArray['Sonoff-Emerik']='On'
commandArray['Sonoff-Emerik']='Off AFTER 120'
end
Des idées ?
Merci.
Re: Remplacer for par after
Publié : 12 avr. 2020, 10:42
par vil1driver
Re: Remplacer for par after
Publié : 12 avr. 2020, 11:10
par Wolfen38
Merci, mais du coup c'est quelle syntaxe la bonne ?
la 1 :
Code : Tout sélectionner
commandArray[1]= {['Bureau.Prise.3 (Lampadaire)'] = 'On'}
commandArray[2]= {['Bureau.Prise.3 (Lampadaire)'] = 'Off AFTER 60'}
ou la 2
Code : Tout sélectionner
commandArray[#commandArray + 1] = {['Bureau.Prise.3 (Lampadaire)'] = 'On' }
commandArray[#commandArray + 1] = {['Bureau.Prise.3 (Lampadaire)'] = 'Off AFTER 60' }
Re: Remplacer for par after
Publié : 12 avr. 2020, 11:29
par boum
La 2 marchera dans tous les cas. La 1ere est sûre uniquement si ce sont les seules commandes passées (tu risques d'écraser des commandes précédentes dans le tableau).
À titre indicatif, dzVents est peut-être plus simple dans ce cas :
Code : Tout sélectionner
return
{
on = { devices = { 'Interrupteur Emerik' }},
execute = function(domoticz, item)
if (item.status == "3 Click") and not domoticz.devices('Virtuel Emerik').active then
local sonoff = domoticz.devices('Sonoff-Emerik')
sonoff.cancelQueuedCommands()
sonoff.switchOn().checkFirst()
sonoff.switchOff().afterSec(120) -- ou afterMin(2)
end
end
}
Re: Remplacer for par after
Publié : 12 avr. 2020, 11:42
par Wolfen38
Merci de ta réponse.
J'ai envie d'essayer le dzvent, mais put---, que ca m'a l'air compliqué a comprendre comme language...
Re: Remplacer for par after
Publié : 12 avr. 2020, 13:07
par Neutrino
C'est juste du lua, mais adapter à Domoticz.
Par contre, il faut quelques notions de programmation orientée objet.