-
Compteur de contenus
9 579 -
Inscription
-
Dernière visite
-
Jours gagnés
59
Tout ce qui a été posté par pepite
-
Topic unique Aeon Labs - Zw100 "multisensor6" - Capteur 6 En 1
pepite a répondu à un(e) sujet de Moicphil dans Aeon Labs / Aeotec
Recu pour moi mais pas encore installe, Comme @nico, les UV ne m'interessent pas plus que ca. -
Au bout du 452 645 ème essai ;-) Peux tu mettre le debug stp ? il ya tout de même des choses pas top ;-) bien que cela fonctionne.. Le code n'est pas ecrit pour lire dans des tables pour l'instant, pas du tout optimise.. Les experts du forum en lisant mon code vont s'arracher les cheveux ;-) Donc tu ne pourras pas tel quel, il faudra rajouter une variable pour le nouveau RGB, puis une nouvelle Variable Globale RGB Previous et enfin des lignes pour recupere les valeurs precedentes et les remettre apres. Maintenant que cela fonctionne, vais tenter de le faire pour plusieurs RGB, et1 variable serait plus simple. et non X variables pour X RGB tel qu'actuellement. Peux plus "jouer" auj, mais demain certainement un peu plus de temps.
-
normal a priori avec les lignes de comparaison bugguees, la 84, j'essaie autre chose. Et comme ceci ? Essai num 586 342 lol --[[ %% properties 208 value %% globals --]] local id_master = 239 -- ID des Master (ID Master) local id_slaves = 545 -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true -- Debug ------ local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = tonumber(fibaro:getGlobalValue(var_global_master)) local VGSlave = tonumber(fibaro:getGlobalValue(var_global_slave)) -------- fibaro:debug("Démarrage du script : " ..currentdate) function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master : " ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master : " ..ProgMaster) fibaro:debug("Couleur Slave : " ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave : " ..ProgSlave) end -- Affectation PROG aux VG fibaro:debug("Affectation PROG aux variables") fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) fibaro:debug("Valeur VGMaster : " ..VGMaster) fibaro:debug("Valeur VGSlave : " ..VGSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 fibaro:debug("RGB sur Programme : " ..prog_rgb) fibaro:call(id_master, "startProgram", prog_rgb) fibaro:call(id_slaves, "startProgram", prog_rgb) -- Tempo de 15 secs fibaro:debug("tempo de 15 secs") fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Master") if ((result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") and (tonumber(VGMaster) > 0)) then fibaro:call(id_master, "startProgram", VGMaster) fibaro:debug("Prog : " ..VGMaster.. " sur " ..id_master) else fibaro:call(id_master, "setColor", result[1], result[2], result[3], result[4]) fibaro:debug("Couleur sur : " ..id_master) end -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Slave") if ((resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0") and (tonumber(VGSlave) > 0)) then fibaro:call(id_slaves, "startProgram", VGSlave) fibaro:debug("Prog : " ..VGSlave.. " sur " ..id_slaves) else fibaro:call(id_slaves, "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) fibaro:debug("Couleur sur :" ..id_slaves) end --Reinitialisation des variables fibaro:debug("Réinitialisation des variables") fibaro:setGlobal(var_global_master, "0") fibaro:setGlobal(var_global_slave, "0") fibaro:debug("Valeur après réinitialisation VGMaster :" ..VGMaster) fibaro:debug("Valeur après réinitialisation VGSlave :" ..VGSlave)
-
Salut @Did, Tu as raison et c'est avec plaisir que je le fais. Plantage sur des comparaisons, une chaine avec un nombre, ca ne risquait pas de fonctionner, enfin c'est ce que je comprends ;-) Modif : comparaison avec tonumber ;-) --[[ %% properties 208 value %% globals --]] local id_master = 239 -- ID des Master (ID Master) local id_slaves = 545 -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true -- Debug ------ local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = tonumber(fibaro:getGlobalValue(var_global_master)) local VGSlave = tonumber(fibaro:getGlobalValue(var_global_slave)) -------- fibaro:debug("Démarrage du script : " ..currentdate) function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master : " ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master : " ..ProgMaster) fibaro:debug("Couleur Slave : " ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave : " ..ProgSlave) end -- Affectation PROG aux VG fibaro:debug("Affectation PROG aux variables") fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) fibaro:debug("Valeur VGMaster : " ..VGMaster) fibaro:debug("Valeur VGSlave : " ..VGSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 fibaro:debug("RGB sur Programme : " ..prog_rgb) fibaro:call(id_master, "startProgram", prog_rgb) fibaro:call(id_slaves, "startProgram", prog_rgb) -- Tempo de 15 secs fibaro:debug("tempo de 15 secs") fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Master") if ((result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") and (tonumber(VGMaster) > "0")) then fibaro:call(id_master, "startProgram", VGMaster) fibaro:debug("Prog : " ..VGMaster.. " sur " ..id_master) else fibaro:call(id_master, "setColor", result[1], result[2], result[3], result[4]) fibaro:debug("Couleur sur : " ..id_master) end -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Slave") if ((resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0") and (tonumber(VGSlave) > "0")) then fibaro:call(id_slaves, "startProgram", VGSlave) fibaro:debug("Prog : " ..VGSlave.. " sur " ..id_slaves) else fibaro:call(id_slaves, "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) fibaro:debug("Couleur sur :" ..id_slaves) end --Reinitialisation des variables fibaro:debug("Réinitialisation des variables") fibaro:setGlobal(var_global_master, "0") fibaro:setGlobal(var_global_slave, "0") fibaro:debug("Valeur après réinitialisation VGMaster :" ..VGMaster) fibaro:debug("Valeur après réinitialisation VGSlave :" ..VGSlave)
-
@jerome, mets le watchdog de @Lazer si tu peux moi ca fait longtemps que je n'ai pas reboote GEA
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
lol, le boulet, j'avais oublie le "Then" des "elseif" ;-) Ok ca eteint aussi, donc pas besoin des "elseif", ceci doit fonctionner en changer les IF : Si les couleurs sont = 0,0,0,0 ET valeur du PROG > 0 ALORS remettre le programme de la variable globale SINON remettre les couleurs 0,0,0,0 ca derait l'etiendre enfin je pense Teste, ca sent bon la fin ;-) lol --[[ %% properties 208 value %% globals --]] local id_master = 239 -- ID des Master (ID Master) local id_slaves = 545 -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true -- Debug ------ local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = tonumber(fibaro:getGlobalValue(var_global_master)) local VGSlave = tonumber(fibaro:getGlobalValue(var_global_slave)) -------- if debug then fibaro:debug("Démarrage du script : " ..currentdate) end function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master :" ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master :" ..ProgMaster) fibaro:debug("Couleur Slave :" ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave :" ..ProgSlave) end -- Affectation PROG aux VG fibaro:debug("Affectation PROG aux variables") fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) fibaro:debug("Valeur VGMaster :" ..VGMaster) fibaro:debug("Valeur VGSlave :" ..VGSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 fibaro:debug("RGB sur Programme : " ..prog_rgb) fibaro:call(id_master, "startProgram", prog_rgb) fibaro:call(id_slaves, "startProgram", prog_rgb) -- Tempo de 15 secs fibaro:debug("tempo de 15 secs") fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Master") if ((result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") and (VGMaster > "0")) then fibaro:call(id_master, "startProgram", VGMaster) fibaro:debug("Prog : " ..VGMaster.. " sur " ..id_master) else fibaro:call(id_master, "setColor", result[1], result[2], result[3], result[4]) fibaro:debug("Couleur sur : " ..id_master) end -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Slave") if (resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0") and (VGSlave > "0") then fibaro:call(id_slaves, "startProgram", VGSlave) fibaro:debug("Prog : " ..VGSlave.. " sur " ..id_slaves) else fibaro:call(id_slaves, "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) fibaro:debug("Couleur sur :" ..id_slaves) end --Reinitialisation des variables fibaro:debug("Réinitialisation des variables") fibaro:setGlobal(var_global_master, "0") fibaro:setGlobal(var_global_slave, "0") fibaro:debug("Valeur après réinitialisation VGMaster :" ..VGMaster) fibaro:debug("Valeur après réinitialisation VGSlave :" ..VGSlave)
-
ca avance bien ;-) Ah zut, ca s'eteint pas hihih Et comme ceci, rajout de conditions dans les IF/elseif/else et de debug pour suivre --[[ %% properties 208 value %% globals --]] local id_master = 239 -- ID des Master (ID Master) local id_slaves = 545 -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true -- Debug local CeL = fibaro:getValue(208, 'value' ) local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = tonumber(fibaro:getGlobalValue(var_global_master)) local VGSlave = tonumber(fibaro:getGlobalValue(var_global_slave)) if debug then fibaro:debug("Démarrage du script : " ..currentdate) --fibaro:debug("Valeur CeL : " ..CeL) end function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master :" ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master :" ..ProgMaster) fibaro:debug("Couleur Slave :" ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave :" ..ProgSlave) end -- Affectation PROG aux VG fibaro:debug("Affectation PROG aux variables") fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) fibaro:debug("Valeur VGMaster :" ..VGMaster) fibaro:debug("Valeur VGSlave :" ..VGSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 fibaro:debug("RGB sur Programme : " ..prog_rgb) fibaro:call(id_master, "startProgram", prog_rgb) fibaro:call(id_slaves, "startProgram", prog_rgb) -- Tempo de 15 secs fibaro:debug("tempo de 15 secs") fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Master") if ((result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") and (VGMaster > "0")) then fibaro:call(id_master, "startProgram", VGMaster) fibaro:debug("Prog : " ..VGMaster.. " sur " ..id_master) elseif ((result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") and (VGMaster == "0")) fibaro:call(id_master, "turnOff") fibaro:debug("Extinction : " ..id_master) else fibaro:call(id_master, "setColor", result[1], result[2], result[3], result[4]) fibaro:debug("Couleur sur : " ..id_master) end -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Slave") if (resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0") and (VGSlave > "0") then fibaro:call(id_slaves, "startProgram", VGSlave) fibaro:debug("Prog : " ..VGSlave.. " sur " ..id_slaves) elseif ((result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") and (VGSlave == "0")) fibaro:call(id_slaves, "turnOff") fibaro:debug("Extinction : " ..id_slaves) else fibaro:call(id_slaves, "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) fibaro:debug("Couleur sur :" ..id_slaves) end --Reinitialisation des variables fibaro:debug("Réinitialisation des variables") fibaro:setGlobal(var_global_master, "0") fibaro:setGlobal(var_global_slave, "0") fibaro:debug("Valeur après réinitialisation VGMaster :" ..VGMaster) fibaro:debug("Valeur après réinitialisation VGSlave :" ..VGSlave) Question bete, je n'ai pas de RGB, mais quand tu remets les couleurs à 0,0,0,0 ca l'eteint non ?
-
On avance ;-) Bon j'ai rajouté des debug pour verifier si les valeurs du programme sont bien récupérees dans les Variables Globales et j'ai modifié les derniers IF --[[ %% properties 208 value %% globals --]] local id_master = 239 -- ID des Master (ID Master) local id_slaves = 545 -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true -- Debug local CeL = fibaro:getValue(208, 'value' ) local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = tonumber(fibaro:getGlobalValue(var_global_master)) local VGSlave = tonumber(fibaro:getGlobalValue(var_global_slave)) if debug then fibaro:debug("Démarrage du script : " ..currentdate) fibaro:debug("Valeur CeL : " ..CeL) end function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master :" ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master :" ..ProgMaster) fibaro:debug("Couleur Slave :" ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave :" ..ProgSlave) end -- Affectation PROG aux VG fibaro:debug("Affectation PROG aux variables") fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) fibaro:debug("Valeur VGMaster :" ..VGMaster) fibaro:debug("Valeur VGSlave :" ..VGSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 fibaro:debug("RGB sur Programme : " ..prog_rgb) fibaro:call(id_master, "startProgram", prog_rgb) fibaro:call(id_slaves, "startProgram", prog_rgb) -- Tempo de 15 secs fibaro:debug("tempo de 15 secs") fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Master") if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0") then fibaro:call(id_master, "startProgram", VGMaster) fibaro:debug("Prog :" ..VGMaster.. "sur" ..id_master) else fibaro:call(id_master, "setColor", result[1], result[2], result[3], result[4]) fibaro:debug("Couleur sur :" ..id_master) end -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Slave") if (resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0") then fibaro:call(id_slaves, "startProgram", VGSlave) fibaro:debug("Prog :" ..VGSlave.. "sur" ..id_slaves) else fibaro:call(id_slaves, "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) fibaro:debug("Couleur sur :" ..id_slaves) end --Reinitialisation des variables fibaro:debug("Réinitialisation des variables") fibaro:setGlobal(var_global_master, "") fibaro:setGlobal(var_global_slave, "") fibaro:debug("Valeur après réinitialisation VGMaster :" ..VGMaster) fibaro:debug("Valeur après réinitialisation VGSlave :" ..VGSlave)
-
@nico tu m'interesses avec ton repeteur ;-) heuu je commence a avoir envie de tester jeedom aussi en passerelle jeddom ? Zibase ? heuuu
-
Bonjour @soulac, heuuu alors la je ne comprends pas non plus. :-(
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
j'ai rajouté des debug et enlevé la lecture des tables ;-) --[[ %% properties 208 value %% globals --]] local id_master = 239 -- ID des Master (ID Master) local id_slaves = 545 -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true -- Debug local CeL = fibaro:getValue(208, 'value' ) local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = fibaro:getGlobalValue(var_global_master) local VGSlave = fibaro:getGlobalValue(var_global_slave) if debug then fibaro:debug("Démarrage du script : " ..currentdate) fibaro:debug("Valeur CeL : " ..CeL) end function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master :" ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master :" ..ProgMaster) fibaro:debug("Couleur Slave :" ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave :" ..ProgSlave) end -- Affectation PROG aux VG fibaro:debug("Affectation PROG aux variables") fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 fibaro:debug("RGB sur Programme 546") fibaro:call(id_master, "startProgram", prog_rgb) fibaro:call(id_slaves, "startProgram", prog_rgb) -- Tempo de 15 secs fibaro:debug("tempo de 15 secs") fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Master") if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and VGMaster ~="") then if debug then fibaro:debug("Programme Master :" ..VGMaster);end fibaro:call(id_master, "startProgram", VGMaster); else fibaro:call(id_master, "setColor", result[1], result[2], result[3], result[4]) end -- Remise prog/couleur des RGB en cours avant activation cellule 208 fibaro:debug("Remise valeur précédente Slave") if (resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0" and VGSlave ~="") then if debug then fibaro:debug("Programme Slave :" ..VGSlave);end fibaro:call(id_slaves, "startProgram", VGSlave); else fibaro:call(id_slaves, "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) end --Reinitialisation des variables fibaro:debug("Réinitialisation des variables") fibaro:setGlobal(var_global_master, "") fibaro:setGlobal(var_global_slave, "")
-
@domodial, Ben franchement, tu as lul le code et compris c'est deja enorme, je galere aussi hihihi Oui, le besoin de @did est excatement celui la, en cas d'alerte, changement de couleur ou de programme sur les RGB concernes et remise à la valeur précédente avant cette alerte ;-) On y travaille aussi, je suis plus lent que les autres hihih, voire beaucoup plus ;-) @did Non garde les variables, je n'ai pas mis dans l'entete le 239, pour les tests, le declencheur est bien ton 208 value. Vais essayer de corriger sans mettre les tables ;-)
-
alors alors les courageux ? ;-)
-
@Did et avis aux experts pour commenter Je suis parti de ce que tu m'as linké. ;-) La scène a pour trigger ta cellule 208. -- Recup des couleurs, la fonction split de @domodial -- Si programme en cours, recup dans une variable Globale, 1 pour chaque RGB -- Au changement de 208, PROG 546 sur les 2 RGBs -- Tempo de 15 secs -- Remise des valeurs précédentes sur les RGB -- Réinitialisation des Variables. Je garantis rien, mais mon cerveau a bien chauffé ;-) A tester ;-) --[[ %% properties 208 value %% globals --]] local id_master = 239; -- ID des Master (ID Master) local id_slaves = {545}; -- ID des Slaves {1}, {1,2,3} local prog_rgb = 546 local var_global_master = "RGB_Previous1" local var_global_slave = "RGB_Previous2" local debug = true; -- Debug local CeL = fibaro:getValue(208, 'value' ) local currentdate = os.date("%d/%m/%Y %H:%M:%S") local VGMaster = fibaro:getGlobalValue(var_global_master) local VGSlave = fibaro:getGlobalValue(var_global_slave) if debug then fibaro:debug("Démarrage du script : " ..currentdate) end function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end --Recup couleur et Prog du RGB Master local result = split(fibaro:getValue(id_master, "color"), ',') local ProgMaster = fibaro:getValue(id_master, "currentProgramID") -- Recup couleur et Prog du RGB slave local resultat = split(fibaro:getValue(id_slaves, "color"), ',') local ProgSlave = fibaro:getValue(id_slaves, "currentProgramID") --Affichage dans le debug des couleurs de RGB Master et RGB Slave if debug then fibaro:debug("Couleur Master :" ..result[1]..","..result[2]..","..result[3]..","..result[4]) fibaro:debug("Programme Master :" ..ProgMaster) fibaro:debug("Couleur Slave :" ..resultat[1]..","..resultat[2]..","..resultat[3]..","..resultat[4]) fibaro:debug("Programme slave :" ..Progslave) end -- Affectation PROG aux VG fibaro:setGlobal(var_global_master, ProgMaster) fibaro:setGlobal(var_global_slave, ProgSlave) -- SI activation cellule 208, les 2 RGB avec le programme 546 if CeL == "1" then for i = 1, #id_master do fibaro:call(id_master[i], "startProgram", prog_rgb) end for i = 1, #id_slaves do fibaro:call(id_slaves[i], "startProgram", prog_rgb) end end -- Tempo de 15 secs fibaro:sleep(15*1000) -- Remise prog/couleur des RGB en cours avant activation cellule 208 for i = 1, #id_master do if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and VGMaster ~="") then if debug then fibaro:debug("Programme Master :" ..VGMaster);end fibaro:call(id_master[i], "startProgram", VGMaster); else fibaro:call(id_master[i], "setColor", result[1], result[2], result[3], result[4]) end end -- Remise prog/couleur des RGB en cours avant activation cellule 208 for i = 1, #id_slaves do if (resultat[1] == "0" and resultat[2] == "0" and resultat[3] == "0" and resultat[4] == "0" and VGSlave ~="") then if debug then fibaro:debug("Programme Slave :" ..VGSlave);end fibaro:call(id_slaves[i], "startProgram", VGSlave); else fibaro:call(id_slaves[i], "setColor", resultat[1], resultat[2], resultat[3], resultat[4]) end end --Reinitialisation des variables fibaro:setGlobal(var_global_master, "") fibaro:setGlobal(var_global_slave, "")
-
@soulac, ben c'est bien là le souci, tu nous as mis ceci : Dans ta scene GEA Test, tu devrais avoir plutot cela alors : GEA.globalTasks = "GEA2_Tasks" Et ta scene GEA de Prod : GEA.globalTasks = "GEA_Tasks" Ta variable Globale GEA_Tasks_Test n'a pas l'air d'exister dans le panneau de variables.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
ah ok @bobobull, dans ce cas, je n'avais pas compris que tu utilisais les plugins et non le VD de @krikroff hann pas bien de ne pas l'utiliser :P
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Frederic qu '1 condition ? bizarre a tester @bobobull, Le slider devrait fonctionner sans souci @sakkhho utilise ceci par exemple : GEA.add({"Global", "Tele", "On"}, 30, "", {{"Slider", id["SONOS_REMOTE"], 15, 80}}) -- On fixe le son de la PlayBar à 80%
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
- Swipe- Vidéo De Promo - "believe Or Not"
pepite a répondu à un(e) sujet de Moicphil dans Le bistrot
ben, ca donne envie tout de même. http://www.fibaro.com/en/the-fibaro-system/swipe la musique et sonos ;-) -
@frederic, suis pas @steven, je le laisse répondre pour les "IF" ;-) tu peux faire comme ceci : local CAFE_OFF = {"Global", "CAFE", "OFF"} local CP = {"Global", "Aujourdhui", "1"} GEA.add({CP, CAFE_OFF}, 30, "", {{"turnOn", id["CAFETIERE"]},{"Global", "CAFE", "ON"},{"Time", "10:00", "10:01"}})
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
sinon @bobobull, je viens d'y penser, tu peux aussi slider le volume ;-) la syntaxe : {“Sliderâ€, <id_module>, <id_slider>, <valeur>} Met la valeur dans le slider du module {“Sliderâ€, 19, 1, 21.3}
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
pourtant, je vous lis...ah m...le boulet..mais je nai pas pris le rail din lazer ;-) je verrai ce que j'en fais ;-) avant de reprendre un FGD
-
Bonjour, @soulac, Heuu tu as certainement raison, une question bete, ta variable de test est créée dans le panneau de variable ? Elle exsite ? Il ne suffit pas de changer le nom dans la scene GEA ;-) @bobobull Comme ca sans reflechir, pas la syntaxe en tete, mais pour moi Property n'etait qu'une condition et non une OPTIONS, je n'ai jamais testé, attendons lavis des experts. Sinon en attendant, tu peux utiliser cela : GEA.add( true , 1*60 , "Test Sonos Volume Terrasse" , {{"Function", function() fibaro:call(id["SONOS_TERRASSE"], "setVolume", "33") end}})
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
alors la, je vous suis... ha, ben je viens d'acheter aussi le ZMNHDD1, un peu de doute tout a coup ;-)
-
Topic unique Aeon Labs - Zw100 "multisensor6" - Capteur 6 En 1
pepite a répondu à un(e) sujet de Moicphil dans Aeon Labs / Aeotec
je fais confiance àHansolo, et pouvoir l'encastrer et l'alimenter je trouve ca sympa, pendant que j'ai encore acces au plafond ;-) -
on veut on veut @krikroff ;-)
- 329 réponses