-
Compteur de contenus
167 -
Inscription
-
Dernière visite
-
Jours gagnés
10
Tout ce qui a été posté par Felig
-
Je n'ai pas de vanne chez moi, et je ne sais pas quel module tu utilises, mais en général, la valeur du thermostat d'un module est dans une propriété spécifique (pour la différencier des valeurs de température ou de durée de consigne manuelle notamment). Essaie ceci: GEA.add( {{"Value+", id["BUREAU_VANNE_THERMO"], 12}}, 10, "", {"ThermostatLevel", id["BUREAU_VANNE_THERMO"], 10}, "Changement consigne thermostat" ) Je te conseille la lecture du fichier syntaxe_GEA. Il y a des commandes pour augmenter la température de 1° par exemple. Si ca ne marche pas il faudra trouver le nom de la propriété dans le json du module et la changer directement avec la fonction "Property"
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@971jmd Les premiers guillemets ont effectivement toujours été là. A l'origine GEA était surtout conçu pour envoyer des notifications via email ou push (genre "porte de garage ouverte depuis 30 minutes!") donc les "" ont été inclus dans la syntaxe de base, même s'ils sont rarement utilisés aujourd'hui. Les deuxièmes "" sont relativement nouveaux (ca doit se compter en années quand même ?): ils servent juste à indiquer ce que GEA fait dans le log console, ça permet de mieux suivre ce qui se passe en cas de pb. Le premier "" est obligatoire mais tu peux supprimer les deuxièmes: ils sont optionnels.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@SGBVida Tu crées un script dans une scène "Test" du genre: device = 323 local value = fibaro:getValue(device, "value") fibaro:debug('Current value = '.. tostring(value)) -- turn On fibaro:call(device, "turnOn") fibaro:debug("Envoi commande turnOn et attente 1s") fibaro:sleep(1000) value = fibaro:get(device,"value") fibaro:debug("=> Nouvelle valeur = "..tostring(value)) -- turn Off fibaro:call(device, "turnOff") fibaro:debug("Envoi commande turnOff et attente 1s") fibaro:sleep(1000) value = fibaro:get(device,"value") fibaro:debug("=> Nouvelle valeur = "..tostring(value)) Tu peux aussi consulter le json du device: http://192.168.1.xxx/api/devices/323 (rechercher le champ "value")
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui, il faut bien les 3 lignes. Et pour répondre à ta précédente question @SGBVida c'est plus propre d'avoir une commande pour chaque action (éviter les OR). Comme Lazer j'ai une seule scène GEA avec une centaine d'instructions et ça marche parfaitement. Pour ta lumière, elle est peut-être sur variateur. Essaie ceci (changement dans la 3è ligne: value 1 remplacé par value+ 0) GEA.add({ {"Value", id["BUREAU_MOTION"], 1}, { "Value-", id["BUREAU_LIGHT"], seuilLuminosite}, {"Time", "07:00", "21:00"}, {"Days", "WeekDays"} }, -1, "", {"turnOn", id["BUREAU_LUMIERE"]}, "Bureau Présence détectée -> allumage de la lumière (Semaine)") GEA.add({ {"Value", id["BUREAU_MOTION"], 1}, { "Value-", id["BUREAU_LIGHT"], seuilLuminosite}, {"Time", "10:00", "21:00"}, {"Days", "WeekEnd"} }, -1, "", {"turnOn", id["BUREAU_LUMIERE"]}, "Bureau Présence détectée -> allumage de la lumière (Week end)") GEA.add({ {"Value+", id["BUREAU_LUMIERE"], 0}, {"Value", id["BUREAU_MOTION"], 0} }, 10*60, "", {"turnOff", id["BUREAU_LUMIERE"]}, "Plus de mouvement -> extinction lumière")
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@SGBVida Le fait que le déclenchement ne soit pas instantané est normal. GEA fait un check toutes les 30 secondes, donc ça peut prendre au maximum 30 secondes. Si tu veux un déclenchement instantané, if faut remplacer le 0 par -1, et ajouter '123 value' en-dessous de %%properties au début du script de la scène (remplacer 123 par l'id de BUREAU_MOTION). Regarde les pages précédentes, gorn avait un cas similaire. Ensuite tout dépend de ce que tu veux faire. Tu peux faire une extinction automatique de la lampe au bout d'un certain délai sans mouvement. Par exemple: GEA.add({ {"Value", id["BUREAU_MOTION"], 1}, { "Value-", id["BUREAU_LIGHT"], seuilLuminosite}, {"Time", "07:00", "21:00"}, {"Days", "WeekDays"} }, -1, "", {"turnOn", id["BUREAU_LUMIERE"]}, "Bureau Présence détectée -> allumage de la lumière (Semaine)") GEA.add({ {"Value", id["BUREAU_MOTION"], 1}, { "Value-", id["BUREAU_LIGHT"], seuilLuminosite}, {"Time", "10:00", "21:00"}, {"Days", "WeekEnd"} }, -1, "", {"turnOn", id["BUREAU_LUMIERE"]}, "Bureau Présence détectée -> allumage de la lumière (Week end)") GEA.add({ {"Value", id["BUREAU_LUMIERE"], 1}, {"Value", id["BUREAU_MOTION"], 0} }, 10*60, "", {"turnOff", id["BUREAU_LUMIERE"]}, "Plus de mouvement -> extinction lumière")
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Domodial Dans ma version 6.11F (postée page précédente) j'avais fait la correction de l'appel d'API mentionée par Lazer. Mais si tu fais un upgrade autant passer à la version 6.13 (que je n'ai jamais testée).
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bravo. Tu verras en faisant tes tests que la lumière disparait avant l'heure officielle du coucher du soleil, et apparait après (le délai exact dépend des nuages). C'est pour ça que j'utilise Sunset-20 et Sunrise+20. Have fun.
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@gorn Ok, j'ai trouvé, la ligne 2019 correspond au chargement des plugins GEA. il faut que tu effaces la variable globale "GEA_Plugins". Je te conseille d'effacer toutes les variables GEA en fait. Elles seront recréées au premier lancement de GEA.
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@flacon030 Essaie ceci (remplace 98 par le numéro de ta scène) GEA.add( {"Time", "17:25"}, 0, "", {"DisableScenario", 98}, "Désactivation scène") GEA.add( {"DisableScenario", 98}, 30, "", {"EnableScenario", 98}, "Activation scène")
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@gorn Je me demande s'il n'y a pas un pb avec ta version de GEA. Essaie le fichier GEA ci-joint (version 6.11 un peu customisée, je suis maniaque sur les messages dans la console ). J'ai déjà saisi tes paramètres et testé sur ma HC2. Alternativement tu peux poster ton fichier GEA complet que je regarde à quoi correspond la ligne où il y a erreur. GEA 6.11F clean.lua
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
J'utilise des formats numériques sur tous mes détecteurs d'ouverture et ça fonctionne. GEA doit faire l'ajustement de format. @gorn on va essayer d'isoler l'erreur, essaie les lignes suivantes une par une. Mais avant tout, vérifie bien que l'id 181 est la bonne ! (test avec une autre id qui est valide éventuellement). GEA.add({"Value", 177, 1}, 0, "", {"turnOn", 181}, "TEST 1") GEA.add({"Value", 177, 1}, -1, "", {"turnOn", 181}, "TEST 2") GEA.add({"Value", 177, 1}, -1, "", {"turnOn", 181, 5*60}, "TEST 3")
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@gorn Voici un exemple ci-dessous. Pour un déclenchement immédiat, tu peux remplacer le 0 qui est après les conditions par -1. GEA.add({ {"Value", id["DETECTEUR"], 1}, {"Time", "Sunrise-20", "Sunset+20"} }, 0, "", {"turnOn", 73, 5*60}, "Présence détectée -> spot allumé")
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, J'arrive avec 2 ans de retard sur ce post (j'ai découvert le pb en achetant de nouveaux radiateurs) et je confirme que je suis finalement arrivé à inclure 2 modules de génération 5 en utilisant la méthode de @stakini ci-dessus. Je suis en HC2 V4.60. Je lance l'inclusion, je l'interromps pendant la boucle sans fin en excluant le module, je reboot la HC2, je recommence, je reboot, je relance l'inclusion, cette fois-ci j'attends 5-10 minutes, et TADA! (on a l'impression d'avoir gagné à la loterie). C'est stressant, mais ça vaut le coup de s'entêter un peu avant de renvoyer ses modules. PS: Je ne sais pas si ça a un rapport, mais j'ai déclenché l'inclusion en appuyant 2-3 secondes sur le bouton des modules (et non en débranchant/rebranchant le courant).
-
Bonjour, Je viens de tomber sur ce sujet et suis en train de configurer Heating Manager pour l'une de mes pièces. J'ai téléchargé les fichiers de MAM78 qui me semblaient plus récents que ceux du premier post (et j'adore les icones ;). Par contre je suis tombé sur plusieurs bugs que j'ai corrigés comme suit: 1) La création des variables globales (si elles n'existent pas déjà) échoue. Il faut remplacer "isEnum=0" par "isEnum=false" (2 occurences dans le code lua principal, et une dans celui du VD). C'est un bug que j'avais signalé dans GEA également, apparemment la syntaxe de api.post a été modifiée dans une mise à jour de Fibaro. function HM:setVariables() if (isnil(_f:getGlobalValue("HeatingManager"))) then api.post("/globalVariables", {name="HeatingManager", isEnum=false}) end if (isnil(_f:getGlobalValue("HeatingManagerIDs"))) then api.post("/globalVariables", {name="HeatingManagerIDs", isEnum=false}) end 2) Il faut remplacer "eventSetpoint = getThermostatSetpoint(room.idRoom, self.ln[self.HMCF.language].holidays)" par "eventSetpoint = getThermostatSetpoint(room.idRoom, self.ln["fr"].holidays)" (3 occurences dans le code lua principal). En effet ce paramètre est utilisé pour identifier les labels du VD Thermostat, qui sont toujours en français ("lblVacances"). Pour ceux qui ont configuré Fibaro en anglais par défaut comme moi, ça plante car le programme cherche un label "lblHolidays" qui n'existe pas. if (event.setpoint > 500 and event.setpoint <= 1500) then eventSetpoint = getThermostatSetpoint(room.idRoom, self.ln["fr"].holidays) - (holidays - event.setpoint) elseif (event.setpoint > 2000 and event.setpoint <= 6500) then eventSetpoint = getThermostatSetpoint(room.idRoom, self.ln["fr"].eco) - (eco - event.setpoint) elseif (event.setpoint > 2000 and event.setpoint <= 7500) then eventSetpoint = getThermostatSetpoint(room.idRoom, self.ln["fr"].comfort) - (comfort - event.setpoint) else eventSetpoint = event.setpoint end 3) Enfin, dans la fonction HM:getRawSetpoint il faut enlever "local" dans la déclaration de la variable mode. En effet cette variable est utilisée quelques lignes plus bas, en-dehors de la boucle if. function HM:getRawSetpoint(source, idRoom) local ids = json.decode(_f:getGlobalValue("HeatingManagerIDs")) local idRoom = tostring(idRoom) if (isnotnil(ids[idRoom])) then mode = string.alpha(_f:getValue(ids[idRoom], "ui.lblMode.value")) -- et non pas: local mode = ... Voilà j'espère que ce sera utile aux nouveaux utilisateurs. Si je trouve d'autres bugs je posterai.
-
C'est juste pour que la tache ne se déclenche pas si la lumière est déjà allumée. TurnOff utilisé en condition permet de vérifier qu'une device est éteinte. De même dans la deuxième ligne, {"turnOff",id["MVT_CUISINE"]} permet de s'assurer que la lumière ne s'éteindra que si il n'y pas eu de mouvement pendant 2 minutes.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
A priori tu n'as besoin ni de Repeat ni de RestartTask. Essaye ceci: GEA.add({id["MVT_CUISINE"],{"Value-", id["LUX_CUISINE"], 20},{"TurnOff", id["ECL_LED_CUISINE"]}}, -1, "", {"TurnOn", id["ECL_LED_CUISINE"]}) GEA.add({id["ECL_LED_CUISINE"],{"turnOff",id["MVT_CUISINE"]}}, 2*60, "", {"turnOff"})
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, Comme beaucoup je trouve la fonction PressButton de Fibaro mal faite: contrairement à un Label qu'on peut sélectionner par son identifiant, un bouton doit être sélectionné en fonction de sa position dans le Virtual Device, ce qui est source d'erreur, et oblige à réécrire toutes les fonctions en cas de modification de la structure du VD. Ci-joint deux fonctions qui permettent de pallier ce problème dans GEA: "PressButtonLabel" permet de sélectionner un bouton en fonction de son libellé (ce qui est affiché dessus). Attention: si plusieurs boutons ont le même libellé dans le même VD, le résultat sera aléatoire! Exemple d'utilisation: GEA.add({"Time","08:00"},0,"",{"PressButtonLabel",id["VOLETS"]","Monter"}) "PressButtonId" permet de sélectionner un bouton en fonction de son identifiant (dans l'onglet Advanced, c'est le nom qui apparait dans le champ "ID:"). Cet identifiant est unique et ne change pas si le reste du VD est modifié. Exemple d'utilisation: GEA.add({"Time","08:00"},0,"",{"PressButtonId",id["VOLETS"]","BtnMonter"}) Laquelle de ces fonctions privilégier ? "PresButtonLabel" est plus intuitif, il suffit de savoir ce qui est affiché sur le bouton pour l'utiliser. "PressButtonId" est cependant plus fiable: l'expérience prouve qu'on ne change jamais l'identifiant d'un bouton, alors que ça peut arriver avec un libellé. Par ailleurs "PressButtonId" utilise un identifiant unique. Autre avantage important commun à ces deux fonctions: le programme vérifiera si le bouton en question existe au démarrage de GEA (par contre si vous modifiez le bouton pendant que GEA est lancé, ce ne sera pas détecté). Pour utiliser ces fonctions, il suffit d'ajouter le code ci-dessous dans la section CONFIGURATION GENERALE de GEA: GEA.checkButton = function(id,property,text) if property ~= "name" and property ~= "caption" then return false end local vds = api.get("/virtualDevices/"..id) if not(vds) then return false end for _, row in pairs(vds.properties.rows) do if (row.type == "button") then for _, element in pairs(row.elements) do if not(element[property]) then return false end if element[property] == text then return tostring(element.id) end end end end return false -- Bouton n'existe pas end -- ---------------------------------------------------------- -- PressButtonLabel: Equivalent à PressButton mais sélectionne le bouton -- en fonction de son libellé (ce qui est affiché dessus). Attention: -- si plusieurs boutons ont le même libellé, le résultat sera aléatoire! -- Ex: GEA.add({"Time","08:00"},0,"",{"PressButtonLabel",id["VOLETS"]","Monter"}) -- ---------------------------------------------------------- GEA.options.pressbuttonlabel = { name = "PressButtonLabel", control = function(id,label) if GEA.checkButton(id,"caption",label) then return true else return false, string.format(GEA.trad.label_missing, id, label) end end, action = function(id,label) fibaro:call(id,"pressButton",GEA.checkButton(id,"caption",label)) end } -- ---------------------------------------------------------- -- PressButtonId: Equivalent à PressButton mais sélectionne le bouton -- en fonction de son identifiant (modifiable dans l'onglet Advanced). -- Cet identifiant unique ne change pas si le reste du VD est modifié. -- Ex: GEA.add({"Time","08:00"},0,"",{"PressButtonId",id["VOLETS"]","BtnMonter"}) -- ---------------------------------------------------------- GEA.options.pressbuttonid = { name = "PressButtonId", control = function(id,name) if GEA.checkButton(id,"name",name) then return true else return false, string.format(GEA.trad.label_missing, id, name) end end, action = function(id,name) fibaro:call(id,"pressButton",GEA.checkButton(id,"name",name)) end } PS: J'imagine que je ne suis pas le seul à avoir eu ce besoin, et sans doute d'autres ont posté des solutions équivalentes, désolé si c'est le cas. Mon code est très largement inspiré de la fonction checkLabel qui a été ajoutée dans GEA 6.10. Merci à @Steven et aux autres développeurs. PS2: Les noms de mes fonctions sont un peu longs, n'hésitez pas à changer pour VDname et VDid par exemple. PS3: Pour éviter de modifier GEA j'utilise le même message d'erreur que pour un Label inexistant. Pour les puristes, il faudrait ajouter un message d'erreur spécifique "button_missing" dans les traductions.
- 12 330 réponses
-
- 3
-
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
J'ai fait d'autres tests: quand la variable est créée la première fois il y a quand même un message d'erreur (le même que ci-dessus) car elle est vide. Je suggère donc la correction suivante (la ligne d'origine est celle qui commence par --) restarttask = {name="RestartTask", ------------------------ MODIF FELIG --------------------------------------------------------------------------- getValue=function(taskid) if tools.isNil(GEA.GlobalValue) then return nil else return GEA.globalvalue:find("|R_" .. taskid.."|") end end, --getValue=function(taskid) return GEA.globalvalue:find("|R_" .. taskid) end, ------------------------ FIN MODIF ------------------------------------------------------------------------------ action=function(taskid) if (type(taskid) ~= "table") then taskid = {taskid} end for i=1, #taskid do if (taskid[i]=="self") then taskid[i]=GEA.currentEntry.id end GEA.globalvalue = GEA.globalvalue:gsub("|R_" .. taskid[i].."|", ""):gsub("|M_" .. taskid[i] .. "{(%d+)}|", ""):gsub("|S_" .. taskid[i].."|", "") .. "|R_" .. taskid[i].."|" end end }, stoptask = {name="StopTask", ------------------------ MODIF FELIG --------------------------------------------------------------------------- getValue=function(taskid) if tools.isNil(GEA.GlobalValue) then return nil else return GEA.globalvalue:find("|S_" .. taskid.."|") end end, --getValue=function(taskid) return GEA.globalvalue:find("|S_" .. taskid) end, ------------------------ FIN MODIF ----------------------------------------------------------------------------- action=function(taskid) if (type(taskid) ~= "table") then taskid = {taskid} end for i=1, #taskid do if (taskid[i]=="self") then taskid[i]=GEA.currentEntry.id end GEA.globalvalue = GEA.globalvalue:gsub("|S_" .. taskid[i].."|", ""):gsub("|M_" .. taskid[i] .. "{(%d+)}|", ""):gsub("|R_" .. taskid[i].."|", "") .. "|S_" .. taskid[i].."|" end end },
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je suis en 4.55 (je viens de mettre à jour mon profil).
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
J'ai eu exactement le même bug en passant de 6.07 à 6.11 en copiant/collant le code dans la scène du précédent GEA. Le numéro de ligne est différent mais correspond également à la fonction RestartTask (que je n'utilise pas dans mon code). J'ai essayé de coller dans une nouvelle scène mais même erreur. Edit: L'erreur vient du fait que mon GEA n'arrive pas à créer de variable globale. J'ai du créer GEA_Tasks6 manuellement et maintenant tout fonctionne. Mon ancien GEA utilisait GEA_Tasks. Je ne comprends pas pourquoi la fonction api.post ne fonctionne pas chez moi. Quand je fais le test ci-dessous j'ai status = 400. local varName = "VarTest" local payload = {name=varName, isEnum=0, value="test"} local response, status = api.post("/globalVariables/"..varName, payload) fibaro:debug(status) Edit 2: Ok, j'ai trouvé l'erreur: il faut indiquer isEnum=false et non isEnum=0. Mais l'erreur vient du code GEA 6.11, donc tout le monde doit avoir le même problème ! Vous pouvez tester en effaçant la variable GEA_History (ca n’empêche pas GEA de fonctionner).
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Merci Steven, bon à savoir, j'aurais du savoir que GEA gérait toutes les situations!
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, J'utilise GEA pour mettre a jour un VD en fonction de plusieurs paramètres: état de l'alarme (variable globale AlarmTrig), et état des fenêtres (variable globale Ouvrants) notamment. Ci-joint un exemple: GEA.Add({{"Global","AlarmTrig","Off"},{"Global","Ouvrants","On"}},-1,ACTION1) GEA.Add({{"Global","AlarmTrig","On"} ,{"Global","Ouvrants","On"}},-1,ACTION2) GEA.Add({{"Global","AlarmTrig","On"},{"Global","Ouvrants","Off"}},-1,ACTION3) etc. Si je met les deux variables globales dans %%globals, ça marche sauf que dans certains cas (ce n'est pas la majorité des cas), les deux variables changent en même temps (même déclencheur) et du coup j'ai plusieurs instances de GEA qui se lancent simultanément pour faire la même chose, avec un message d'erreur. Je sais que je peux augmenter le nombre de sessions simultanées de GEA autorisées mais je ne sais pas si c'est recommandé, et en tous cas c'est pas super élégant. PS: Une solution que je n'ai pas encore testée est de créer une variable globale "chapeau" qui change si l'une des deux autres variables change. Mais je me dis que cette variable chapeau va être modifiée 2 fois dans la même seconde si les variables filles sont modifiées en même temps, donc je risque de revenir à la case départ... Qu'en pensez-vous ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Il y a sans doute plusieurs raisons possibles aux messages API not found, mais la seule que je connaisse pour l'instant est quand on essaie d'accéder une variable globale qui n'existe pas. Le problème c'est que c'est une technique utilisée dans de nombreux scripts pour justement vérifier l'existence d'une variable globale: on essaie de lire sa valeur et si le résultat est "nil" on en déduit qu'elle n'existe pas. Depuis la 4.51, non seulement le résultat est "nil" mais en plus on un message d'erreur API not found (qui est juste pour information, ça ne bloque pas les scripts). Si on essaie d'accéder directement au json, c'est pareil on a aussi le message d'erreur. @Sakkhho Attention quand le Watchdog trouve une erreur dans un script, il t'indique le message d'erreur d'origine. Le API not found vient peut-être du script qui est surveillé par le Watchdog (même si ça n'a pas l'air d'être le cas ici, si j'en crois la ligne que tu as recopiée). Si ça vient bien du Watchdog, le programme utilise une variable globale pour les SMS j'ai l'impression, il faut peut-être vérifier ce point. Pour revenir à GEA et à tous les autres scripts qui testent l'existence d'une variable globale, il faudra sans doute changer la technique de test, avec une fonction de ce style, qui elle ne génère pas de message d'erreur: GEA.isGlobal = function(vg) -- vérifie si la variable globale vg existe response = api.get("/globalVariables/") for _,v in pairs(response) do if v.name == vg then return true end end end J'ai un peu bidouillé mon GEA pour l'intégrer, mais les modifs indiquées par @pepite ci-dessus suffisent, en attendant que @Steven corrige tout ça proprement.
-
NB: Pour les puristes, il faut ajouter la ligne suivante dans GEA.Init : tools.info(string.format(GEA.trad.gea_minifier, tools.version), "yellow") tools.info(string.format(GEA.trad.gea_check_every, GEA.checkEvery), "yellow") tools.info(string.format(GEA.trad.gea_global_create, GEA.globalvariables), "yellow") tools.info(string.format(GEA.trad.gea_global_create, GEA.historyvariable), "yellow") tools.info(string.format(GEA.trad.gea_global_create, GEA.pluginsvariables), "yellow") -- nouvelle ligne Ça donne ça au démarrage: [DEBUG] 21:11:48: -------------------------------------------------------------------------------- [DEBUG] 21:11:48: Démarrage automatique de GEA 6.07 (mode autostart) [DEBUG] 21:11:48: -------------------------------------------------------------------------------- [DEBUG] 21:11:48: Utilisation de minifiertools v. 2.00 [DEBUG] 21:11:48: Vérification automatique toutes les 30 secondes [DEBUG] 21:11:48: Création de la variable globale : GEA_Tasks [DEBUG] 21:11:48: Création de la variable globale : GEA_History [DEBUG] 21:11:48: Création de la variable globale : GEA_Plugins [DEBUG] 21:11:48: -------------------------------------------------------------------------------- [DEBUG] 21:11:48: Recherche de plugins ... : Aucun plugin trouvé [DEBUG] 21:11:48: Chargement du code utilisateur setEvents() ... [DEBUG] 21:11:48: -------------------------------------------------------------------------------- J'avais prévenu: c'est vraiment pour les puristes
-
Désolé, je réponds un peu tard, mais je confirme: ca règle le pb, et c'est plus propre que mon bricolage. On a quand même une erreur API not found la première fois que GEA est lancé et que la variable n'existe pas. Pour être parfait il faudrait un moyen de vérifier l'existence de la variable sans générer un message d'erreur, mais ça semble difficile sous cette version. Mais ensuite, bien sûr plus aucun message d'erreur. PS: Un truc étrange c'est que depuis que j'ai chargé le fichier syntaxe.lua dans une nouvelle scène, GEA le reporte comme plugin, et du coup ma variable était déjà créée. Probablement parce que le fichier indique le code nécessaire pour identifier les plugins. J'ai du effacer la scène en question puis la variable globale pour tester. Bref, ravi d'avoir pu aider. Merci @pepite