Re: Table et condition
Publié : 25 févr. 2018, 21:50
J'avoue que j'ai galeré à pondre ça. Et le pire c'est que ce n'est qu'une phrase lolJeff a écrit :Sympa la fonction, ca devient complexe comme code
Reprenez le contrôle de votre domotique
https://easydomoticz.com/forum/
J'avoue que j'ai galeré à pondre ça. Et le pire c'est que ce n'est qu'une phrase lolJeff a écrit :Sympa la fonction, ca devient complexe comme code
D'ailleurs, je trouve le dzvent vraiment pas mal, mais je ne m'y suis pas faitpapoo a écrit : sinon un script dzvents va te permettre d'appeler l'ensemble de tes devices "contact" directement sans passer par la création d'une table
exemple ici avec PIR_*
https://easydomoticz.com/scripts-dzvent ... s-details/
Code : Tout sélectionner
string.match(next(devicechanged), '(%a+)_', 0)=='PIR'j'ai testé ton script su mon install de test.landaisbenj a écrit :Ah? Ça se discute. Il faudrait que tu argument pour que je comprenne.
Code : Tout sélectionner
if maison == 'Open' or 'On' thenCode : Tout sélectionner
local maison = nil
if maison == 'Open' or 'On' then
print('pass 0')
end
maison = 'Open'
if maison == 'Open' or 'On' then
print('pass 1')
end
maison = 'On'
if maison == 'Open' or 'On' then
print('pass 2')
end
maison = 'Off'
if maison == 'Open' or 'On' then
print('pass 3')
end
Code : Tout sélectionner
if maison == 'Open' or maison == 'On' thenAttention je rappels ma methode:papoo a écrit :n'ayant que deux portes et deux fenêtres avec des contacts je les ai ajouté pour tester.
portes Open /Closed, fenêtres On/Off j'ai donc vite fait modifier ta condition pour ajouter un or "On"
Code : Tout sélectionner
string.match(table.concat(contact),'Open')Code : Tout sélectionner
test = { 'Closed', 'Closed', 'Closed', 'Closed', 'Closed', 'Closed',}
concatenation=table.concat(test ,'; ')
print(concatenation) --Closed; Closed; Closed; Closed; Closed; Closed
maison = string.match(concatenation, 'Open')
print(maison) --nil
test = { 'Closed', 'Open', 'Closed', 'Open', 'Closed', 'Closed',}
concatenation=table.concat(test ,'; ')
print(concatenation) --Closed; Open; Closed; Open; Closed; Closed
maison = string.match(concatenation, 'Open')
print(maison) --Open
Du coup on est d'accord la dessustu souhaites savoir si tes portes sont fermées pour partir tranquille et ou mettre l'alarme (c'est du moins ce que moi je souhaiterais savoir) cela me gene de tester la condition inverse à ce que je souhaite. Mais ce n'est effectivement qu'une question de point de vue.
mais c'est pour moi ce que qui ressemble le plus à une boucle fermée en alarme. je teste si c'est fermé, quelque soit le ou les autres état disponible.
j'ai marqué ça vite fait, désolé.vil1driver a écrit :Code : Tout sélectionner
if maison == 'Open' or 'On' then
Code : Tout sélectionner
if maison == 'Open' or maison == 'On' then