sebcbien Posté(e) le 9 janvier 2015 Signaler Posté(e) le 9 janvier 2015 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...
sebcbien Posté(e) le 9 janvier 2015 Signaler Posté(e) le 9 janvier 2015 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à
sebcbien Posté(e) le 9 janvier 2015 Signaler Posté(e) le 9 janvier 2015 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..]
Steven Posté(e) le 9 janvier 2015 Auteur Signaler Posté(e) le 9 janvier 2015 Faudra que je regarde tout cela sur un écran plus grand que 5 pouces Envoyé de mon portable grâce àmes petits doigts. 1
sebcbien Posté(e) le 10 janvier 2015 Signaler Posté(e) le 10 janvier 2015 Oui c'est pas comme s'il y avait 360 lignes et 3 post a lire non plus ! MDR Sent From my Vic20
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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"}})
971jmd Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 @PITP2 GEA.add(id["LUMIERE_TV"], 1*60, "", {{"turnOff", id["LUMIERE_TV"]}, {"If",{{"Value-", id["PRISE_TV"], 50}, {"Repeat"}}}})
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 Merci 971jmd, J'ai testé ton code mais meme combat la condition n'est pas prise en compte
971jmd Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 au lieu de value mais power GEA.add(id["LUMIERE_TV"], 1*60, "", {{"turnOff", id["LUMIERE_TV"]}, {"If",{{"power-", id["PRISE_TV"], 50}, {"Repeat"}}}})
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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"}})
971jmd Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 local eteindreLumieretv = GEA.add(id["LUMIERE_TV"], 2*60, "", {tvEteinte , InviteNon , {"turnOff", id["LUMIERE_TV"]}, {"Repeat"}})
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 j'ai testé le code mais comme je le pensais pour moi peut importe la position des conditions. Cela ne fonctionne pas.
pepite Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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.
971jmd Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 @PITP2 GEA.add(id["LUMIERE_TV"], 1*60, "", {{"turnOff", id["LUMIERE_TV"]}, {"If",{{"Global", "Invites", "non"}, {"If",{{"power-", id["PRISE_TV"], 50}, tvEteinte, {"Repeat"}}}}}})
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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
sebcbien Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 les if se sentent mieux àla fin des options (un peu des associaux quoi)
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 @sebcbien, bah c'est le cas pourtant dans le code ..
sebcbien Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 non, il y a ça après tvEteinte, {"Repeat"}
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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 et cela fonctionne ?
971jmd Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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"}}}})
sebcbien Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 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 et cela fonctionne ? oui parfois ça fonctionne, alors j'ai plus touché 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
Steven Posté(e) le 12 janvier 2015 Auteur Signaler Posté(e) le 12 janvier 2015 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
sebcbien Posté(e) le 12 janvier 2015 Signaler Posté(e) le 12 janvier 2015 P.S: Je vais essayer de lire les 360 lignes dans la journée Une pensée respectueuse pour Steven, Une !
PITP2 Posté(e) le 12 janvier 2015 Signaler Posté(e) le 12 janvier 2015 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
Messages recommandés