Lazer Posté(e) le 23 octobre 2021 Signaler Posté(e) le 23 octobre 2021 Sur HC2 je ne sais plus trop, mais une piste, tu as peut être mal déclaré ta variable GEA.portables dans la fonction config()
lamparo Posté(e) le 23 octobre 2021 Signaler Posté(e) le 23 octobre 2021 Salut Lazer, la variable est Ok car je l'utilise pour détecter si le wall plug du congélateur est out. Je dois avoir une erreur de syntaxe que je ne vois pas
Dragoniacs Posté(e) le 23 octobre 2021 Signaler Posté(e) le 23 octobre 2021 Essaye comme cela :GEA.add( { id["Bridge_Nuki"]}, 10080*60, "Nuki redémarrée",{{"turnOff", id["Bridge_Nuki"], 1*60}, {"Portable", id["Portable_JP"]}} )Envoyé de mon RMX1993 en utilisant Tapatalk 1
lamparo Posté(e) le 23 octobre 2021 Signaler Posté(e) le 23 octobre 2021 Merci Dragoniacs, ça fonctionne . Mais je ne comprends pas, j'ai appliqué le syntaxe GEA V6 mise à dispo par Pepite. Il y a des règles qui s'appliquent lors de l'enchènement des actions?
Dragoniacs Posté(e) le 23 octobre 2021 Signaler Posté(e) le 23 octobre 2021 Il manquait des accolades et le message vers le portable n'était pas au bon endroitEnvoyé de mon RMX1993 en utilisant Tapatalk 1
lamparo Posté(e) le 24 octobre 2021 Signaler Posté(e) le 24 octobre 2021 Oui, il me manquait une accolade (j'ai commandé un chien ). Par contre tu as mis des accolades autour de { id["Bridge_Nuki"]} alors que sur le manuel de syntaxe c'est des parenthèses: - <ID Module> : id["Module"] CONDITIONS : GEA.add( id["TV"]), 30, "", {ACTIONS} ) - Si la TV est allumée depuis 30 secondes \\ Il faut toujours des accolades, ou il y a des exceptions? Pourquoi tu as dissocié le message à afficher par le push de {"Portable", id["Portable_JP"]}}? Désolé de toutes ces questions, mais c'est pour gagner en "indépendance" (c'est pas gagné ).
Lazer Posté(e) le 24 octobre 2021 Signaler Posté(e) le 24 octobre 2021 il y a une heure, lamparo a dit : GEA.add( id["TV"]), 30, "", {ACTIONS} ) ça doit être une coquille dans la doc alors, car cette syntaxe est clairement impossible. La parenthèse ferme la ligne, alors que tu as encore des arguments derrière... Je te conseille d'utiliser un éditeur comme Notepad++, avec la colorisation syntaxique, quand tu mets le curseur sur une parenthèse/crochet/accolade, tu vois où elle s'ouvre/se ferme. Ainsi on détecte 90% des erreurs et questions posées sur ce topic (et qui ne sont pas évidentes à voir sur le forum du coup) 1
Dragoniacs Posté(e) le 24 octobre 2021 Signaler Posté(e) le 24 octobre 2021 Le message a envoyer par push est le message qu'on affiche derrière le temps de déclenchement. Pas besoin de le placer ailleurs.Envoyé de mon RMX1993 en utilisant Tapatalk 1
Yannick Posté(e) le 26 octobre 2021 Signaler Posté(e) le 26 octobre 2021 Salut à tous, je vais implémenter GEA sur ma HC3 et pour tirer profit au max d'une bonne expérience je voudrais commencer par un cas d'école concret, ce qui me permettra de comprendre la gymnastique à faire pour maitriser la bête (enfin j'espère) J'ai ce scénario qui régit mon allumage automatique de mon entrée lorsque mon motion sensor détecte un mouvement, reste allumé tant qu'il y a du mouvement et s'éteint quand plus aucun mouvement n'est détecté pendant plus de x temps. avec en plus une vérification sur l'heure pour n'allumer que le strict minimum quand c'est en pleine nuit. Voici mon code : --[[ %% properties 624 value 626 value 275 value %% globals --]] local currentDate = os.date("*t"); local currentTime = string.format("%02d", currentDate.hour)..":".. string.format("%02d",currentDate.min); local Sunset = fibaro:getValue(1,'sunsetHour') local Sunrise = fibaro:getValue(1,'sunriseHour') local luminosite = tonumber(fibaro:getValue(626, "value")) --local mouvement1 = tonumber(fibaro:getValue(404, "value")) local mouvement2 = tonumber(fibaro:getValue(624, "value")) --local mouvement1 = tonumber(fibaro:getValue(275, "value")) local seuilluminosite = 60 fibaro:debug("Il est "..currentTime) fibaro:debug("Levé du Soleil : "..Sunrise) fibaro:debug("Couché du Soleil : "..Sunset) fibaro:debug("Luminosité : "..luminosite) fibaro:debug("Mouvement : "..mouvement2) -- test si on est dans la fourchette horaire sinon STOP if (currentTime > "00:00" and currentTime < "07:00") or (currentTime >"09:30" and currentTime < "16:30") then fibaro:debug("Stop") fibaro:abort() end local scenenum = fibaro:countScenes(); fibaro:debug("Nombre de scènes : "..scenenum); if scenenum >= 5 then fibaro:abort(); end -- test si première instance de la scène. on allume et stop if (scenenum >= 1 and luminosite <= seuilluminosite) and ((mouvement2 >=1)) then fibaro:call(245, "setBrightness", "100") fibaro:call(252, "setBrightness", "100") fibaro:call(245, "setColor", "255", "255", "255","0") fibaro:call(252, "setColor", "255", "255", "255","0") fibaro:call(306, "setBrightness", "40") fibaro:call(363 ,"turnOn") fibaro:call(29, "turnOn") fibaro:call(171, "turnOn") fibaro:call(694, "turnOn") fibaro:abort(); end -- ici pour les passages suivants devant le fgms -- après 60sec sans mouvement on éteint setTimeout(function() local delayedCheck0 = false; -- local tempDeviceState0, deviceLastModification0 = fibaro:get(404, "value") local tempDeviceState1, deviceLastModification1 = fibaro:get(624, "value") --local tempsafecouloir = os.time() - deviceLastModification0 local tempsafeescalier = os.time() - deviceLastModification1 -- fibaro:debug("Temps écoulé Couloir : "..(tempsafecouloir/60).." min") fibaro:debug("Temps écoulé Escalier : "..(tempsafeescalier/60).." min") if (tempsafeescalier >= 45) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(29, "turnOff") fibaro:call(171, "turnOff") fibaro:call(363, "turnOff") fibaro:call(694, "turnOff") -- fibaro:call(245, "startProgram","3") -- fibaro:call(252, "startProgram","3") -- fibaro:call(245, "setBrightness","15") -- fibaro:call(252, "setBrightness","15") -- fibaro:call(245, "startProgram","3") --fibaro:call(252, "startProgram","3") setTimeout(function() fibaro:call(245, "turnOff") fibaro:call(252, "turnOff") fibaro:call(306, "turnOff") end,60000) end end,90000) ça pourrait donner quoi en GEA ce genre de scénario ? Merci pour votre aide
Lazer Posté(e) le 26 octobre 2021 Signaler Posté(e) le 26 octobre 2021 J'ai déplacé ton message au bon endroit, je suis sympa car je ne l'ai pas supprimé sans préavis comme expliqué sur l'autre topic Mais euh, désolé là je n'ai aucune motivation pour me lancer dans la lecture de ta longue scène.... GEA est un moteur d'exécution de règles. 1 ligne = 1 règle. Chaque règle comprend 1 ou plusieurs conditions, et 1 ou plusieurs actions. L'ensemble des règles sont parcourues, testée, et exécutées le cas échant, toutes les 30 secondes. Ce n'est pas du tout la même approche qu'une grosse scène complexe qui fait papa maman à boire et à manger. Cela dit GEA fait aussi papa maman à boire et à manger mais avec une approche totalement différente. Le mieux à faire est de te lancer avec des règles simples, que tu étofferas au fur et à mesure, et tu trouveras facilement de l'aide pour te dépanner au cas par cas. Après tout n'est pas faisable avec GEA (ou alors ça serait trop complexe et pas adapté à mon avis). Exemple concret, j'ai une scène réveil douceur qui effectue plusieurs actions pendant plusieurs minutes. Ben là déjà rien qu'en disant ça, on comprend que GEA n'est pas adapté, il vaut mieux se faire une petite scène à coté (que GEA peut déclencher) Idem, j'ai une scène alarme, qui est autonome. Bon cela dit, sauf si quelqu'un est motivé pour lire ta scène en entier... bon courage
Yannick Posté(e) le 27 octobre 2021 Signaler Posté(e) le 27 octobre 2021 Il y a 14 heures, Lazer a dit : J'ai déplacé ton message au bon endroit, je suis sympa car je ne l'ai pas supprimé sans préavis comme expliqué sur l'autre topic Mais euh, désolé là je n'ai aucune motivation pour me lancer dans la lecture de ta longue scène.... GEA est un moteur d'exécution de règles. 1 ligne = 1 règle. Chaque règle comprend 1 ou plusieurs conditions, et 1 ou plusieurs actions. L'ensemble des règles sont parcourues, testée, et exécutées le cas échant, toutes les 30 secondes. Ce n'est pas du tout la même approche qu'une grosse scène complexe qui fait papa maman à boire et à manger. Cela dit GEA fait aussi papa maman à boire et à manger mais avec une approche totalement différente. Le mieux à faire est de te lancer avec des règles simples, que tu étofferas au fur et à mesure, et tu trouveras facilement de l'aide pour te dépanner au cas par cas. Après tout n'est pas faisable avec GEA (ou alors ça serait trop complexe et pas adapté à mon avis). Exemple concret, j'ai une scène réveil douceur qui effectue plusieurs actions pendant plusieurs minutes. Ben là déjà rien qu'en disant ça, on comprend que GEA n'est pas adapté, il vaut mieux se faire une petite scène à coté (que GEA peut déclencher) Idem, j'ai une scène alarme, qui est autonome. Bon cela dit, sauf si quelqu'un est motivé pour lire ta scène en entier... bon courage Merci @Lazer de ne pas m'avoir banni !!! Ouais je vais tenter de transcrire ma scène en LUA... mêmle si je ne suis pas un foudre de guerre en prog.... Merci je vais regarder si je trouve mon bonheur dans le topic
gorn Posté(e) le 27 octobre 2021 Signaler Posté(e) le 27 octobre 2021 Heu... un peu comme @Lazer, pas vraiment de courage pour tout me pogner... GEA.add( {{"Value", id["DET_ALLEE"], 1}, {"(Time)", "Sunset-5", "Sunrise+5"}}, -1, "", {"turnOn", {id["SPOT_ALLEE"], id["ECL_TERRA"], id["ECL_Guirelande"]}, 5*60}, "Détection allée -> Eclairage allée et terrasse pendant 5 minutes") Ce code ne correspond pas tout a fait a ce que tu veux car là, sur une détection, je lance 5 minutes d'éclairage. Pas certain que lorsque le capteur soit réactivé pendant les 5 minutes ça relance tout...
Yannick Posté(e) le 27 octobre 2021 Signaler Posté(e) le 27 octobre 2021 il y a 3 minutes, gorn a dit : Heu... un peu comme @Lazer, pas vraiment de courage pour tout me pogner... GEA.add( {{"Value", id["DET_ALLEE"], 1}, {"(Time)", "Sunset-5", "Sunrise+5"}}, -1, "", {"turnOn", {id["SPOT_ALLEE"], id["ECL_TERRA"], id["ECL_Guirelande"]}, 5*60}, "Détection allée -> Eclairage allée et terrasse pendant 5 minutes") Ce code ne correspond pas tout a fait a ce que tu veux car là, sur une détection, je lance 5 minutes d'éclairage. Pas certain que lorsque le capteur soit réactivé pendant les 5 minutes ça relance tout... Merci @gorn mais comme disait justement @Lazer suis pas certain que ça puisse faire ce que je veux..... je vais regarder autrement.
Lazer Posté(e) le 27 octobre 2021 Signaler Posté(e) le 27 octobre 2021 Si ça peut aider, pensez à allez voir les 2 Showroom GEA, il y a pas mal d'exemples pratiques dont on peut s'inspirer :
971jmd Posté(e) le 27 octobre 2021 Signaler Posté(e) le 27 octobre 2021 salut tout le monde J'essaye de réaliser la fonction suivante: au coucher du soleil active la variable couchesoleil = true GEA.add( {"Time", "Sunset-15"} , 30, "", {{"VariableCache", "couchesoleil", true}}) Mais visiblement ça fonctionne pas Merci d'avance pour votre aide
Lazer Posté(e) le 28 octobre 2021 Signaler Posté(e) le 28 octobre 2021 Il te manque le 2nd argument dans la condition "Time" J'ai pour habitude d'ajouter 1 minute, ce qui laisse une plage assez large de 2 minutes, donc au dessus de l'intervalle GEA de 30 secondes.... ce qui permet d'absorber les éventuels retards ou freeze temporaire de la box. Donc ça donne : {"Time", "Sunset-15", "Sunset-14"} 1
Dragoniacs Posté(e) le 28 octobre 2021 Signaler Posté(e) le 28 octobre 2021 As tu pensé a déclarer ta variable au lancement de GEA ? Via cette ligne :GEA.add( true , 0, "", {{"VariableCache", "couchesoleil", false}}) Envoyé de mon RMX1993 en utilisant Tapatalk 1
971jmd Posté(e) le 28 octobre 2021 Signaler Posté(e) le 28 octobre 2021 ok merci a vous, je teste quand je rentre
nasp Posté(e) le 28 octobre 2021 Signaler Posté(e) le 28 octobre 2021 Bonjour, Je découperai cette ligne en deux : - la première qui déclenche l'allumage de la lumière : GEA.add( {{"Value", id["DET_ALLEE"], 1}, {"(Time)", "Sunset-5", "Sunrise+5"}}, -1, "Détection allée -> Eclairage allée et terrasse pendant 5 minutes", {"turnOn", {id["SPOT_ALLEE"], id["ECL_TERRA"], id["ECL_Guirelande"]}) - la deuxième qui éteint la lumière : GEA.add( {{"(Time)", "Sunset-5", "Sunrise+5"},{id["SPOT_ALLEE"], id["ECL_TERRA"], id["ECL_Guirelande"]}}, 5*60, "Détection allée -> Extinction Eclairage allée et terrasse après 5 minutes") Voilà à quelques choses près ce que ça pourrait donner. Nasp
971jmd Posté(e) le 29 octobre 2021 Signaler Posté(e) le 29 octobre 2021 (modifié) j'ai fait comme ça : ---Au couche soleil GEA.add({"Time", "Sunset-15", "Sunset-14"} , 30, "", {{"VariableCache", "couchesoleil", false} }) --- Au Lever soleil GEA.add({"Time", "Sunrise-15", "Sunrise-14"} , 30, "", {{"VariableCache", "couchesoleil", true} }) --- quand le soleil se lève impossibilité d'allumer la lampe juqu'au coucher GEA.add( {{id["LP_FACADE_EXT"]}, {"VariableCache", "couchesoleil", true}} , -1, "", {{"turnOff", id["LP_FACADE_EXT"]}}) ---au lever du soleil éteindre la lampe GEA.add( {"VariableCache", "couchesoleil", true} , -1, "", {{"turnOff", id["LP_FACADE_EXT"]}}) Modifié le 29 octobre 2021 par 971jmd
CharlesO Posté(e) le 29 octobre 2021 Signaler Posté(e) le 29 octobre 2021 Salut a tous petit question dans le QuickApp GEA sous HC3 ou je place le SMARTLED ? Merci --[[ %% properties %% globals SMARTLED --]]
Lazer Posté(e) le 29 octobre 2021 Signaler Posté(e) le 29 octobre 2021 Nul part, comme indiqué sur le tuto (que tu vas pouvoir relire...) : Citation il n'y a plus besoin (et de toute façon il n'est pas possible) de définir des triggers pour le déclenchement
Manu31 Posté(e) le 30 octobre 2021 Signaler Posté(e) le 30 octobre 2021 Le 28/10/2021 à 17:57, nasp a dit : Bonjour, Je découperai cette ligne en deux : - la première qui déclenche l'allumage de la lumière : GEA.add( {{"Value", id["DET_ALLEE"], 1}, {"(Time)", "Sunset-5", "Sunrise+5"}}, -1, "Détection allée -> Eclairage allée et terrasse pendant 5 minutes", {"turnOn", {id["SPOT_ALLEE"], id["ECL_TERRA"], id["ECL_Guirelande"]}) - la deuxième qui éteint la lumière : GEA.add( {{"(Time)", "Sunset-5", "Sunrise+5"},{id["SPOT_ALLEE"], id["ECL_TERRA"], id["ECL_Guirelande"]}}, 5*60, "Détection allée -> Extinction Eclairage allée et terrasse après 5 minutes") Voilà à quelques choses près ce que ça pourrait donner. Nasp Bonjour @nasp, Je me permets de revenir sur cette exemple car j'aurai une petite question: J'ai fais ceci -- Allume la lumière de l'allée si det garage = on, après le couché et avant levé du soleil GEA.add({{"Value", id["Garage_DetMouv"], 1}, {"Time", "Sunset-5", "Sunrise+5"}}, -1, "", {"turnOn", id["Eclairage_Allee"]}) -- Eteint la lumière de l'allée au bout de 5min GEA.add({"Value", id["Garage_DetMouv"], 0}, 5*60, "", {"turnOff",id["Eclairage_Allee"]}) Le GEA tourne normalement mais ne fait pas l'action Je "suppose" que c'est la valeur du détécteur de mouvement que j'ai au garage qui n'est pas "bonne". c'est un détécteur Aeotec ZW100 MultiSensor6 - Capteur 6 en 1 (mouvements, température, humidité, luminosité, vibrations, UV) Z-Wave+. Ma question : Comment connaitre les valeurs qu'il retourne en cas de détection de mouvement (Breached) quand il est en mode détéction de mouvement. En vous remerciant
CharlesO Posté(e) le 31 octobre 2021 Signaler Posté(e) le 31 octobre 2021 Merci @Lazer j'ai deja commence par mettre a jour mon GEA j'ai une question si possible GEA.add({"Dates", "31/10"}, 30, "", {"httpGet", "http://192.168.1.188/Notification?msg="..urlencode("petit test").. "&lum=15&type=FIX&txt=notif&flash=1"}) la syntaxe et bonne ? merci
Did Posté(e) le 31 octobre 2021 Signaler Posté(e) le 31 octobre 2021 Il y a 12 heures, Manu31 a dit : c'est un détécteur Aeotec ZW100 MultiSensor6 - Capteur 6 en 1 L'Id du capteur est-elle bien déclarée dans l'entête?
Messages recommandés