Aller au contenu

Messages recommandés

Posté(e)

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...
 
Posté(e)

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à  ;)

Posté(e)

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..]
Posté(e)

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
Posté(e)

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"}})


Posté(e)

au lieu de value mais power

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

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"}})
Posté(e)


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

Posté(e)

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.

Posté(e)

@PITP2

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

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:

Posté(e)

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 ?

Posté(e)
 

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"}}}})


Posté(e)

 

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

Posté(e)

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 :)

Posté(e)

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  :)

×
×
  • Créer...