soulac Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 merci de ton retour @Sakkhho j'ai fait ce que tu m'as dit de faire mais rien y fait depuis la mise à jour en 4.7 tout M . Je sais que le code fonctionne car il a marché mais depuis c aléatoire je me demande même si ce n'est pas un problème avec mon chrome ou mon antivirus je sais pas si sa peu bloqué des choses . Je sens que de vais faire un factory reset de la fibaro
Sakkhho Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 c'est quand meme bizarre. Moi je penche pour un problème dans ton GEA. Chrome ou autre n'ont rien à voir. Je suis en 4.070 est donc est parfaitement opérationnelle chez moi. La plupart de nos problèmes viennent souvent de nos erreurs. Et je parle pour moi déjà , je suis pas developpeur, donc je fais que des conneries :-) Mais Steven & co sont là pour nous proposer des codes bien propres. Reprends ton GEA ligne par ligne et regarde ce qui ne marche pas. Comme le fibaro sleep dans GEA ça doit pas être terrible mais les experts me contrediront peut être...
chris2div Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 avec la double accolade alors ? GEA.add(110, -1,"", {{"VirtualDevice", 96, 1}}) Oh ca fonctionne super bien ! Un grand merci pour ton aide @Sakkhho Excellent we
Sakkhho Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 @soulac, j'essayai de regarder ton code GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"Repeat"}}) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesamdim},{"Repeat"}}) ca se marche pas dessus ça ? en gros, si mouvement dans le salon et que Spot cuisine est allumé alors on joue ma lampesam et malampesamdim en meme temps pas glop et pourquoi tu mets un fibaro sleep alors que GEA pourrait faire la verif pour toi ? ou alors jouer avec des variables globales (perso c'est ce que je fais tout le temps car la logique est tellement simple du coup pour mon petit cerveau) Certes je dois souvent créer des VGs pour rien, car on pourrait fair plus simple mais c'est tellement efficace.
soulac Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 @Sakkhho tout d'abord merci car sa me remotive un peux. Je viens de refaire mon GEA en ne laissant que les ligne que j'ai besoin je vais re-tester. En ce qui concerne les lignes GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"Repeat"}}) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesamdim},{"Repeat"}}) Avant j'avais sa voir ci dessous -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}}) -- Relance des tâches en cas de détection si la lampe est allumée (économise GEA) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) Mais Pepite ma dit qd version 4.70 il fallait mieux faire 2 lignes c'est pour cela que j'ai fait sa. Sinon pour les lignes -- Si déjà Allumé, Re-Allumage à 70% dès que détection mouvement sauf si module déjà a + de 64% (économie Z-Wave) GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 65}}) -- Après 10min on dimme la lampe à 34% si pas de mouvement local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 1*60, "",{{"Value", id["SPOT_CUISINE"], 54},{"Repeat"}}) -- Après 3 min on met la lampe à 65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],55},{"Value+", id["SPOT_CUISINE"], 1}}, 1*60,"dim",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"}) Se sont des lignes que j'ai repris de @Sebcbien et cela fonctionné très bien en version 3.56
Sakkhho Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 moi je ferai des tests comme cela GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 70}}) GEA.add({"Value+", id["SPOT_CUISINE"],69}, 10*60, "dim",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}}) GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"Off",{{"turnOff", id["SPOT_CUISINE"]},{"Repeat"}}) jusque la ça doit le faire avec bien sur l'id mouv salon dans l'entete ensuite les restart task, je connais pas trop car j'utilise pas mais GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 70}}) local dimlampe = GEA.add({"Value+", id["SPOT_CUISINE"],69}, 10*60, "dim",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}}) local lampeoff = GEA.add({{"Value-", id["SPOT_CUISINE"],40},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"Off",{{"turnOff", id["SPOT_CUISINE"]},{"Repeat"}}) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", dimlampe},{"Repeat"}}) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", lampeoff},{"Repeat"}}) ça devrait faire ce que tu veux non ?
soulac Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 Bon allé je recommence depuis le début. 1- Suppression de mes deux variables GEA_Prod et GEA_Test 2- Suppression de mes deux scènes GEA 3- Puis j'ai débranché électriquement ma fibaro ( Dans le doute) Après mise sous tension de ma fibaro 1- Création des deux variables GEA_Prod et GEA_Test 2- Création d'une scène GEA_Test dans lequel j'ai mie les lignes suivantes : --[[ %% autostart %% properties 168 value %% globals --]] local id = { -- entree -- -- OUVERTURE_ENTREE = 25, -- SPOT_ENTREE = 118, -- salon -- -- VR_SALON = 129, -- OUVERTURE_SALON = 40, -- LUSTRE_SALON = 114, D_MOUV_SALON = 168, -- D_LUM_SALON = 123, -- D_TEMP_SALON = 122, -- NEATO = 116, -- salle a manger -- -- VR_SAM = 76, -- OUVERTURE_SAM = 34, -- LUSTRE_SM = 80, -- cuisine -- -- OUVERTURE_CUI = 28, SPOT_CUISINE = 82, -- chambre mateo -- -- VR_CHAMBRE_M = 131, -- OUVERTURE_CH_M = 42, -- D_MOUV_CHM = 95, -- chambre parental -- -- VR_CHAMBRE_P = 142, -- LUSTRE_PARENTAL = 140, -- D_MOUV_PARENTAL = 134, -- couloir -- -- salle de bain -- -- exterieur -- -- D_LUM_EXT = 148, -- D_TEMP_EXT = 147, -- D_MOUV_EXT = 146, -- Virtual Device -- -- VD_PRESENCE_SEB = 161, -- VD_PRESENCE_CEL = 164, -- VD_SUNSET_SUNRISE = 112, -- VD_TEMP = 144, } puis les lignes sans les relances -- ================================================== -- CUISINE -- ================================================== -- Si déjà Allumé, Re-Allumage à 70% dès que détection mouvement sauf si module déjà a + de 64% (économie Z-Wave) GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 65}}) -- Après 10min on dimme la lampe à 34% si pas de mouvement local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 2*60, "dim",{{"Value", id["SPOT_CUISINE"], 54},{"Repeat"}}) -- Après 3 min on met la lampe à 65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],55},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"off",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"}) -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}}) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"Repeat"}}) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesamdim},{"Repeat"}}) -- Relance des tâches en cas de détection si la lampe est allumée (économise GEA) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "", {{"RestartTask", malampesam}}) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "", {{"RestartTask", malampesamdim}}) Sans oublier GEA.globalTasks = "GEA_Test" et la miracle des temps modernes cela fonctionne. Maintenant je vais voir pour les relances
Fredric Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 combien d'instances avez vous mis sur votre GEA?
soulac Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 @Frédéric j'en ai 10 instances
Did Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 Chez moi, ça tenait avec 5 instances mais @Steven nous a dit de mettre à 10 donc j'ai modifié. http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=115395
Fredric Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 ok, merci, c'est ce que j'ai, 10, donc, pas de solution a par ce passer de GEA!!!
Fredric Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 du coup, d'avoir 2 GEA, un normal et 1 pour les instantanés, cela augmente la saturation de la mémoire?!?!
Sakkhho Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 Moi aussi j'avais tout rassemblé dans 1 seul GEA et depuis les 4.07x passer à10 instances
Fredric Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 du coup tu as mis GEA.optimize = GEA.typeOptimize["ALL"] et tu n'as plus les noms dans le débug?
elacombe Posté(e) le 27 février 2016 Signaler Posté(e) le 27 février 2016 Bonjour, Je souhaiterais mettre 2 conditions dans une action GEA : Voici une ligne que je souhaiterais modifier : GEA.add(id ["Statut_Alarme"], 1, "", {{"Inverse"}, {"Time", "Sunset", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}}) J'ai un capteur universel Fibaro FGBS qui me sert pour savoir si on est en Tempo Rouge (valeur du capteur à 1) ou si on est en Tempo Blanc ou Bleu (valeur du capteur à 0). Ce capteur s'appelle "Valeur_Tempo" dans mon GEA. Ma ligne GEA me permet d'allumer une lumière dans une plage horaire si l'alarme est inactive (c'est à dire si nous sommes à la maison). Je voudrais rajouter que la lumière doit s'allumer si en plus on est pas en Tempo Rouge. Comment puis-je écrire ma ligne GEA pour intégrer ces 2 conditions? Merci.
pepite Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @soulac, bien vu, c'est bien le bug aleatoire sur les scenes et VD de la 4.07x, en repartant depuis une scene toute propre, ca fonctionne. @frederic, t'as un souci sur le nombre d 'instances ? 10 pour moi aussi. @elacombe, Comme ceci, Si alarme desactivee et valeur de "Valeur_tempo" est differente de 1 GEA.add({id ["Statut_Alarme"], {"Value!", id["Valeur_Tempo"], 1}}, 1, "", {{"Inverse"}, {"Time", "Sunset", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}})
Fredric Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @frederic, t'as un souci sur le nombre d 'instances ? 10 pour moi aussi. oui, "out of memory" pour GEA et Fibaro m'envoi un tuto pour apprendre à créer des scène en bloc avec les instances 1
soulac Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @Pepite oui une fois tout refait à zéro cela fonctionne avec le code suivant : -- ================================================== -- CUISINE -- ================================================== -- Si déjà Allumé, Re-Allumage à 70% dès que détection mouvement sauf si module déjà a + de 64% (économie Z-Wave) GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 65}}) -- Après 10min on dimme la lampe à 34% si pas de mouvement local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 2*60, "dim",{{"Value", id["SPOT_CUISINE"], 54},{"Repeat"}}) -- Après 3 min on met la lampe à 65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],55},{"Value+", id["SPOT_CUISINE"], 1}}, 1*60,"off",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"}) -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}}) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "Restart lampe", {{"RestartTask", malampesam},{"Repeat"}}) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "Restart lampeDim", {{"RestartTask", malampesamdim},{"Repeat"}}) -- Relance des tâches en cas de détection si la lampe est allumée (économise GEA) -- GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "Relance", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "R allumage", {{"RestartTask", malampesam}}) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "R dim", {{"RestartTask", malampesamdim}}) J'ai remis mon GEA Prod en route et Mon GEA Test et tout cela fonctionne. La suite au prochaine épisode enfin je pense que je réfléchirais à deux fois avant de faire une mise à jour Fibaro. 1
elacombe Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @ Pepite Je viens d'essayer cette ligne : GEA.add({id ["Statut_Alarme"], {"Value!", id["Valeur_Tempo"], 1}}, 1, "", {{"Inverse"}, {"Time", "Sunset-30", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}}) mais elle ne marche malheureusement pas. Ma valeur "Valeur_Tempo" provient de l'état d'ouverture du détecteur universel paramétré en détecteur d'ouverture. En gros, porte ouverte = Tempo blanc ou bleu et porte fermée = Tempo Rouge. C'est quand on est en Tempo Rouge que l'action ne doit pas s'effectuer...Que faut-il modifier pour que ça marche? Il n'y a aucune erreur dans le débug...
Did Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 Salut @elcombe, Voici ce que j'ai pour couper ma VMC uniquement les jours rouges: GEA.add({236, {"Global", "Tempo", "Rouge"}}, 30, "", {{"VirtualDevice", 235, 1},{"Dates","01/10","31/12"},{"Dates","01/01","30/04"},{"Repeat"}}) -- VMC arrêtée si jour rouge entre 01/10 et 30/04 Id 236: mon module VMC, Id 235: module virtuel VMC, bouton 1 arrêt VMC.
pepite Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @elacombe, On est bien d'accord : Tempo rouge = 1, tempo blanc ou bleu = 0 Porte ouverte = blanc ou bleu Porte fermée : Rouge Tes valeurs seraient donc 0 pour rouge et 1 pour blanc/bleu non ? Ton besoin : en tempo rouge (0), la ligne ne doit pas se faire, pas d'allumage interrupteur ? Alarme desactivee, valeur de Tempo = 0 (rouge), GEA.add({id ["Statut_Alarme"], {"Value", id["Valeur_Tempo"], 0}}, 1, "", {{"Inverse"}, {"Time", "Sunset-30", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}}) @did a raison, mais pour une Variable globale.
elacombe Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @ DID, J'ai 2 contraintes par rapport à cela : - Je ne récupère pas l'info Tempo d'un VD, mais directement d'un module ZWave (donc pas de valeur "Rouge") - J'ai 2 conditions : Alarme inactive (je suis chez mois), et Tempo Rouge, donné par mon module universel Fibaro (porte ouverte pour tempo Blanc/bleu, porte fermée pour Tempo Rouge). C'est donc difficilement adaptable. Il faudrait peut-être que je revienne à ma première idée qui est de créer 2 instances GEA (une pour les Tempo Rouge et une pour les Tempo Bleu/Blanc) et d'activer/désactiver chacune des 2 scène en fonction de la valeur Tempo... Mais ça je pense qu'il faut faire une scène LUA...et là encore, je ne sais pas faire... Quelqu'un aurait une idée?
pepite Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @elacombe, pas besoin d'une 2eme instance GEA. GEA gere parfaitement les conditions multiples.
Fredric Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 du coup tu as mis GEA.optimize = GEA.typeOptimize["ALL"] et tu n'as plus les noms dans le débug?
elacombe Posté(e) le 28 février 2016 Signaler Posté(e) le 28 février 2016 @ Pepite Tu avais raison, ça marche en inversant 0 et 1... Merci beaucoup. @+ 1
Messages recommandés