dvine Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 (modifié) Bonjour, Après une période de calme, je regardais à nouveau le forum et j'ai vu une nouvelle version de GEA et j'ai immédiatement pensé que nous allions tester. J'ai la version fonctionnant sans les conditions "IF" quand je l'ajoute, alors GEA s'arrête Je voulais sur le forum comment cela devrait être différent, mais rien vu peut-être quelqu'un a une réponse, je peux aussi faire un essai pour la nouvelle GEA. Les lignes suivantes fonctionnent dans GEA 5.4 mais GEA 6.04 donne un accidenthello, After a quiet period I was looking at the forum again and saw a new GEA version and immediately thought that we are going to test. I have the version running without the "IF" conditions when I add it then GEA stops Wanted on forum how this should be different but saw nothing maybe someone has an answer then I can also make a test run for the new GEA. I use translate for french sorry for that local avsystem = {"If",{{"Sensor-", id["AV_SYSTEM"], 25}, {"Time","06:30", "12:45"}}} GEA.add( id["KEUKEN_MOTION"], -1, "", {{"turnOn", id["AV_SYSTEM"]}, {"Global","SleepState", "Awake"}, avsystem}) local detectOff = {"If",{{"Sensor-", id["AV_SYSTEM"], 25} ,{"Global", "SleepState", "Sleeping"}}} GEA.add( id["BADKAMER_MOTION"], -1, "detector Off", {{"VirtualDevice", id["PRESENCE_DETECTOR"], "3"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday"}, {"Time","20:30", "23:45"}, detectOff}) GEA.add(true, 30, "", {{"If",{{"Global", "TomWiFi", "0"}, {"Global", "PatriciaWiFi", "0"}, {"Global", "AntoinetteWiFi", "0"}, {"Global", "VD_PD_Status486", "1"}}}, {"VirtualDevice", id["HOME_STATUS"], "2"}}) local away = {"If",{{"Global", "PresentState", "Away"}}} GEA.add( id["HAL_MOTION"], -1, "", {{"VirtualDevice", id["HOME_STATUS"], "1"}, away}) GEA.add(true, -1, "", {{"If",{{"Global", "Buienradar", 1}}}, {"Close", id["ZONNESCHERM"], "100"}}) gives [DEBUG] 11:24:24: line 921: bad argument #1 to 'lower' (string expected, got table) Je vois que IF est supprimé. une idée de comment résoudre ces lignes aloras Modifié le 7 janvier 2018 par dvine
Lazer Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Il y a 18 heures, Sakkhho a dit : Ben je t assure qu il Loupait le passage du fgbs à ON (Je le vois sur mon téléphone mais la sonette ne sonne pas) J'ai constaté ça aussi avec mon FGBS sur la sonnette. A la différence majeure que mon scénario sonnette n'est pas géré par GEA, mais par une scène externe, qui ne fait que ça (donc optimisée pour la performance). Donc GEA n'est pas en cause, c'est la box qui loupe certains événements et ne déclenche pas le trigger de la scène comme elle le devrait. Sans certitude, je soupçonne que ce comportement se produit quand : - la box est déjà occupée à autre chose - pendant ce temps là, l'entrée du FGBS passe tellement vite de 0 à 1 puis reprend son était 1 à 0, que la box loupe le premier front montant, et ne déclenche le trigger de la scène que sur le front descendant du FGBS (alors qu'en temps normal, elle devrait déclencher 2 fois la scène)
schwinny Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Bon je sache et j'appelle a l'aide car je n'arrive pas a trouver l'erre. le pire est qu'avant que je réinstalle la HC2, ça fonctionnais. je veux allumer ma prise a une certaine heure et l'éteindre a une autre. je me prend une erreur pour le moment. [DEBUG] 12:44:54: line 94: attempt to index global 'gea' (a nil value) help me please --[[ %% autostart %% properties %% globals 8 value 60 value 65 value 18 value 13 value 70 value 85 value 21 value 23 value 92 value 97 value 103 value --]] -- ========================================================== -- GEA : Gestionnaire d'Evénements Automatique -- v 6.03 -- Créé par Steven en collaboration avec Pepite et Tibahut -- Remerciement à : -- tous les utilisateurs/testers/apporteurs d'idées du -- forum Domotique-fibaro.fr -- Aux betas testeurs : ADN182, Puni, Basklj, Sonnyboy, Gandalf, -- drboss, ... -- ========================================================== -- v.6.03 -- add : #datefull# dans les messages pour obtenir "dimanche 24 décembre 2017" -- mod : Code interne de Weather -- add : {"WeatherLocal"} .. identique à {"Weather"} mais traduit -- ========================================================== function config() -- -------------------------------------------------------- -- CONFIGURATON GENERALE -- -------------------------------------------------------- GEA.checkEvery = 30 GEA.debug = true GEA.portables = {40,46,90} GEA.globalvariables = "GEA_Tasks" GEA.control = true GEA.batteriesWithRoom = true GEA.language = "fr" -- -------------------------------------------------------- -- "PLUGINS" GEA -- @Steven décline toute responsabilité d'INSTABILITE de GEA -- en cas d'utilisation de ces plugins, SUPPORT non ASSURE -- -------------------------------------------------------- -- Exemple d'option propres à l'utilisateur. -- Je souhaite être averti s'il y a une détection (ID 112) pendant que -- je suis en vacances (Variable Globale "Presence" == Vacances) -- GEA.options.detection = {name="Detection", -- getValue = function(id_detecteur) -- return fibaro:getGlobalValue("Presence") == "Vacances" and fibaro:getValue(id_detecteur, "value") ~= "0" -- end, -- } --GEA.add( {"Detection", 112}, -1, "Un mouvement a été détecté pendant mes vacances, le #date# à #time#") -- -------------------------------------------------------- -- FIN CONFIGURATION GENERALE -- -------------------------------------------------------- end function setEvents() -- -------------------------------------------------------- -- LE CODE UTILISATEUR DOIT ALLER ICI -- -------------------------------------------------------- local id={ Lumiere_Salon = 8, Lumiere_Cuisine = 60, Lumiere_SDB = 65, Lumiere_WC = 13, Lumiere_Chambre = 18, Lumiere_Chambre_2 = 70, Prise_Apple_Watch = 85, Prise_Chambre = 21, Prise_Couloir = 23, Prise_Hue_Salon = 92, Prise_Mac = 103, Prise_Canape = 97 } gea.add({"TurnOn", id["Prise_Couloir"]},{"Time", "12:20", "12:20"}) -- -------------------------------------------------------- -- FIN DU CODE UTILISATEUR -- -------------------------------------------------------- end
mateli31 Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Bonjour, J'ai une petite installation avec pour l'instant uniquement des détecteur d'ouverture et sirène. J'utilisais GEA seulement pour gérer les notifications d'ouvertures et fermeture de portes. J'ai deux scènes séparés pour armer automatiquement les détecteurs d'ouvertures à 23h et pour désarmer automatiquement à 6:00. Je souhaiterai transformer les deux scènes blocs dans le GEA afin de réduire le nombre de scène. I- Armement automatique 1- ARMER 6 détecteur d'ouverture à 23:00 2- Envoyer des notifications push sur 3 portables 3- Envoyer des SMS depuis l'API free (fibaro:call(124, "pressButton", "2");) mais je ne sait pas comment transformer en syntaxe GEA II- Désarmement automatique Si j'ai la syntaxe pour armer je devrais pouvoir me débrouiller pour désarmement Je viens de faire l'acquisition d'un micro module pour volet roulant et deux keyfob. J'ai installé le micro module avec succès et je me penche à nouveau sur le GEA que j'aimerai utiliser un peu plus que simplement pour les notifications. Maintenant que j'ai testé que je peux installer les micro modules à mes volets, je vais en installer de nouveau. J'aimerai cependant commencé a intégrer mon nouveau micro module dans GEA mais je ne sait pas comment traduire ce que je veut en LUA dans GEA. III- Ouverture des volets roulants 1- Ouvrir les volets roulants 30 minutes après le lever du soleil IV- Fermeture des volets roulants 1- Fermer les volets roulants 30 minutes après le lever du soleil uniquement si la porte est fermé Merci par avance Mateli
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 tu dois faire comme ceci @schwinny gea.add({"Time", "12:20", "12:20"},30,"", {"TurnOn", id["Prise_Couloir"]}) @Lazer, possible mais ca fonctionnait en 5.40. Mais du coup j'ai mis 1s sur le paramètre 1 du FGBS et donc ca marche à chaque fois maintenant 1
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 bon j'ai l'impression que ces lignes ne sont pas passées non plus - faut que je creuse pourquoi -- Lave Linge GEA.add({"Global", "Lave_Linge", "En Attente"}, 5*60, "La machine est terminée depuis #duration#",{"Portable", {562, 564,499}}) GEA.add({"Sensor-", id["WP_LAVE_LINGE"], 2.8}, 30*60, "", {{"Global", "Lave_Linge", "Arret"}}) GEA.add({"Sensor+", id["WP_LAVE_LINGE"], 3}, 2*60, "", {{"Global", "Lave_Linge", "Lavage"}}) GEA.add({{"Sensor+", id["WP_LAVE_LINGE"], 1},{"Sensor-", id["WP_LAVE_LINGE"], 2.8}, {"Global", "Lave_Linge", "Lavage"}}, 1*60, "", {{"Global", "Lave_Linge", "En Attente"}})
schwinny Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 il y a une heure, Sakkhho a dit : tu dois faire comme ceci @schwinny gea.add({"Time", "12:20", "12:20"},30,"", {"TurnOn", id["Prise_Couloir"]}) @Lazer, possible mais ca fonctionnait en 5.40. Mais du coup j'ai mis 1s sur le paramètre 1 du FGBS et donc ca marche à chaque fois maintenant Merci mais ça deconne encore --[[ %% autostart %% properties %% globals 8 value 60 value 65 value 18 value 13 value 70 value 85 value 21 value 23 value 92 value 97 value 103 value --]] -- ========================================================== -- GEA : Gestionnaire d'Evénements Automatique -- v 6.03 -- Créé par Steven en collaboration avec Pepite et Tibahut -- Remerciement à : -- tous les utilisateurs/testers/apporteurs d'idées du -- forum Domotique-fibaro.fr -- Aux betas testeurs : ADN182, Puni, Basklj, Sonnyboy, Gandalf, -- drboss, ... -- ========================================================== -- v.6.03 -- add : #datefull# dans les messages pour obtenir "dimanche 24 décembre 2017" -- mod : Code interne de Weather -- add : {"WeatherLocal"} .. identique à {"Weather"} mais traduit -- ========================================================== function config() -- -------------------------------------------------------- -- CONFIGURATON GENERALE -- -------------------------------------------------------- GEA.checkEvery = 30 GEA.debug = true GEA.portables = {40,46,90} GEA.globalvariables = "GEA_Tasks" GEA.control = true GEA.batteriesWithRoom = true GEA.language = "fr" -- -------------------------------------------------------- -- "PLUGINS" GEA -- @Steven décline toute responsabilité d'INSTABILITE de GEA -- en cas d'utilisation de ces plugins, SUPPORT non ASSURE -- -------------------------------------------------------- -- Exemple d'option propres à l'utilisateur. -- Je souhaite être averti s'il y a une détection (ID 112) pendant que -- je suis en vacances (Variable Globale "Presence" == Vacances) -- GEA.options.detection = {name="Detection", -- getValue = function(id_detecteur) -- return fibaro:getGlobalValue("Presence") == "Vacances" and fibaro:getValue(id_detecteur, "value") ~= "0" -- end, -- } --GEA.add( {"Detection", 112}, -1, "Un mouvement a été détecté pendant mes vacances, le #date# à #time#") -- -------------------------------------------------------- -- FIN CONFIGURATION GENERALE -- -------------------------------------------------------- end function setEvents() -- -------------------------------------------------------- -- LE CODE UTILISATEUR DOIT ALLER ICI -- -------------------------------------------------------- local id={ Lumiere_Salon = 8, Lumiere_Cuisine = 60, Lumiere_SDB = 65, Lumiere_WC = 13, Lumiere_Chambre = 18, Lumiere_Chambre_2 = 70, ------- Prise_Apple_Watch = 85, Prise_Chambre = 21, Prise_Couloir = 23, Prise_Hue_Salon = 92, Prise_Mac = 103, Prise_Canape = 97 } gea.add({"Time", "14:51", "14:51"},30,"", {"TurnOn", id["Prise_Couloir"]}) -- -------------------------------------------------------- -- FIN DU CODE UTILISATEUR -- -------------------------------------------------------- end -- ========================================================== -- NE PLUS RIEN TOUCHER -- ========================== .... Erreur suivante: [DEBUG] 14:52:04: Démarrage automatique de GEA 6.03 (mode autostart) [DEBUG] 14:52:04: -------------------------------------------------------------------------------- [DEBUG] 14:52:04: Utilisation de minifiertools v. 2.00 [DEBUG] 14:52:04: Vérification automatique toutes les 30 secondes [DEBUG] 14:52:04: Création de la variable globale : GEA_Tasks [DEBUG] 14:52:04: Création de la variable globale : GEA_History [DEBUG] 14:52:04: -------------------------------------------------------------------------------- [DEBUG] 14:52:04: Recherche de plugins, ... :Aucun plugins trouvé [DEBUG] 14:52:04: Chargement du code utilisateur setEvents() ... [DEBUG] 14:52:04: -------------------------------------------------------------------------------- [DEBUG] 14:52:04: line 90: attempt to index global 'gea' (a nil value)
pepite Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 @dvine In GEA V6 "IF" is useless and doesn't work anymore. Like this should work as you want GEA.add( { {id["KEUKEN_MOTION"], {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","06:30", "12:45"} }, -1, "", { {"turnOn", id["AV_SYSTEM"]}, {"Global","SleepState", "Awake"} }) GEA.add({"Global", "Buienradar", 1}, -1, "", {"Close", id["ZONNESCHERM"]} ) @schwinny GEA.add et non gea.add en plus de la ligne de @Sakkhho @sakkhho, tu as quand même beaucoup de ligne qui ne fonctionne pas. Pense à nous mettre le début stp, et vérifie si tu as bien : "validation, démarrage, action" 1 1
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 mon debut étant --[[ %% autostart %% properties 318 power 50 value 67 value 147 value 181 value 215 value 244 value 250 value 262 value 295 value 403 value 554 value 555 value %% globals --]] je te MP mon GEA entier si tu veux jeter un coup d'oeil
dvine Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 il y a une heure, pepite a dit : @dvine In GEA V6 "IF" is useless and doesn't work anymore. Like this should work as you want GEA.add( { {id["KEUKEN_MOTION"], {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","06:30", "12:45"} }, -1, "", { {"turnOn", id["AV_SYSTEM"]}, {"Global","SleepState", "Awake"} }) GEA.add({"Global", "Buienradar", 1}, -1, "", {"Close", id["ZONNESCHERM"]} ) @schwinny @Sakkhho GEA.add( {{id["KEUKEN_MOTION"], {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","06:30", "12:45"}}, -1, "", {{"turnOn", id["AV_SYSTEM"]}, {"Global","SleepState", "Awake"}}}) gives duration error.... ? I'm I correct with this line? 3 conditions make VD press button 3 GEA starts but Error code message missing, try empty "" on all sections but no luck... GEA.add( {{"Global", "SleepState", "Sleeping"}, {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","20:30", "23:45"}, {id["BADKAMER_MOTION"], -1}}, {"VirtualDevice", id["PRESENCE_DETECTOR"], "3"})
pepite Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 (modifié) @dvine Like this, syntax error, my fault ;-) GEA.add( {id["KEUKEN_MOTION"], {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","06:30", "12:45"} }, -1, "", { {"turnOn", id["AV_SYSTEM"]}, {"Global","SleepState", "Awake"} }) GEA.add( {id["BADKAMER_MOTION"], {"Global", "SleepState", "Sleeping"}, {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","20:30", "23:45"} }, -1, "", {"VirtualDevice", id["PRESENCE_DETECTOR"], "3"}) and maybe substitue Sensor with Power ;-) if it doesn't work. Modifié le 7 janvier 2018 par pepite 1
MAM78 Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 hello @Steven Il semblerait que ta réécriture de la fonction #datefull# ne fonctionne pas le dimanche : if (message:find("#datefull#")) then local jour = os.date("%w") if (jour == 0) then jour = 6 else jour = jour-1 end message = message:gsub("#datefull#", GEA.trad.week[tonumber(jour)+1] .. " " .. os.date("%d").. " " .. GEA.trad.months[tonumber(os.date("%m"))].. " " .. os.date("%Y")) end J'ai l'erreur suivant sur la ligne message : message:sub ................. [DEBUG] 17:01:23: line 1475: attempt to concatenate field '?' (a nil value)
Lazer Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Faut quand même pas trop en demander à GEA le jour du seigneur 1 1
MAM78 Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 (modifié) En fait, la ligne ci-dessous retourne une valeur string et non numérique local jour = os.date("%w") J'ai modifié le code de cette façon : if (message:find("#datefull#")) then local jour = tonumber(os.date("%w")) if (jour == 0) then jour = 6 else jour = jour-1 end message = message:gsub("#datefull#", GEA.trad.week[tonumber(jour)+1] .. " " .. os.date("%d").. " " .. GEA.trad.months[tonumber(os.date("%m"))].. " " .. os.date("%Y")) end Modifié le 7 janvier 2018 par MAM78
dvine Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 il y a 51 minutes, pepite a dit : @dvine Like this, syntax error, my fault ;-) GEA.add( {id["KEUKEN_MOTION"], {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","06:30", "12:45"} }, -1, "", { {"turnOn", id["AV_SYSTEM"]}, {"Global","SleepState", "Awake"} }) GEA.add( {id["BADKAMER_MOTION"], {"Global", "SleepState", "Sleeping"}, {"Sensor-", id["AV_SYSTEM"], 25}, {"Time","20:30", "23:45"} }, -1, "", {"VirtualDevice", id["PRESENCE_DETECTOR"], "3"}) and maybe substitue Sensor with Power ;-) if it doesn't work. Thanks, get the feeling a bit better now with the new codes. All lines now intergrated in the new GEA wil do the test run now.... Big thanks for all you people that making this and helping me out... 1
MAM78 Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Voici une mise à jour de la version 6.04 toujours en beta en attente de validation par @Steven et @pepite gea_6_04.lua Elle intègre les modifications suivantes : -- ========================================================== -- v.6.04 modify by MAM78 the 7 jan. 2018 -- add : Sonos TTS message function -- add : Sonos MP3 message function and add sonosMP3foldername variable, -- mod : debug the transpose function -- add : #tempsext# substitution text for the external temperature rounded without decimals -- mod : modify the action message in debug windows with the transposed values -- mod : correction of the #datefull# substitution text -- mod : Sonos TTS message function, -- optional volume parameter, if not specified the value will be 30 -- mod : Sonos MP3 message function and add sonosMP3foldername variable, -- optional volume parameter, if not specified the value will be 30 -- language parameter is no longer needed, automatically determine based on GEA.language -- ========================================================== 2 1
kioneoranga Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 (modifié) Bonsoir tout le monde Voici maintenant que depuis hier soir, dès le couché du soleil et jusqu'au levé, le watchdog relance l'une de mes deux instances GEA vers 6.03 La plus importante traitant la majeur partie des automatisations de la maison..... Meme durant notre sommeil lorsque la maison est au plus calme.... La nuit dernière l'instance à redémarrer toutes les minutes... Voici l'erreur indiquée dans le Watchdog [DEBUG] 19:32:36: Scene(462) Found string "GEA fonctionne depuis" [DEBUG] 19:32:36: Scene(462) oldest debug timestamp more recent than interval [DEBUG] 19:32:36: Scene(464) oldest debug timestamp more recent than interval Je viens donc augmenter le timing de 12 à 14 min, rien à faire Ce qui est étrange c'est que de tout le dimanche aucun redémarrage de l'instance Cela a vraiment commencé à dysfonctionner à 17h33 ce soir, lors du couché du soleil.... Pourtant depuis hier je n'ai rien modifié à mon code... Cela devient compliquer avec la jeunesse :-) Remarque concernant le Watchdog Il indiquait avec la vers 5, plus de détail lorsqu'il redémarrait à tout hasard GEA 5, là il n'y pas grand chose comme détail. ===================================================== UPDATE En fait je viens de me rendre compte que le mail que je recois ne provient pas du Watchdog mais de la ligne suivante, seule ligne modifiée hier ==> GEA.add(true, 0, "Démarrage de GEA Maison le #date# à #time#",{{"Email", id["USER_ERIC"],"Redémarrage GEA Maison- #date#","ALERTE TECHNIQUE - HC2"}}) Je viens de retirer l'envoi de mail. Cela n'explique pas pourquoi, l'envoi du mail à commencer au coucher du soleil..... Modifié le 7 janvier 2018 par kioneoranga
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Bon c est confirmé open ou close 100 ça marche pas. Il faut open ou close seul. Et puis petits malins vous avez changer la façon de faire. Un close 60 et maintenant égale à un close 40.m car je suppose que vous avez adopter le 0 = fermé100= ouvert. J ai bon ?
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 Je sais pas, on me l'a fait changer il y a pas longtemps. Pour moi un close 100% devrait tout fermer et un open 100% devrait tout ouvrir .. donc un close 60% doit être égale à un open 40% ... si on est d'accord, je travail là dessus. 1
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Oui je préférerai cette logique. close 0-100 ( 100 étant fermé)Ou open 0-100 ( 100 étant ouvert)
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 C'est corrigé pour la prochaine version 1
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 Par contre, j'ai vu que tu faisait {"Open", {id1, id2}, valeur} or pour Open et Close la version actuelle ne peut prendre qu'un seul id. Je change cela aussi. 1
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 C est dans la syntaxe Gea 6 pourtant.
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 Ben la syntaxe sera juste dès la prochaine version 1 2
Messages recommandés