Aller au contenu

Recommended Posts

Cardane,

Sachant que je veux que la commande s'exécute tous les jours, il n'y a pas de raison de mettre cette contrainte supplémentaire de mon point de vue ....

Ou penses tu que cela ait une influence sur le "MaxTime"??

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, j'avais mal lu, mais par contre avec un trigger et ensuite un -1 pour la durée, C'est ce que j'ai fait et ça marche très bien.

Le seul problème c'est qu'il va se déclencher à chaque fois que tu passeras devant ton détecteur dans les heures que tu as donné, donc il faut gérer une condition en plus pour ne le faire qu'une seule fois.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

D'où ma question concernant le fonctionnement du {"MaxTime", 1}

Quand j'ai la première ligne, cela fonctionne bien le premier jour et se déclenche une fois dans le slot horaires.

Mais le lendemain matin, cela ne se déclenche plus, à part si je ré-enregistre GEA.

Là, le  compteur du MaxTime est remis à zéro et cela fonctionne à nouveau une fois le lendemain matin.

 

Ma question initiale : Y a t il un moyen de mettre à zéro le compte "MaxTime" lié à l'execution de cette ligne de commande uniquement?

sinon, je vais passer par une variable globale!

Partager ce message


Lien à poster
Partager sur d’autres sites

A mon sens le MaxTime n'a rien à voir la dedans...  ta tâche s'effectue une fois, le MaxTime intervient pour une tâche qui peut se déclencher plusieurs fois. Une fois que la tâche s'est déclenchée, elle n'est plus dans la liste des tâches de GEA, donc normal qu'elle ne s'effectue plus le lendemain. 

Si tu redémarres GEA, tu relances la tâche, en attente du déclenchement de ton détecteur, donc normal qu'elle fonctionne à nouveau le lendemain. Ce sera le même comportement avec ou sans MaxTime.

C'est pour ça que j'ai mis ce genre de tâche avec une condition supplémentaire pour ne l'avoir qu'une fois dans l'heure, et puis un RestartTask. 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@kioneoranga,

 

Plusieurs solutions que je tenterais :

 - tu relances la tache la nuit avec un RestartTask si tu veux garder le Maxtime

 - Tu enleves le MaxTime, tu stoppes la tache après la 1ere execution, et turelances la tache ensuite

 - tu rajoutes une condition comme te le propose @Cardane. Je ferais avec un Label du genre ceci

 

GEA.add({id["DETEC_MOUV_CUISINE"], AlarmOff, {"Label", id, "ui.Label1.value", "off"}}, -1, "", {{"Time", "07:15", "08:30"},{"Scenario",id["SC_SONOS_TTS_METEO"]}, {"Label", id, "ui.Label1.value", "on"}})
GEA.add(true, 30, "", {{"Time", "00:00", "00:01"}, {"Label", id, "ui.Label1.value", "off"}})

 

Modifié par pepite
  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Depuis semaine GEA a arrêté traiter la commande Valeur:

GEA.add(702, 1*60, "Port over depuis #duration# min., #time#", {{"Repeat"}, {"Label", 45, "ui.Message.value", "Port over depuis #duration# min."},{"VirtualDevice", 45,1}})   
Le virtual device 45 est SONON Say IT

GEA.add(702, 1*60, "Port over depuis #duration# min., #time#", {{"Repeat"}, {"Label", 799, "ui.Label1.value", "Port over depuis #duration# min."}})   
Le virtual device 799 est test device avec seulement Label1

La commande GEA chez moi ne fonctionne pas,  mais d'un autre VD par fibaro:appel (45 "setProperty", "ui.Message.value", "test") marche bien.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, pepite a dit :

 - tu relances la tache la nuit avec un RestartTask si tu veux garder le Maxtime

 - Tu enleves le MaxTime, tu stoppes la tache après la 1ere execution, et turelances la tache ensuite

 - tu rajoutes une condition comme te le propose @Cardane. Je ferais avec un Label du genre ceci

 

 

Je vais tacher faire les modifications ce soir et je vais essayer de gérer cela via les "RestartTask"

Je vous tiendrais informer

Merci encore une fois de votre aide.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@drboss

 

Hi,

Your line worked before ?

what is your device 702 ?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite Oui,  aucun problème,  maintenant fonctionne uniquement {"VirtualDevice", 45,1} , mais  {"Label", 45, "ui.Message.value", "Port over depuis #duration# min."} non. Mais dans le debug tout est ok.  Le seul problème est avec le commande {"Label".... 

702 -  détecteur de la porte

 

Modifié par drboss

Partager ce message


Lien à poster
Partager sur d’autres sites


@drboss

try with a simple message and minimal line

 

GEA.add(true, 30, "", {{"Label", 45, "Message", "Try number1"}, {"VirtualDevice", 45,1}})

 

Partager ce message


Lien à poster
Partager sur d’autres sites

ça marche!
mon problème est "ui.Label1.value" au lieu de "Label1"
Avec la version 4.100 marche, et à partir de 4.104
 non.

Je l'ai testé deux HC 4.100 et 4.104

Merci @pepite  pour ton aide

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour j'utilise se bout de code pour gérer l'allumage des lumières sur détection

mais lorsque j'allume la lampe puis l'interrupteur j'ai cette erreur la:

[DEBUG] 20:04:01: [ 35 | Porche ] !!! ERREUR !!! : vÈrification (ID:11) [Inverse] [RestartTask,7] [RestartTask,8] [RestartTask,9]

 
si quelqu'un peux m'aider merci.
le détecteur est un   fgbs
--lumiere Porche sur detecteur Bois et Portail-- 

  -- On éteint lumiere Bois après 5 minutes
local autoOff_bois = GEA.add(id["LUMIERE_BOIS"], 5*60, "", {{"turnOff"}})
 -- Sur detection de mouvement et si la variable Jour_Nuit = Nuit, on allume la lumiere Bois et on redémarre la commande autoOff
local autoDetect_bois = GEA.add({id["DETECTEUR_PORCHE"], {"Global","Jour_Nuit","Nuit"}}, -1, "", {{"turnOn", id["LUMIERE_BOIS"]}, {"RestartTask", autoOff_bois}})
 -- Sur detection de portail et si la variable Jour_Nuit = Nuit, on allume la lumiere Bois et on redémarre la commande autoOff
local autoDetect_boisP = GEA.add({id["DETECTEUR_PORTAIL"], {"Global","Jour_Nuit","Nuit"}}, -1, "", {{"turnOn", id["LUMIERE_BOIS"]}, {"RestartTask", autoOff_bois}})
 
  
--Si on allume la lumiere Bois, on stop la commande d'exctintion automatique et le détecteur
GEA.add(id["LUMIERE_BOIS"], -1, "", {{"StopTask", autoOff_bois}, {"StopTask", autoDetect_bois}, {"StopTask", autoDetect_boisP}})
-- Si on éteint la lumiere Bois, on redémarre la commande d'exctintion automatique et le détecteur
GEA.add(id["LUMIERE_BOIS"], -1, "", {{"Inverse"},{"RestartTask", autoOff_bois},{"RestartTask", autoDetect_bois},{"RestartTask", autoDetect_boisP}})

 

Modifié par Allan2b

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

 

JE ne comprends pas : j'allume ma lampe puis l'interrupteur ?

Allumage sur detection puis interrupteur ?

T'es sur de tous tes IDs ? l'erreur est recente ?

LUMIERE BOIS c'est bien ton PORCHE qui a l id 35 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

désolé, j'allume la lumière depuis l'interrupteur pour pour stopper l'autoOff et c'est a ce moment là que j'ai l'erreur.

oui les IDs sont bon, j'ai inverser l'erreur l'erreur avec celle du porche, c'est la meme programmation.

 

Modifié par Allan2b

Partager ce message


Lien à poster
Partager sur d’autres sites

Essaie juste cela, allume la lumiere depuis l'interrupteur

 

-- On éteint lumiere Bois après 5 minutes
 

local autoOff_bois = GEA.add(id["LUMIERE_BOIS"], 5*60, "", {{"turnOff"}})
GEA.add(id["LUMIERE_BOIS"], -1, "", {{"StopTask", autoOff_bois}})

 

Partager ce message


Lien à poster
Partager sur d’autres sites

t'as bien commente toutes les autres lignes ?

Et donc ca eteint ou non la lumiere ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui j'ai commenté toutes les autres lignes.

oui la lumière s'éteint mais jai toujour l'erreur dans le debug

Partager ce message


Lien à poster
Partager sur d’autres sites

elle ne devrait pas s'eteindre justement. c'est le autoOff qui ne fonctionne pas donc

 

TU as bien mis l'id LUMIERE BOIS dans l'entete ?

Partager ce message


Lien à poster
Partager sur d’autres sites
--[[
%% autostart
%% properties
142 value
35 value
118 value
120 value
158 value
102 value
68 value
33 value
111 value
155 value
Jour_Nuit
%% globals
--]]

-- ==================================================
-- GEA : Gestionnaire d'EvÈnements Automatique
-- ==================================================
-- [FR] ScÈnario permettant de contrÙler si une pÈriphÈrique est 
-- activÈ depuis trop longtemps ou lancer un push d'avertissement
-- Ce scÈnario permet une annotation plus simple que le code LUA
-- il nÈcessite nÈanmoins quelques connaissances
--
-- [EN] This scene allow you to check every X second the status
-- of a module and send actions if the module is activated since too long.
-- This scene allow you a more simple annotation than LUA
-- it requires some knowledge
--
-- Auteur : Steven P. with modification of Hansolo and Shyrka973
-- Version : 5.00
-- Special Thanks to :
-- jompa68, Fredric, Diuck, Domodial, moicphil, lolomail, byackee,
-- JossAlf, Did, jompa98 and all other guy from Domotique-fibaro.fr
-- ------------------------------------------------------------
-- Historique / History
-- ------------------------------------------------------------
-- L'historique complet est diponible ici :
-- http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-dÈvÈnements-automatique/?p=12428

function yourcode() 
	-- ==================================================
	-- [FR] A VOUS DE JOUER
	-- [EN] YOUR TIME TO PLAY
	-- ==================================================
	GEA.isVersionFour = true --- On est en version 4.017 Beta ou suppÈrieur
	
	-- [FR] Votre langue : FR (default)
	-- [EN] Your language : EN
	GEA.language = "FR";
	
	-- [FR] On vÈrifie toutes les X secondes  (default : 30)
	-- [EN] Check every X seconds
	GEA.checkEvery = 30 
	
	-- [FR] Liste des portables devant recevoir une notification {104,}
	-- [EN] Smarphones you want to be notified {XX, XX} for more than one
	GEA.portables = {311,} 
	
	-- [FR] Affichage des traces dans la console (default : false)
	-- [EN] Show trace in the debug window
	GEA.debug = false
	
	-- [FR] Ne capture pas les erreurs, stop GEA en indiquant le message d'erreur
	-- [FR] A utiliser que pour un dÈbugage
	-- [EN] Don't catch error, stop GEA and show the error message, use it only for debugging purpose.
	--GEA.catchError = false

	-- [FR] Tableau d'identifiant (facultatif)
	-- [EN] ID table (optional)
	local id = {
         DETECTEUR_PORTAIL         = 155,
         LUMIERE_JARDIN            = 142,    
         LUMIERE_PORCHE            = 35,  
         LUMIERE_GARAGE            = 118,
         LUMIERE_BOIS              = 120,
         DETECTEUR_PORCHE          = 158,
         VEILLEUSE_COULOIR         = 102,
         DETECTEUR_COULOIR         = 68,
         LUMIERE_HALL              = 33,
         DETECTEUR_GARAGE          = 111,
         SONOS_SAY_IT              = 262,

    }

	-- ------------------------------------------------------------
	-- [FR] Variable Globale optionnel pour autorisÈ GEA de s'exÈcutÈ
	-- [FR] Usage : GEA.getGlobalForActivation = {"<globalvar>", "<value pour autoriser l'execution>"}
	-- [EN] Optional Global Variable to allow GEA to run
	-- [EN] Usage : GEA.getGlobalForActivation = {"<globalvar>", "<value for activation>"}
	-- ------------------------------------------------------------
	--GEA.getGlobalForActivation = {"SuspendreGEA", "non"}

GEA.checkEvery = 30 -- On vérifie toutes les X secondes
GEA.portables = {311,234} -- Liste des portables devant recevoir une notification {104,}
				--VERIFICATION LUMIERES--
--local TTS_Sonos = {"VirtualDevice", id["SONOS_SAY_IT"], 1}
--GEA.add(id["DETECTEUR_PORTAIL"], 120*60, "Le portail est ouvert depuis plus de deux heures", {{"Email",2},{"Repeat"},{"Label", 262, "Message", "Le portail est ouvert depuis plus de deux heures"},TTS_Sonos})
-- On vérifie toutes les heures si le portail est ouvert et on envoi un message push. On répète l'opération tant que la porte n'est pas fermée.
--GEA.add(id["LUMIERE_JARDIN"], 120*60, "La lumière du jardin est rester allumée, je l eteint", {{"Email",2}, {"turnOff"},{"Label", 262, "Message", "La lumière du jardin est rester allumée, je l'eteint"},TTS_Sonos})
-- On vérifie toutes les 2 heures si la lumiere du jardin est alummée, et on envoi un message push, puis on l'éteint. 
--GEA.add(id["LUMIERE_PORCHE"], 120*60, "La lumière du porche est rester allumée, je l eteint", {{"Email",2}, {"turnOff"}})
-- On vérifie toutes les 2 heures si la lumiere du jardin est alummée, et on envoi un message push, puis on l'éteint. 
--GEA.add(id["LUMIERE_GARAGE"], 240*60, "La lumière du garage est rester allumée, je l eteint", {{"Email",2}, {"turnOff"}})
-- On vérifie toutes les 4 heures si la lumiere du garage est alummée, et on envoi un message push, puis on l'éteint.   
--GEA.add(id["LUMIERE_BOIS"], 240*60, "La lumière du bois est rester allumée, je l eteint", {{"Email",2}, {"turnOff"}})
-- On vérifie toutes les 4 heures si la lumiere du bois est alummée, et on envoi un message push, puis on l'éteint.   
-- local TTS_Sonos = {"VirtualDevice", id["SONOS_SAY_IT"], 1}
--GEA.add(id["DETECTEUR_GARAGE"], 120*60, "Le garage est ouvert depuis plus de deux heures", {{"Email",2},{"Repeat"},{"Label", 262, "Message", "Le garage est ouvert depuis plus de deux heures"},TTS_Sonos})
-- On vérifie toutes les heures si le portail est ouvert et on envoi un message push. On répète l'opération tant que la porte n'est pas fermée.
 
  
				--GESTION DES LUMIERES SUR DETECTEUR--
  
 
		--lumiere Porche sur detecteur Porche et Portail-- 

  -- On éteint lumiere Porche après 5 minutes
--local autoOff_porche = GEA.add(id["LUMIERE_PORCHE"], 5*60, "", {{"turnOff"}})
 -- Sur detection de mouvement et si la variable Jour_Nuit = Nuit, on allume la lumiere Porche et on redémarre la commande autoOff
--local autoDetect_porche = GEA.add({id["DETECTEUR_PORCHE"], {"Global","Jour_Nuit","Nuit"}}, -1, "", {{"turnOn", id["LUMIERE_PORCHE"]}, {"RestartTask", autoOff_porche}})
 -- Sur detection de portail et si la variable Jour_Nuit = Nuit, on allume la lumiere Porche et on redémarre la commande autoOff
--local autoDetect_porcheP = GEA.add({id["DETECTEUR_PORTAIL"], {"Global","Jour_Nuit","Nuit"}}, -1, "", {{"turnOn", id["LUMIERE_PORCHE"]}, {"RestartTask", autoOff_porche}})
 
  
--Si on allume la lumiere Porche, on stop la commande d'exctintion automatique et le détecteur
--GEA.add(id["LUMIERE_PORCHE"], -1, "", {{"StopTask", autoOff_porche}, {"StopTask", autoDetect_porche}, {"StopTask", autoDetect_porcheP}})
-- Si on éteint la lumiere Porche, on redémarre la commande d'exctintion automatique et le détecteur
--GEA.add(id["LUMIERE_PORCHE"], -1, "", {{"Inverse"},{"RestartTask", autoOff_porche},{"RestartTask", autoDetect_porche},{"RestartTask", autoDetect_porcheP}})
    
--lumiere Porche sur detecteur Bois et Portail-- 

  -- On éteint lumiere Bois après 5 minutes
local autoOff_bois = GEA.add(id["LUMIERE_BOIS"], 1*60, "", {{"turnOff"}})
GEA.add(id["LUMIERE_BOIS"], -1, "", {{"StopTask", autoOff_bois}})
 -- Sur detection de mouvement et si la variable Jour_Nuit = Nuit, on allume la lumiere Bois et on redémarre la commande autoOff
--local autoDetect_bois = GEA.add({id["DETECTEUR_PORCHE"], {"Global","Jour_Nuit","Nuit"}}, -1, "", {{"turnOn", id["LUMIERE_BOIS"]}, {"RestartTask", autoOff_bois}})
 -- Sur detection de portail et si la variable Jour_Nuit = Nuit, on allume la lumiere Bois et on redémarre la commande autoOff
--local autoDetect_boisP = GEA.add({id["DETECTEUR_PORTAIL"], {"Global","Jour_Nuit","Nuit"}}, -1, "", {{"turnOn", id["LUMIERE_BOIS"]}, {"RestartTask", autoOff_bois}})
 
  
--Si on allume la lumiere Bois, on stop la commande d'exctintion automatique et le détecteur
--GEA.add(id["LUMIERE_BOIS"], -1, "", {{"StopTask", autoOff_bois}, {"StopTask", autoDetect_bois}, {"StopTask", autoDetect_boisP}})
-- Si on éteint la lumiere Bois, on redémarre la commande d'exctintion automatique et le détecteur
--GEA.add(id["LUMIERE_BOIS"], -1, "", {{"Inverse"},{"RestartTask", autoOff_bois},{"RestartTask", autoDetect_bois},{"RestartTask", autoDetect_boisP}})

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Jour_Nuit doit etre sous Global, mais ca ne doit pas venir de cela non plus

 

je jette un oeil.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pfff merci pour ton aide @pepite , mais je viens de trouver le pourquoi du comment, ma variable GEA_Tasks avait disparus. :60:

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×