Aller au contenu

Recommended Posts

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

@ 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

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. :60:

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

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

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

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

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...  :huh:
 
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

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

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

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

@ SEBBRUNIE1

 

je confirme sa fonction nikel inc+ et dec- sous GEA V 4.11

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu pourrais l'uploader stp ?

Sent From my Vic20

Partager ce message


Lien à poster
Partager sur d’autres sites

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

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

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.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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

HoulàSteven, un coup de blues ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

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

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

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.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

×