Aller au contenu

Recommended Posts

Voici mon rapport ;)

 

j'ai essayé d'enlever le _ de Not_Closed pour le transformer en NotClosed mais ça n'a rien changé

 

Concernant les Global non evalués:
 
J'ai ajouté des 
    fibaro:debug("pendant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")

pour tracer l'état de la VG entre les lignes Gea pour être sur que la valeur ne change pas en cours de route

 

J'ai utilisé des if pour être sur que ce ne soit pas dà» au nouveau mode d'écriture (conditions en début de ligne Gea)

 

C'est le seul code qui tourne dans une instance gea V4.10

 

--------------------GARAGE---------------------
   -- le capteur de porte lance la scène (dans l'entête) et met NotClosed a l'ouverture de la porte
  GEA.add( id["DETECTEUR_PORTE_GARAGE"], -1, "Ouverture porte du garage à  #time#", {{"Global", "Porte_Garage", "NotClosed"},{"Global", "Porte_Gar_Action", "EnAttente"}})
  -- le capteur de porte lance la scène (dans l'entête) et met Closed a la fermetre de la porte
  GEA.add( id["DETECTEUR_PORTE_GARAGE"], -1, "La porte du garage a été fermée à  #time#", {{"Global", "Porte_Garage", "Closed"},{"Global", "Porte_Gar_Action", "EnAttente"},{"Inverse"}})

-- "Porte_Garage_Action" est dans l'entête pour déclenchement immédiat, pas "Porte_Garage"
      fibaro:debug("avant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
-- Si demande de fermeture et porte non fermée (position inconnue), alors ferme porte
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]},{"If",{{"Global", "Porte_Garage", "NotClosed"}}}})
    fibaro:debug("pendant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
  -- Si demande de fermeture et porte fermée, then reset global à  en_attente  
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "EnAttente"},{"If",{{"Global", "Porte_Garage", "Closed"}}}})
      fibaro:debug("apres " .. fibaro:getGlobalValue("Porte_Garage") .. "#")

 

Et voici le debug de gea commenté

 

Lancement 

[DEBUG] 21:53:52: avant Closed#
[DEBUG] 21:53:52: pendant Closed#
[DEBUG] 21:53:52: apres Closed#

Je demande une fermeture de porte alors que la porte est déjà  fermée

[DEBUG] 21:53:52: GEA Version 5.10 : en exécution...
[DEBUG] 21:53:52: En cours : aucun traitement a effectuer
[DEBUG] 21:55:05: avant Closed#
[DEBUG] 21:55:05: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 21:55:05: pendant Closed#
[DEBUG] 21:55:05: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:55:05: apres Closed#
[DEBUG] 21:55:05: GEA Version 5.10 : en exécution...
[DEBUG] 21:55:05: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:55:05: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]

Je reçois le push "demande inutile" nickel

[DEBUG] 21:55:05: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Inutile (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:55:06: avant Closed#
[DEBUG] 21:55:06: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 21:55:06: pendant Closed#
[DEBUG] 21:55:06: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:55:06: apres Closed#
[DEBUG] 21:55:06: GEA Version 5.10 : en exécution...

J ouvre la porte (sans gea ni variables globales, manuellement)

[DEBUG] 21:56:27: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 21:56:27: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]

[DEBUG] 21:56:27: avant Closed#
[DEBUG] 21:56:27: pendant Closed#
[DEBUG] 21:56:27: apres Closed#

[DEBUG] 21:56:27: GEA Version 5.10 : en exécution...
[DEBUG] 21:56:27: [ 990 | GARAGE Porte ext ] sendActions : traitement des actions (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 21:56:27: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Garage,NotClosed (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 21:56:27: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 21:56:27: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : sendPush Ouverture porte du garage à  21:56:27 (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]

Je demande la fermeture via VG
[DEBUG] 21:59:37: avant NotClosed#
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 21:59:37: pendant NotClosed#
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:59:37: apres NotClosed#

On voit bien que la VG na pas changé lors des 2 évaluations

[DEBUG] 21:59:37: GEA Version 5.10 : en exécution...
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:3) [turnOn,69] [If..]
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : turnOn (ID:3) [turnOn,69] [If..]

Gea donne l ordre de fermer la porte, nickel

[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Porte Garage GEA à  21:59:37 (ID:3) [turnOn,69] [If..]
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:59:37: avant NotClosed#

Gea envoie un push "fermeture inutile" !!! ça c est pas normal

[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Inutile (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 21:59:37: pendant NotClosed#
[DEBUG] 21:59:37: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 21:59:37: apres NotClosed#
[DEBUG] 21:59:37: GEA Version 5.10 : en exécution...

3 secondes plus tard le capteur de porte lance la scène et détecte la fermeture effective de la porte:

[DEBUG] 21:59:40: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 21:59:40: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 21:59:40: avant NotClosed#
[DEBUG] 21:59:40: pendant NotClosed#
[DEBUG] 21:59:40: apres NotClosed#
[DEBUG] 21:59:40: GEA Version 5.10 : en exécution...

la variable globale bascule effectivement sur Closed

[DEBUG] 21:59:40: [ 990 | GARAGE Porte ext ] sendActions : traitement des actions (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 21:59:40: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Garage,Closed (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 21:59:40: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]

Gea me previens que la porte est bien fermée.
[DEBUG] 21:59:40: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : sendPush La porte du garage a été fermée à  21:59:40 (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
si par contre j'utilise (Global! NotClosed)
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]},{"If",{{"Global", "Porte_Garage", "NotClosed"}}}})
    fibaro:debug("pendant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
  -- Si demande de fermeture et porte fermée, then reset global à  en_attente  
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "EnAttente"},{"If",{{"Global!", "Porte_Garage", "NotClosed"}}}})
alors tout se passe bien
 
[DEBUG] 22:25:51: avant NotClosed#
[DEBUG] 22:25:51: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 22:25:51: pendant NotClosed#
[DEBUG] 22:25:51: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:25:51: apres NotClosed#
[DEBUG] 22:25:51: GEA Version 5.10 : en exécution...
[DEBUG] 22:25:51: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:3) [turnOn,69] [If..]
[DEBUG] 22:25:51: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : turnOn (ID:3) [turnOn,69] [If..]
[DEBUG] 22:25:51: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Porte Garage GEA à  22:25:51 (ID:3) [turnOn,69] [If..]
[DEBUG] 22:25:56: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:25:56: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:25:56: avant NotClosed#
[DEBUG] 22:25:56: pendant NotClosed#
[DEBUG] 22:25:56: apres NotClosed#
[DEBUG] 22:25:56: GEA Version 5.10 : en exécution...
[DEBUG] 22:25:56: [ 990 | GARAGE Porte ext ] sendActions : traitement des actions (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:25:56: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Garage,Closed (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:25:56: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:25:56: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : sendPush La porte du garage a été fermée à  22:25:56 (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:25:56: avant Closed#
[DEBUG] 22:25:56: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 22:25:56: pendant Closed#
[DEBUG] 22:25:56: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:25:56: apres Closed#
[DEBUG] 22:25:56: GEA Version 5.10 : en exécution...
 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai aussi essayé en effaçant et en recréant mes VG "Garage xxx" sans succès

idem en les convertissant de VG prédéfinie à  simple

 

et voici le mega debug dans le cas ou il execute les deux lignes gea:

[DEBUG] 22:52:42: avant NotClosed#
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: pendant NotClosed#
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: apres NotClosed#
[DEBUG] 22:52:42: GEA Version 5.10 : en exécution...
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Garage=NotClosed ] isActivate : vérification de l exception
[DEBUG] 22:52:42: [ Porte_Garage=NotClosed ] isActivate : type : global variable
[DEBUG] 22:52:42: [ Porte_Garage=NotClosed ] isActivate : activé
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : activé (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : activé depuis 30/-1 (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : turnOn (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Porte Garage GEA à  22:52:42 (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Garage=Closed ] isActivate : vérification de l exception
[DEBUG] 22:52:42: [ Porte_Garage=Closed ] isActivate : type : global variable
[DEBUG] 22:52:42: [ Porte_Garage=Closed ] isActivate : activé
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : activé (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : activé depuis 30/-1 (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: avant NotClosed#
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: pendant NotClosed#
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: apres NotClosed#
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Inutile (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: GEA Version 5.10 : en exécution...
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] !CANCEL! isActivate : désactivé (ID:3) [turnOn,69] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 22:52:42: [ Porte_Gar_Action=DemandeFermeture ] !CANCEL! isActivate : désactivé (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
fin des push et actions

Le capteur lance la suite à  46 secondes quand il détecte la fermeture de la porte

[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: avant NotClosed#
[DEBUG] 22:52:46: pendant NotClosed#
[DEBUG] 22:52:46: apres NotClosed#
[DEBUG] 22:52:46: GEA Version 5.10 : en exécution...
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] En cours : vérification (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Check : démarrage vérification (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Check : vérification des dates (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] isActivate : vérification de l activation (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] isActivate : type : satel_zone (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] !CANCEL! isActivate : désactivé (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] En cours : vérification (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Check : démarrage vérification (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Check : vérification des dates (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] isActivate : vérification de l activation (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] isActivate : type : satel_zone (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] isActivate : activé (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] Check : activé depuis 30/-1 (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] sendActions : traitement des actions (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Garage,Closed (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 22:52:46: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : sendPush La porte du garage a été fermée à  22:52:46 (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]

A mon avis le noeud du problème est entre les lignes 26 27 28 on voit que GEA évalue Porte_Garage=Closed alors qu''elle est Porte_Garage=NotClosed et exécute la ligne.

Pourquoi est-ce qu'il reçoit cet état ? alors qu'avant et après le debug indique bien que la variable n'est pas à  Closed mais bien à  NotClosed

Ensuite ligne 33 il re-lance les lignes Gea ... alors qu'elles ont déjà  été executées et ré-évalue les conditions et là  il trouve qu'elles sont désactivées.

 

Ca colle donc bien au problème soulevé par zozote et myself.

 

Je rappelle que j'ai un workaround avec Global!, mais bon, il n'y a plus de bugs dans Gea a part celui-là  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

pour que ce soit complet, voici le full debug avec le code qui fonctionne (avec {"Global!", "Porte_Garage", "NotClosed"})

[DEBUG] 23:06:16: avant NotClosed#
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: pendant NotClosed#
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: apres NotClosed#
[DEBUG] 23:06:16: GEA Version 5.10 : en exécution...
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Garage=NotClosed ] isActivate : vérification de l exception
[DEBUG] 23:06:16: [ Porte_Garage=NotClosed ] isActivate : type : global variable
[DEBUG] 23:06:16: [ Porte_Garage=NotClosed ] isActivate : activé
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] isActivate : activé (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Check : activé depuis 30/-1 (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] sendActions : traitement des actions (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : turnOn (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] sendActions : !ACTION! : sendPush Demande Fermeture Porte Garage GEA à  23:06:16 (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: [ Porte_Garage=NotClosed ] isActivate : vérification de l exception
[DEBUG] 23:06:16: [ Porte_Garage=NotClosed ] isActivate : type : Global!
[DEBUG] 23:06:16: [ Porte_Garage=NotClosed ] !CANCEL! isActivate : désactivé
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] !CANCEL! isActivate : désactivé par exception (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:16: [ Porte_Gar_Action=DemandeFermeture ] !CANCEL! isActivate : désactivé (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
fin des push et actions
 
Le capteur lance la suite à  19 secondes quand il détecte la fermeture de la porte
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Add Property : ajout de la tache pour lancement instantané (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: avant NotClosed#
[DEBUG] 23:06:19: pendant NotClosed#
[DEBUG] 23:06:19: apres NotClosed#
[DEBUG] 23:06:19: GEA Version 5.10 : en exécution...
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] En cours : vérification (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Check : démarrage vérification (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Check : vérification des dates (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] isActivate : vérification de l activation (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] isActivate : type : satel_zone (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] !CANCEL! isActivate : désactivé (ID:1) [Global,Porte_Garage,NotClosed] [Global,Porte_Gar_Action,EnAttente]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] En cours : vérification (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Check : démarrage vérification (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Check : vérification des dates (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] isActivate : vérification de l activation (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] isActivate : type : satel_zone (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] isActivate : activé (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] Check : activé depuis 30/-1 (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] sendActions : traitement des actions (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Garage,Closed (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : setGlobal Porte_Gar_Action,EnAttente (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: [ 990 | GARAGE Porte ext ] sendActions : !ACTION! : sendPush La porte du garage a été fermée à  23:06:19 (ID:2) [Global,Porte_Garage,Closed] [Global,Porte_Gar_Action,EnAttente] [Inverse]
[DEBUG] 23:06:19: avant Closed#
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: pendant Closed#
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] Add Global : ajout de la tache pour lancement instantané (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:19: apres Closed#
[DEBUG] 23:06:19: GEA Version 5.10 : en exécution...
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] !CANCEL! isActivate : désactivé (ID:3) [turnOn,69] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] En cours : vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] Check : démarrage vérification (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] Check : vérification des dates (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] isActivate : vérification de l activation (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] isActivate : type : global variable (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]
[DEBUG] 23:06:19: [ Porte_Gar_Action=DemandeFermeture ] !CANCEL! isActivate : désactivé (ID:4) [Global,Porte_Gar_Action,EnAttente] [If..]

Partager ce message


Lien à poster
Partager sur d’autres sites

Faudra que je regarde tout cela sur un écran plus grand que 5 pouces :)

Envoyé de mon portable grâce àmes petits doigts.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui c'est pas comme s'il y avait 360 lignes et 3 post a lire non plus ! MDR :)

Sent From my Vic20

Partager ce message


Lien à poster
Partager sur d’autres sites

Je reviens avec mon problème.

J'ai écrit cette ligne dans tous les sens mais la condition {"Sensor-", id["PRISE_TV"], 50} n'est pas prise en compte la lumière s'éteint dans tous les cas au bout de 3 minutes.

 

:(

 

je n'ai plus d'idée ...

--[[
%% autostart
%% properties
15 value
404 power
141 value
6 value
9 value
219 value
222 value
21 value
27 value
61 power
191 sceneActivation
285 sceneActivation
383 sceneActivation
%% globals
ModeCouche
Invites
--]]
local id = {
PRISE_SAPIN = 40,
     PRISE_TV = 404    
}
local eteindreLumieretv = GEA.add(id["LUMIERE_TV"], 3*60, "", {{"turnOff",id["LUMIERE_TV"]}, {"Sensor-", id["PRISE_TV"], 50} , InviteNon,{"Repeat"}})


ou


local tvEteinte = {"If", {{"Sensor-", id["PRISE_TV"], 50}}}
local eteindreLumieretv = GEA.add(id["LUMIERE_TV"], 3*60, "", {{"turnOff",id["LUMIERE_TV"]}, tvEteinte , InviteNon,{"Repeat"}})


Partager ce message


Lien à poster
Partager sur d’autres sites

@PITP2

GEA.add(id["LUMIERE_TV"], 1*60, "", {{"turnOff", id["LUMIERE_TV"]}, {"If",{{"Value-", id["PRISE_TV"],  50}, {"Repeat"}}}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci 971jmd, J'ai testé ton code mais meme combat la condition n'est pas prise en compte

Partager ce message


Lien à poster
Partager sur d’autres sites

au lieu de value mais power

GEA.add(id["LUMIERE_TV"], 1*60, "", {{"turnOff", id["LUMIERE_TV"]}, {"If",{{"power-", id["PRISE_TV"],  50}, {"Repeat"}}}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci avec power- cela fonctionne mieux mais j'ai un deuxième problème.

 

avec cette ligne rédigée ainsi cela fonctionne

local eteindreLumieretv =  GEA.add(id["LUMIERE_TV"], 2*60, "", {{"turnOff", id["LUMIERE_TV"]}, tvEteinte  {"Repeat"}})

dès que j'ajoute une autre condition InviteNon la ligne ignore la condition tvEteinte et la ligne est exécuté dans tous les cas au bout de 2 minutes ...

local InviteNon = {"If",{{"Global", "Invites", "non"}}}


local eteindreLumieretv =  GEA.add(id["LUMIERE_TV"], 2*60, "", {{"turnOff", id["LUMIERE_TV"]}, tvEteinte , InviteNon , {"Repeat"}})

Partager ce message


Lien à poster
Partager sur d’autres sites


local eteindreLumieretv = GEA.add(id["LUMIERE_TV"], 2*60, "", {tvEteinte , InviteNon , {"turnOff", id["LUMIERE_TV"]}, {"Repeat"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai testé le code mais comme je le pensais pour moi peut importe la position des conditions.

Cela ne fonctionne pas.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut PITP2,

 

Et si tu essayais comme SEBCBIEN et ZOZOTTE, dans les posts precedents, cad, "Global!" à  la place de "Global"

 

Au lieu de :

local InviteNon = {"If", {"Global", "InviteNon", "non"}}

Mets peut-etre :

local InviteNon = {"If", {"Global!", "InviteNon", "oui"}}

Courage ;-)

 

Ca a l'air de fonctionner pour eux.

Partager ce message


Lien à poster
Partager sur d’autres sites

@PITP2

 
GEA.add(id["LUMIERE_TV"], 1*60, "", {{"turnOff", id["LUMIERE_TV"]},
{"If",{{"Global", "Invites", "non"},
{"If",{{"power-", id["PRISE_TV"], 50}, tvEteinte, {"Repeat"}}}}}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci les gars pour votre aide mais aucune des deux solutions ne fonctionne.

Dès que j'essaie de mettre en condition InviteNon cela ne fonctionne plus  :huh:

Partager ce message


Lien à poster
Partager sur d’autres sites

les if se sentent mieux àla fin des options (un peu des associaux quoi)

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien, bah c'est le cas pourtant dans le code .. :4:

Partager ce message


Lien à poster
Partager sur d’autres sites

non, il y a ça après

tvEteinte, {"Repeat"}

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors j'ai cela comme ligne maintenant

 

local eteindreLumierecheminee = GEA.add(id["LUMIERE_CHEMINEE"], 2*60, "", {{"turnOff",id["LUMIERE_CHEMINEE"]}, tvEteinte, InviteNom, {"Repeat"}})

tu me dis qu'il ne faut pas mettre le Repeat à  la toute fin c'est ca ?

Pourtant dans tes scripts il y en a aussi  :huh:  et cela fonctionne ?

Partager ce message


Lien à poster
Partager sur d’autres sites
 

Test tes variables, il peur y avoir un conflit  

 

Change par une lettre A pour oui et B pour non 



GEA.add(id["LUMIERE_TV"], 30, "", {{"turnOff", id["LUMIERE_TV"]},
{"If",{{"Global", "Invites", "B"}}}})


Partager ce message


Lien à poster
Partager sur d’autres sites

 

Alors j'ai cela comme ligne maintenant

 

local eteindreLumierecheminee = GEA.add(id["LUMIERE_CHEMINEE"], 2*60, "", {{"turnOff",id["LUMIERE_CHEMINEE"]}, tvEteinte, InviteNom, {"Repeat"}})

tu me dis qu'il ne faut pas mettre le Repeat à  la toute fin c'est ca ?

Pourtant dans tes scripts il y en a aussi  :huh:  et cela fonctionne ?

 

oui parfois ça fonctionne, alors j'ai plus touché :P

c'est pour ça que j'ai écris "se sentent mieux" ;)

Steven met les if en fin dans ses exemples.

pour le repeat ? je ne sais pas

Partager ce message


Lien à poster
Partager sur d’autres sites

Wouaa .. . et lol

 

Il n'y a aucun ordre à  respecter et si les If à  la fin vous donne l'impression que cela va mieux, c'est une fausse impression.

 

Pourquoi mettre 2 ou 3 If dans une instruction si ce n'est pour faire que le système ce perde. UN seul If suffit puisse que ce dernier peux recevoir plusieurs condititions ... exemple :

GEA.add(id["LUMIERE_TV"], 2*60, "", {{"turnOff", id["LUMIERE_TV"]}, {"If",{{"Global", "Invites", "non"}, {"Sensor-", id["TV"], 50}}}})

Maintenant ... abandonné ces If qui pose soucis car compliqué à  mettre en place, la nouvelle notation est tellement plus simple

local inviteAbsent = {"Global", "Invites", "non"}
local tvEteinte = {"Sensor-", id["TV"], 50}

GEA.add( { id["LUMIERE_TV"], inviteAbsent, tvEteinte }, 2*20, "", {{"turnOff", id["LUMIERE_TV"]}})

P.S: Je vais essayer de lire les 360 lignes dans la journée :)

Partager ce message


Lien à poster
Partager sur d’autres sites

P.S: Je vais essayer de lire les 360 lignes dans la journée :)

 

Une pensée respectueuse pour Steven, Une ! ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Steven, je teste ton code et je te dis si cela fonctionne ... je fais ça rapido ... pour t'éviter de lire les 360 lignes  :)

Partager ce message


Lien à poster
Partager sur d’autres sites

×