Yohan 492 Signaler ce message Posté(e) 12 décembre 2014 Ca devient compliqué 971jmd fais un effort on comprend rien à tes postes tu t'autocites maintenant !! Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 13 décembre 2014 @ SEBBRUNIE1 Effectivement incrémenté, ne fonctionne pas. inc+ Décrémenté, fonction bien dec- GEA.add( id["DETECTEUR"], -1, "test", {{"Global", "Pluie", "dec-"}}) Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 13 décembre 2014 bonjour Steven pour des raisons que j'ignore, les scènes activation ne fonctionne plus et revoient un message d'erreur dans la v5 GEA [ERROR] 22:33:59: line 366: attempt to index field '?' (a nil value) pour info quand je copie le code scène activation dans la version GEA 4.11 toute fonction très bien. Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 13 décembre 2014 Mon code fonctionne bien, mais j'aurai souhaité utiliser ma dernière variable "20" pour bloquer la détection. ---------------------- CH AMELIA ET SALLE DE BAIN -------------------- local pause = {"Function", function() fibaro:sleep(3000) end} GEA.add( id["DETECTEUR"], -1, "on", {{"turnOn",id["chamelia"]}, pause, {"turnOn",id["sbamaelia"]}, {"Time", "17:00", "06:00"}}) -------- Eteindre les lampes selon les 4 variables Temps -------------- local lampetimer1 = GEA.add( true , 5*60, "5mm", {{"turnOff", id["chamelia"]}, {"turnOff",id["sbamaelia"]}, {"If",{{"Global", "temps", "5"}}}}) local lampetimer2 = GEA.add( true , 10*60, "10mm", {{"turnOff", id["chamelia"]}, {"turnOff",id["sbamaelia"]}, {"If",{{"Global", "temps", "10"}}}}) local lampetimer3 = GEA.add( true , 15*60, "15mm", {{"turnOff", id["chamelia"]}, {"turnOff",id["sbamaelia"]}, {"If",{{"Global", "temps", "15"}}}}) local lampetimer4 = GEA.add( true , -1, "manu", {{"turnOff", id["chamelia"]}, {"turnOff",id["sbamaelia"]}, {"If",{{"Global", "temps", "20"}}}}) GEA.add( id["DETECTEUR"], -1, "restart pour 1mm", {{"RestartTask", lampetimer1}, {"If",{{"Global", "temps", "5"}}}}) GEA.add( id["DETECTEUR"], -1, "restart pour 3mm", {{"RestartTask", lampetimer2}, {"If",{{"Global", "temps", "10"}}}}) GEA.add( id["DETECTEUR"], -1, "restart pour 5mm", {{"RestartTask", lampetimer3}, {"If",{{"Global", "temps", "15"}}}}) GEA.add( id["DETECTEUR"], -1, "Manuel", {{"RestartTask", lampetimer4}, {"If",{{"Global", "temps", "20"}}}}) Partager ce message Lien à poster Partager sur d’autres sites
Sebbrunie1 13 Signaler ce message Posté(e) 13 décembre 2014 @ 971jmd même message d'erreur avec dec- Snifff Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 13 décembre 2014 @ SEBBRUNIE1 quelle version GEA et HC2 utilises-tu ? tu as bien créé ta variable "Pluie" dans le tableau variable du hc2 ? fais attention aux majuscules et minuscule Partager ce message Lien à poster Partager sur d’autres sites
Sebbrunie1 13 Signaler ce message Posté(e) 13 décembre 2014 HC2: 4.018 et GEA 5.0 Avec dec-, ma variable se met bien à jour.... malgré le message d'erreur... Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 13 décembre 2014 essaye avec GEA 4.11 Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 13 décembre 2014 Bon, j'abandonne... comment est-ce possible que la ligne GEA "Demande de fermeture inutile" puisse s'executer alors que la commande gea était vraie... Si je demande une fermeture, et que la variable globale Porte_Garage est à Not_Closed, la porte se ferme, mais la ligne suivante qui elle a la condition Porte_Garage = Closed s'execue aussi !!! local estClosed = {"Global", "Porte_Garage", "Closed"} local estNot_Closed = {"Global", "Porte_Garage", "Not_Closed"} -- Si demande d'ouverture et porte fermée, then push, ouvre porte et reset global à en_attente GEA.add({{"Global", "Porte_Gar_Action", "Demande_Ouverture"}, estClosed}, -1, "Demande Ouverture Porte Garage GEA à #time#", {{"turnOn",id["REMOTE_GARAGE"]}}) -- Si demande de fermeture et porte non fermée (position inconnue), then push, ferme porte GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"}, estNot_Closed}, -1, "Demande Fermeture Porte Garage GEA à #time#", {{"turnOn",id["REMOTE_GARAGE"]}}) -- Si demande de fermeture et porte fermée, then reset global à en_attente GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"}, estClosed}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "En_Attente"}}) Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 14 décembre 2014 en fait ceci GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"}, estNot_Closed}, -1, "Demande Fermeture Porte Garage GEA à #time#", {{"turnOn",id["REMOTE_GARAGE"]}}) ou ceci, pour GEA c'est la même chose, il execute... GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"}, estClosed}, -1, "Demande Fermeture Porte Garage GEA à #time#", {{"turnOn",id["REMOTE_GARAGE"]}}) Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 14 décembre 2014 et dans le debug, il execute les tâches alors que l'une devrait forcément exclure l'autre. est-ce possible que les IF (même comportement avec des IF, j'ai essayé) et conditions soient cassés en V5 ?? je suis en 3.591 HEEEEEEEEELLLLPP ;-) [DEBUG] 02:28:09: GEA Version 5.00 : en exécution... [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Ouverture ] Add Global : ajout de la tache pour lancement instantané (ID:8) [turnOn,69] [If..] [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Fermeture ] Add Global : ajout de la tache pour lancement instantané (ID:9) [turnOn,69] [If..] [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Fermeture ] Add Global : ajout de la tache pour lancement instantané (ID:10) [Global,Porte_Gar_Action,En_Attente] [If..] [DEBUG] 02:28:19: GEA Version 5.00 : en exécution... [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Fermeture ] sendActions : traitement des actions (ID:9) [turnOn,69] [If..] [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Fermeture ] sendActions : !ACTION! : turnOn (ID:9) [turnOn,69] [If..] [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Fermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Porte Garage GEA à 02:28:19 (ID:9) [turnOn,69] [If..] [DEBUG] 02:28:19: [ Porte_Gar_Action=Demande_Fermeture ] sendActions : traitement des actions (ID:10) [Global,Porte_Gar_Action,En_Attente] [If..] [DEBUG] 02:28:20: [ Porte_Gar_Action=Demande_Fermeture ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,En_Attente (ID:10) [Global,Porte_Gar_Action,En_Attente] [If..] [DEBUG] 02:28:20: [ Porte_Gar_Action=Demande_Ouverture ] Add Global : ajout de la tache pour lancement instantané (ID:8) [turnOn,69] [If..] [DEBUG] 02:28:20: [ Porte_Gar_Action=Demande_Fermeture ] Add Global : ajout de la tache pour lancement instantané (ID:9) [turnOn,69] [If..] [DEBUG] 02:28:20: [ Porte_Gar_Action=Demande_Fermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Inutile (ID:10) [Global,Porte_Gar_Action,En_Attente] [If..] [DEBUG] 02:28:20: [ Porte_Gar_Action=Demande_Fermeture ] Add Global : ajout de la tache pour lancement instantané (ID:10) [Global,Porte_Gar_Action,En_Attente] [If..] Partager ce message Lien à poster Partager sur d’autres sites
zozotte 24 Signaler ce message Posté(e) 14 décembre 2014 Hello, Est ce que tu peux essayer d'abord sans les variables pour voir si c'est lié à ca ou pas ? je vois pas spécialement d'erreur et chez moi les conditions on a l'air de fonctionner ok GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"}, {"Global", "Porte_Garage", "Closed"}}, -1, "Demande Fermeture Porte Garage GEA à #time#", {{"turnOn",id["REMOTE_GARAGE"]}}) GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"}, {"Global", "Porte_Garage", "Not_Closed"}}, -1, "Demande Fermeture Porte Garage GEA à #time#", {{"turnOn",id["REMOTE_GARAGE"]}}) Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 14 décembre 2014 J'avais d'abord essayé sans, comme ça ne marchait pas j'ai mis les variables mais même comportement... Je viens de réessayer, idem :-/ Je suis en 3.591 et gea 5 et toi ? Sent From my Vic20 Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 14 décembre 2014 @ SEBBRUNIE1 je confirme sa fonction nikel inc+ et dec- sous GEA V 4.11 Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 14 décembre 2014 Tu pourrais l'uploader stp ? Sent From my Vic20 Partager ce message Lien à poster Partager sur d’autres sites
zozotte 24 Signaler ce message Posté(e) 14 décembre 2014 HC2 3.59 et GEA 5.0 hmm et si tu met en 2e condition une autre variable ? (juste pour voir ) Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 14 décembre 2014 Ah ça j'ai pas encore essayé ! Je fait ça demain. Sent From my Vic20 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 15 décembre 2014 Content d'avoir quitté le bateau car c'est vraiment du grand n'importe quoi. Si cela ne fonctionne pas, n'utiliser pas GEA c'est plus simple ainsi. 1 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 15 décembre 2014 ah non GEA c'est le TOP pour moi, surtout ne pas l'abandonner..pour un noob comme moi c'est le PIED !! Encore MERCI Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 15 décembre 2014 HoulàSteven, un coup de blues ? Partager ce message Lien à poster Partager sur d’autres sites
Shyrka973 132 Signaler ce message Posté(e) 15 décembre 2014 @Steven Salut, J'ai trouvé deux bugs dans le code de la V5 concernant "Global". if (type(entry[GEA.keys["PARAMS"]][i]) == "table" and string.lower(entry[GEA.keys["PARAMS"]][i][1]) == "global" and #entry[GEA.keys["PARAMS"]][i] > 2) thenlocal value = string.match(entry[GEA.keys["PARAMS"]][i][3], "(%d+)") if (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "inc+")) then local number = tonumber(fibaro:getGlobalValue(entry[GEA.keys["PARAMS"]][i][2])) if (type(value) ~= nil) then fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number + value) else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number + 1) end elseif (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "dec-")) then local number = tonumber(fibaro:getGlobalValue(entry[GEA.keys["PARAMS"]][i][2])) fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - 1) if (type(value) ~= nil) then fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - value) else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - 1) end else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], GEA.getMessage(entry,entry[GEA.keys["PARAMS"]][i][3])) end GEA.log("sendActions", entry, "!ACTION! : setGlobal " .. entry[GEA.keys["PARAMS"]][i][2] ..",".. GEA.getMessage(entry, entry[GEA.keys["PARAMS"]][i][3]) , true) 1- La ligne 8 est en trop. 2- la fonction "type" retourne une chaine donc type(value) ~= nil devrait être type(value) ~= "nil". Partager ce message Lien à poster Partager sur d’autres sites
Sebbrunie1 13 Signaler ce message Posté(e) 15 décembre 2014 Ca fonctionne super bien.... Merci pour tout ca.... Qu'est ce qu'on deviendrait sans toi Partager ce message Lien à poster Partager sur d’autres sites
sebcbien 1 508 Signaler ce message Posté(e) 15 décembre 2014 Je ne peut pas tester ça avant jeudi soir, mais j'espère que ça résoudra mon problème.Merci :-)P.s. est-ce que vous pensez que faire tourner 3 gea différents, avec deux versions différentes (3.82 et 5.0) peut causer le genre de problème que je rencontre ? Je pense plus précisément àla variable globale utilisée par gea: GEA_Tasks. Une interférence est peut-être possible entre deux instances GEA ?!Sent From my Vic20 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 15 décembre 2014 Je te confirme qu'il va y avoir des interférence, tu devrais utiliser une variable par instance de GEA. Pour spécifier une autre variable, il te suffit de rajouter dans ton code : GEA.globalTasks = "GEA_Tasks_V5" ou GEA.globalTasks = "GEA_Tasks_V3_82" Cela aura pour effet d'utiliser la variable GEA_Tasks_V5 au lieu de la standard et ce uniquement pour cette instance. 1 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 15 décembre 2014 @Shyrka Voici la version 5.01 qui regroupe tes modifications ainsi que celles de Hansolo, je te laisse vérifier et publier si c'est bon Modifications : - RGB détection du on ou off sur une version 3.590 - Global inc+ et dec- GEA._5_01.lua Partager ce message Lien à poster Partager sur d’autres sites