Message populaire Lazer Posté(e) le 20 octobre 2020 Message populaire Signaler Posté(e) le 20 octobre 2020 (modifié) GEA Gestionnaire d’Événements Automatique Version 7.38 Voici le célèbre GEA de @Steven porté sur Home Center 3. Cette version de GEA est basée sur la version 6.13, les fonctionnalités sont donc identiques, à quelques différences près documentées plus bas. Ce n'est plus une scène, mais un QuickApp. La notion d'instances multiples des scènes n'a plus lieu d'être, car le QuickApp est mono-instance par nature, mais son principe d'exécution asynchrone du code LUA permet d'obtenir le même résultat, à savoir : - une boucle automatique de détection des événements à intervalle régulier de 30 secondes - un déclenchement instantané sur événement (avec le paramètre -1 pour la durée) Au sujet des événements, 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. C'était une opération fastidieuse, car il fallait saisir manuellement les ID des modules dans l'en-tête de la scène. Cette nouvelle version de GEA détecte donc automatiquement les triggers, et surveille les événements via l'API refreshStates. Actuellement j'ai positionné cet intervalle de surveillance à 100 ms, c'est à dire un dixième de seconde. Ce n'est donc pas de l'instantanéité absolue, mais ça ne l'était de toute façon pas sur les scènes de la HC2, et ça reste inférieur au seuil de perception humain. Pour l'instant cela n'a posé aucun problème de performance lors de mes tests.... on verra ultérieurement s'il y a lieu de faire évoluer cet intervalle. La syntaxe de GEA est strictement identique à celle de la HC2 : GEA.add( ... ) Pour cette raison, ce topic est ouvert uniquement pour les discussions concernant le développement de GEA, les nouvelles fonctionnalités, et les rapports de bugs constatés. Pour les questions sur l'utilisation et la syntaxe de GEA, se reporter au topic unique "Support GEA" où vous trouverez toute l'aide nécessaire : En clair : Une règle GEA fonctionne sur HC2, mais ne fonctionne pas sur HC3 => je viens poster ici pour qu'on puisse corriger le bug Autrement : je supprimerai les messages sans préavis, j'ai autre chose à faire que de déplacer les messages postés sur le mauvais topic... avis aux contrevenants Le topic de référence concernant la syntaxe de GEA se trouve ici, comme d'habitude : Remarque : j'ai mis à jour le fichier de référence GEA_Syntaxe à télécharger en bas de ce message. Changements de GEA pour HC3 par rapport à HC2 Supprimé : "VirtualDevice", "VD" => remplacé par "QuickApp" et "QA" "SetrunConfigScenario" => remplacé par "SetRunModeScenario" et "RunModeScene" "RebootHC2" => remplacé par "RebootHC3" "ShutdownHC2" => remplacé par "ShutdownHC3" "multiAlarm" => remplacé par "Alarm" "setMode" => remplacé par "ThermostatMode" "setThermostatSetpoint" => remplacé par "CoolingThermostatSetpoint" et "HeatingThermostatSetpoint" "ThermostatLevel" "ThermostatTime" "DebugMessage" "PluginScenario" "Popup" Ajouté : "QuickApp" | "QA" : {"QuickApp", <id_module>, <méthode>, [paramètres]} "DeviceIcon" | "CurrentIcon" : {"CurrentIcon", <id_module>, <no_icon>} "Color" | "RGB" : {"Color", <id_module>, <intensité_rouge>, <intensité_vert>, <intensité_bleu>, <intensité_blanc>} "RunModeScene" | "SetRunModeScenario" : {"RunModeScene", <id_scene>} | {"SetRunModeScenario", <id_scene>, <run_valeur>} - <run_valeur> : "manual" | "automatic" "isSceneRunning" | "RunningScene" : {"isSceneRunning", <id_scene>} "ThermostatMode" : {"ThermostatMode", <id_thermostat>, <mode>} "ThermostatFanMode" : {"ThermostatFanMode", <id_thermostat>, <fan>} "CoolingThermostatSetpoint" : {"CoolingThermostatSetpoint", <id_thermostat>, <valeur>} "HeatingThermostatSetpoint" : {"HeatingThermostatSetpoint", <id_thermostat>, <valeur>} "Profile" : {"Profile", <id_profil>} "RebootHC3" : {"RebootHC3"} "SuspendHC3" : {"SuspendHC3"} "ShutdownHC3" : {"ShutdownHC3"} "Parameter" "Climate" "Breached" "VariableQuickApp" | "VariableQA" "CustomEvent" "WOL" "httpGet" "Call" "isEvenDay" Modifié : "Armed", "Disarmed", "setArmed", "setDisarmed" => Prend l'ID de la zone Amélioré : GEA.portables = {123, "Nokia 3310"} : ID du mobile, ou nom du mobile "Email" : ID du mobile, ou nom de l'utilisateur : {"Email", <id_user>, <"Message du mail">, <"Sujet du mail">} | {"Email", <id_user>, <"Message du mail">} "Picture" : ID ou nom de l'utilisateur : {"Picture", <id_camera>, <id_user>} | {"Picture", <id_camera>, <"nom_user">} "VariableCache" : utilisable dans les règles à déclenchement instantané avec -1 (en tant que condition, actions, mais pas comme déclencheur) "Alarm" : remplace "Alarm" et "MultiAlarm" : peut contenir autant d'alarmes que voulu "Ask" : exécute une scène, une méthode d'un QuickApp, ou une action GEA Les zones d'alarme, les profils, et les zones de climat peuvent être identifiés par leur nom Note : les actions "Reboot", "Suspend", et "Shutdown" ne fonctionnent plus depuis le firmware 5.050.13... Installation Importer le fichier fqa ci-joint. Ne modifier que le contenu de config pour vos propres règles : Mise à jour Copier/coller simplement tout le contenu du fichier LUA téléchargé dans le fichier main du QuickApp. Téléchargement Nouvelle installation : GEA_v7.38.fqa Mise à jour : Fichier main : GEA v7.38.lua Fichier tools : Library - tools v2.30.lua Documentation de référence sur la syntaxe : GEA v7.38 Syntaxe.lua Modifié le 19 juillet 2023 par Lazer 9 4
Lazer Posté(e) le 20 octobre 2020 Auteur Signaler Posté(e) le 20 octobre 2020 (modifié) QuickApp "GEA Alarm" lié à GEA Ce QuickApp Alarme pour HC3 remplace les modules virtuels Alarme de @Steven et MultiAlarme de @drboss sur la HC2. Il faut importer autant de fois le QuickApp que nécessaire, et il permet de programmer un réveil simple ou des réveils multiples : Exemple avec horaires différents pour la semaine et le week-end : On peut ainsi programmer une semaines complète avec 7 horaires différents si on le souhaite. Cela permet de modifier à tout instant l'heure des scénarios depuis le QuickApp sans avoir à modifier la configuration de GEA, simplement depuis l'interface Web ou l'application mobile. Le QuickApp fonctionne ainsi : H+ / H- = Ajoute / enlève une heure [ ] = désactive l'heure M+ / M- = ajoute/enlève une minute Lu, Ma, Me, Je, Ve, Sa, Di = Active ou désactive le jours en question Choix Alarme : permet de sélectionner le réveil à régler Le choix du nombre de réveils se fait en modifiant la variable "Nombre_Alarme" dans le QuickApp : (ne pas toucher aux autres variables _HeureX et _JoursX situées en dessous, elles seront automatiquement créées ainsi que les labels) Utilisation dans les scénarios GEA : -- Syntaxe : {"Alarm", <id_qa>} -- Vérifie si la période (jour et heure) configurée sur n'importe quelle alarme de GEA_Alarm est atteinte {"Alarm", <id_qa>, <id_alarme>} -- Vérifie si la période (jour et heure) configurée sur l'alarme spécifiée de GEA_Alarm est atteinte -- Exemples : GEA.add( {"Alarm", id["QA_ALARM"]} , 0, "Debout fainéant", {{"TurnOn", id["LUMIERE"]}, {"Open", id["VOLET"]}}) GEA.add( {"Alarm", id["QA_ALARM"], 2}, 0, "Debout fainéant", {{"TurnOn", id["LUMIERE"]}, {"QuickApp", id["PLAYER"], "play"}}) id["QA_ALARM"] est l'identifiant du QuickApp GEA Alarme Il est possible d'avoir plusieurs GEA Alarm puisque chacun est identifié par son... identifiant ! Astuce : on peut modifier les programmations horaires depuis GEA à l'aide de la fonction setTime() : -- Réglage de l'heure de l'alarme n°2 sur 22h22 : GEA.add( {CONDITION}, 30, "", {"QuickApp", id["QA_ALARM"], "setTime", 2, "22:22"}) -- Désactivation de l'alarme n°2 : GEA.add( {CONDITION}, 30, "", {"QuickApp", id["QA_ALARM"], "setTime", 2, "--:--"}) Icones : Le QuickApp est de type "binary sensor", ainsi on peut configurer 2 icônes pour identifier d'un coup d’œil si un réveil est actif (= horaire programmé) ou non : Téléchargement GEA_Alarme_v2.10.fqa Modifié le 1 novembre 2021 par Lazer
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 (modifié) salut j'ai une règle GEA qui fonctionne sous HC2 mai pas HC3 telegram = {name="Telegram", keepValues = true, control=function(id) return type(fibaro:isSceneEnabled(id)) ~= nil end, action=function(id, args) if (type(id) ~= "table") then id = {id} end for i=1, #id do fibaro:startScene(id[i], json.decode(GEA.getMessage(json.encode(args)))) end end }, Ce code GEA dépend d'une scène --[[ %% properties %% globals --]] function url_encode(str) if (str) then str = string.gsub (str, "\n", "\r\n") str = string.gsub (str, "([^%w %-%_%.%~])", function (c) return string.format ("%%%02X", string.byte(c)) end) str = string.gsub (str, " ", "+") end return str end function urldecode(s) return string.gsub(s, '%%(%x%x)', function (hex) return string.char(tonumber(hex,16)) end) end function urldecodeTable(tab) for k,v in pairs(tab) do if type(v) == "string" then tab[k] = urldecode(v) elseif type(v) == "table" then urldecodeTable(v) end end end -- ---------------------------------------------------------- -- Remplacement des caractères spéciaux -- ---------------------------------------------------------- ReplaceChar=function(s) return s:gsub("à ", "à"):gsub("é", "é"):gsub("Ã", "à"):gsub("è", "è"):gsub("î", "î"):gsub("ô", "ô"):gsub("û", "û"):gsub("ù", "ù"):gsub("ê", "ê"):gsub("â","â"):gsub(" ' ", "'") end local debug = true; local token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" local chat_id = "xxxxxxxxxxxxx" local url = "https://api.telegram.org/bot"..token.."/sendMessage?chat_id="..chat_id.."&text=" local function log(str) if debug then fibaro:debug(str); end; end local function errorlog(str) fibaro:debug("<font color='red'>"..str.."</font>"); end local selfhttp = net.HTTPClient({timeout=2000}) local msg = "<empty>"; if fibaro:args() == nil then fibaro:debug("no args"); return else jMsg = fibaro:args() urldecodeTable(jMsg) if jMsg[1] == nil or jMsg[1] == "" then fibaro:debug("no msg"); return end msg = jMsg[1]; msg = ReplaceChar(msg) end url = url .. url_encode(msg); log(url); selfhttp:request(url, { options={ headers = selfhttp.controlHeaders, data = requestBody, method = 'GET', timeout = 5000 }, success = function(status) local result = json.decode(status.data); if result.ok == true then log("successful"); else errorlog("failed"); log(status.data); end end, error = function(error) errorlog("ERROR") log(error) end }) sous GEA --- 108 est ID de la scene LUA GEA.add(true, 0, "", { {"Telegram", 108, { "Activation de GEA " }} } ) alors j'ai une erreur if fibaro:args() == nil then , je ne sais pas si ça viens de GEA ou du code [20.10.2020] [23:15:15] [ERROR] [SCENE108]: (load):53: attempt to call a nil value (method 'args') Modifié le 21 octobre 2020 par 971jmd
pepite Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Waouw merci @Lazer Me manque plus que la HC3 :-) Vais tenter de mettre à jour le fichier syntaxe au plus vite. Est ce que GEA.OPTIONS EST DNCIRE OK ? Pepite mode fainenant qui n'a pas encore lu le code :-) Est ce que fiabaro args existe sous hc3 ? Et attention l'appel des fonctions n'est plus fibaro.args() avec la hc3. Ta scene doit être modifiee
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 @pepite Je pensais mettre à jour le fichier Syntaxe, mais si tu es motivé, je te laisse faire Normalement GEA.options est toujours OK : à configurer dans le fonction config() comme avant. Cependant je ne l'ai pas testé... si tu as un exemple concret d'option personnalisée à me donner, je le testerai. Là où ça se complique réellement, c'est que fibaro:args() n'existe pas sur HC3, et globalement tout ce qui touche aux scènes. Clairement, les scènes sur HC3 n'ont aucun intérêt, à part pour faire 2 ou 3 clics en mode bloc. Même quand on écris une scène en LUA, il est impossible de lui passer des arguments (ou alors je n'ai pas trouvé.... et ce n'est pas documenté). Pour moi cette fonctionnalité n'existe plus. Donc pour tout ce qui est écriture de code LUA, il faut utiliser les QuickApps et abandonner les scènes. C'est mon avis. En QuickApp, au contraire, ça devient très simple. Il suffit d'écrire la fonction de son choix, avec tous les arguments nécessaires. Sachant qu'on peut appeler n'importe quelle fonction publique d'un QA depuis un autre QA, c'est juste parfait. fibaro.call(ID_du_QA, "nom_de_la_fonction", argument1, argument2, ...) @971jmd Ton bloc telegram = {name="Telegram", ... tu le positionnes où dans ton code ? Là je ne vois pas. Comme je viens de dire à @pepite, normalement il est censé être dans la fonction options() Et donc il devrait commencer par GEA.options.telegram = {...} sinon je ne vois pas comment il pourrait le prendre en compte. J'espère juste que tu ne modifies pas directement le code de GEA, il ne faut surtout pas, sinon tu ne pourras plus installer les mises à jours. J'ai justement séparé exprès le code GEA du code utilisateur dans 2 fichiers distincts. Concernant ta scène, en vertu de ce que j'ai répondu à @pepite tu comprends bien que ce n'est plus possible. Il te suffit donc de mettre ton code LUA dans une fonction d'un QuickApp, puis il suffit d'appeler cette fonction depuis GEA. Pour simplifier, dans ton option telegram, au lieu d'appeler fibaro:startScene(), tu utiliseras fibaro.call() PS : vu que tu me présentes directement un cas compliqué, quelque part ça me rassure, ça veut dire que toutes les règles usuelles ont fonctionné du premier coup chez toi ? 3
mprinfo Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Ça va relancer la vente de hc3Maintenant que GEA est disponible Envoyé de mon BLA-L29 en utilisant Tapatalk 1
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 (modifié) j'ai l'erreur Ligne 53 du code LUA Modifié le 21 octobre 2020 par 971jmd
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 (modifié) telegram = {name="Telegram",.... Est placer dans MAIN du QA GEA ligne 1342 gea_7_telegram.zip Modifié le 21 octobre 2020 par 971jmd
pepite Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Il y a 3 heures, Lazer a dit : Je pensais mettre à jour le fichier Syntaxe, mais si tu es motivé, je te laisse faire Je peux au moins faire ca, avec tout ce que tu as fait pour GEA. MAis bon, tu sais que je n'ai pas de HC3 alors je risque de te solliciter ;-)
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 @971jmd non désolé ce n'est pas la bonne méthode, ni sur HC3, ni sur HC2 d'ailleurs Il ne faut pas toucher au code de GEA Ton option personnalisée doit être dans config() comme expliqué dans mon message précédent Par ailleurs ton numéro de ligne ne sert à rien, à partir du moment où tu as modifié le code de GEA, impossible de comprendre/reproduire chez moi. Commence donc par remettre ta config au propre, tu ne modifies que le fichier config du QuickApp comme expliqué dans le tuto, dans les fonctions config() et setEvents() De toute façon, il faut que tu commences par convertir ta scène dans un QuickApp distinct, qu'on pourra appeler par sa fonction, comme je le disais là aussi dans mon message précédent. @pepite : merci
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Pourtant ça toujours fonctionné avec la HC2 j'ai une autre fonctionne qui est dans GEA depuis un moment (ligne 1308) qui fonctionne très bien avec la HC3 gea_7_telegram.zip
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 J'ai toujours grillé les feux rouges, et je suis toujours en vie. Est-ce une raison pour continuer ? Désolé pour le parallèle douteux, mais si tu veux que je t'aide, fait au moins l'effort de respecter la règle... qui est simple en plus.. et pour ton propre bien. Désolé je n'ai pas le temps, et aucune envie, d'auditer ton code personnalisé. C'est in-maintenable avec les prochaines mises à jours. 1 1
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Désolé ce n'est est pas le but Comme j'ai vu qu'il y avait une règle que nous avons développée en assemble (protection), j'ai pensé que je pouvais ajouter la fonction Telegram ---GEA.add( condition , -1, "",{ {"Protection", id["SUSPLMAPEENFANT"], "local", "on"} }) ---GEA.add( condition , -1, "",{ {"Protection", id["SUSPLMAPEENFANT"], "local", "off"}}) ok pour une prochaine version avec telegram où on n'aura qu'a placée notre TOKEN et CHAT_ID depuis config
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 (modifié) Mise à part la grillade de feux rouge J'ai une fonction (sceneActivationEvent) qui ne semble pas encor prise en compte dans GEA 7 HC3 Modifié le 21 octobre 2020 par 971jmd
pepite Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 Dans les souvenirs, "protection" a ete integree dans les derniered verdions de GEA6.XX, c'est pour cela qu elle fonctionne avec GEA7 :-)Envoyé de mon BND-L21 en utilisant Tapatalk
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 "Protection" y est bien, mais je ne l'ai pas testé, donc si tu le fais tu me diras si c'est OK ou non. D'ailleurs je pense que tu devrais commencer par tester les fonctionnalités standard de GEA pour te faire la main, et valider le bon/mauvais fonctionnement de cette version que je qualifie encore de Beta. sceneActivationEvent fonctionne, je l'ai testé. Tu peux partager ton code, et éventuellement le message d'erreur ? Ensuite, "Telegram" n'est pas une option standard de GEA. Il s'agit d'un usage particulier dont tu as le besoin. Et je n'ai pas de compte Télégram pour tester.... Donc le process est simple : tu développe ton option en utilisant un QuickApp et en mettant ta règle dans le fichier "config" (et non pas "main"), et si ça marche bien et que la demande des utilisateurs est là, on pourra l'intégrer dans le code standard de GEA.
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 (modifié) Pour "Protection" visiblement il fonctionne bien pour sceneActivationEvent je l'utilise avec le code suivant : ---- condition----- { conditions = { { id = 87, isTrigger = true, operator = "anyValue", property = "sceneActivationEvent", type = "device", value = true, } }, operator = "any" } ----ACTIONS------- local sa = tonumber(json.encode(sourceTrigger.value)) print("id:"..sa) ---BOUTON 1 et 2 if (sa == 1) then fibaro.call(91, 'toggle') end if (sa == 2) then fibaro.call(89, 'toggle') end etc etc Modifié le 21 octobre 2020 par 971jmd
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 Hum, encore une fois, je ne vois pas bien où tu positionnes ton code LUA... .Je ne vois rien qui ressemble à des règles GEA.add() Toi t'es encore en train de jouer à l'apprenti sorcier Il n'y a vraiment rien de compliqué, rien ne change par rapport à GEA pour HC2, sauf qu'il n'y a plus besoin de spécifier les triggers (déclencheurs de scènes)... Justement parce que ce n'est pas une scène ! D'ailleurs à ce sujet je me demande bien pourquoi tu mets des conditions = {...} Bref, rien de compliqué, mais là tu ajoutes de la complexité tout seul PS : merci pour le retour sur le fonctionnement de "Protection"
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 (modifié) J'ai testé onoff GEA.add({"CentralSceneEvent", 143, 1, "Pressed"},-1, "1 click", {{"OnOff", 21}} ) et ça fonctionne bien (onoff) mai pas GEA.add( {"OnOff!", 21, ""}, 30, "Le module 21 est #value#") et j'ai en boucle le message ci-dessous [21.10.2020] [14:43:07] [DEBUG] [QA_GEA_211]: ... vérification en cours #2 @60s... [21.10.2020] [14:43:07] [DEBUG] [QA_GEA_211]: @60s [Validation] #2 Démarrage box [21.10.2020] [14:43:07] [DEBUG] [QA_GEA_211]: @60s [Validation] #3 Détection nouvelle version [21.10.2020] [14:43:07] [DEBUG] [QA_GEA_211]: @60s [Validation] #4 Détection nouvelle version beta [21.10.2020] [14:43:37] [DEBUG] [QA_GEA_211]: ... vérification en cours #3 @90s... [21.10.2020] [14:43:37] [DEBUG] [QA_GEA_211]: @90s [Validation] #2 Démarrage box [21.10.2020] [14:43:37] [DEBUG] [QA_GEA_211]: @90s [Validation] #3 Détection nouvelle version [21.10.2020] [14:43:37] [DEBUG] [QA_GEA_211]: @90s [Validation] #4 Détection nouvelle version beta [21.10.2020] [14:44:00] [ERROR] [QUICKAPP160]: QuickApp crashed [21.10.2020] [14:44:00] [ERROR] [QUICKAPP160]: main.lua:18: attempt to index a nil value (global 'self') [21.10.2020] [14:44:07] [DEBUG] [QA_GEA_211]: ... vérification en cours #4 @120s... [21.10.2020] [14:44:07] [DEBUG] [QA_GEA_211]: @120s [Validation] #2 Démarrage box [21.10.2020] [14:44:07] [DEBUG] [QA_GEA_211]: @120s [Validation] #3 Détection nouvelle version [21.10.2020] [14:44:07] [DEBUG] [QA_GEA_211]: @120s [Validation] #4 Détection nouvelle version beta [21.10.2020] [14:44:37] [DEBUG] [QA_GEA_211]: ... vérification en cours #5 @150s... [21.10.2020] [14:44:37] [DEBUG] [QA_GEA_211]: @150s [Validation] #2 Démarrage box [21.10.2020] [14:44:37] [DEBUG] [QA_GEA_211]: @150s [Validation] #3 Détection nouvelle version [21.10.2020] [14:44:37] [DEBUG] [QA_GEA_211]: @150s [Validation] #4 Détection nouvelle version beta [21.10.2020] [14:45:00] [ERROR] [QUICKAPP160]: QuickApp crashed [21.10.2020] [14:45:00] [ERROR] [QUICKAPP160]: main.lua:18: attempt to index a nil value (global 'self') Modifié le 21 octobre 2020 par 971jmd
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 OK, mais euh.... main.lua => ligne 18 => c'est du commentaire, donc impossible d'avoir un crash LUA sur cette ligne là Remet le code officiel que j'ai partagé STP, ensuite relance ton test, et dis moi sur quelle ligne apparait réellement l'erreur.
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 j'ai supprimée QA GEA et Réinstallée QA GEA et colée le code ; GEA.add( {"OnOff!", 21, ""}, 30, "Le module 21 est #value#") [21.10.2020] [15:18:30] [ERROR] [QUICKAPP212]: QuickApp crashed [21.10.2020] [15:18:30] [ERROR] [QUICKAPP212]: main.lua:1718: bad argument #1 to 'lower' (string expected, got boolean) [21.10.2020] [15:18:56] [ERROR] [QUICKAPP212]: QuickApp crashed [21.10.2020] [15:18:56] [ERROR] [QUICKAPP212]: main.lua:1718: bad argument #1 to 'lower' (string expected, got boolean) [21.10.2020] [15:19:01] [ERROR] [QUICKAPP212]: QuickApp crashed [21.10.2020] [15:19:01] [ERROR] [QUICKAPP212]: main.lua:1718: bad argument #1 to 'lower' (string expected, got boolean) [21.10.2020] [15:20:01] [ERROR] [QUICKAPP212]: QuickApp crashed [21.10.2020] [15:20:01] [ERROR] [QUICKAPP212]: main.lua:1718: bad argument #1 to 'lower' (string expected, got boolean) [21.10.2020] [15:21:02] [ERROR] [QUICKAPP212]: QuickApp crashed [21.10.2020] [15:21:02] [ERROR] [QUICKAPP212]: main.lua:1718: bad argument #1 to 'lower' (string expected, got boolean) [21.10.2020] [15:22:01] [ERROR] [QUICKAPP212]: QuickApp crashed [21.10.2020] [15:22:01] [ERROR] [QUICKAPP212]: main.lua:1718: bad argument #1 to 'lower' (string expected, got boolean)
Lazer Posté(e) le 21 octobre 2020 Auteur Signaler Posté(e) le 21 octobre 2020 Nickel, voici la version 7.01 avec ce bug corrigé. Par contre je ne m'explique pas.... je pense que ce bug devait également exister avec GEA v6 sur HC2. PS : ce n'est pas le QuickApp complet, juste le code du fichier main à copier/coller à la place du tiens. Ainsi, cela ne touche pas à ton fichier config qui contient tes règles utilisateurs. GEA v7.01.lua
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 autre chose qui ne fonctionne pas bien le ID 98 s'ouvre main pas le 95 GEA.add( {"SceneActivation", 87, 3}, -1, "", {{"Open", 98, 95}}) si j'inverse le ID 95 s'ouvre main pas le 98 GEA.add( {"SceneActivation", 87, 3}, -1, "", {{"Open", 95, 98}})
971jmd Posté(e) le 21 octobre 2020 Signaler Posté(e) le 21 octobre 2020 pareille pour le STOP GEA.add( {"SceneActivation", 87, 5}, -1, "", {{"Stop", 95, 98}})
Messages recommandés