Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 Gestionnaire d'Evénements Automatique (GEA) – version 6.13 Version précédente (BROUILLON en cours de rédaction) Remerciements (commençons par le plus important) : @pepite et @tibahut pour leurs contributions, motivation, idées, ... Nos pauvres bêta testeurs : @ADN182, @Puni, @basklj, @sonnyboy, @Gandalf, @drboss (et tout ceux que j'oublie ... désolé) @fredokl pour son don qui me permettra d’offrir de la bonne bière à pepite (je le promet) But : Ce script a pour but de contrôler, à intervalle régulier, l'état de votre environnement pendant une durée déterminée afin de vous avertir d'éventuel soucis et si nécessaire d'effectuer automatiquement certaines actions. Exemple : Etre informé si la porte du garage est restée ouverte plus de 10 minutes Recevoir une notification et allumer le radiateur s'il fait trop froid depuis 30 minutes Eteindre automatiquement la lumière des WC si cette dernière est allumée plus de 5 minutes Eteindre le frigo et recevoir une notification si ce dernier consomme trop d'électricité ou pas assez Installation : Première installation Créer un scénario en mode LUA Insérer le script ci-joint (gea_6_00.lua)) Adapter les dernières lignes à vos besoins (en dessous de la ligne "CONFIGURATION GENERAL") Passage de GEA 5.x à GEA 6.x Copier le nouveau script dans un nouveau scénario LUA Copier vos anciennes lignes de paramétrage dans la fonction "config()" Copier vos lignes GEA.add(…) dans la fonction "setEvents()" Désactiver votre ancien GEA Mise à jour de GEA 6.x à GEA 6.x Ouvrir la nouvelle version et copié de la ligne "if (not GEA) then " jusqu'à la fin Ouvrir votre version et remplacer de la même ligne "if (not GEA) then" jusqu'à la fin. Configuration : Définir l'intervalle de contrôle en secondes GEA.checkEvery = <nb secondes> (30 par défaut) Exemple : GEA.checkEvery = 30 Indique la liste des portables par défaut devant recevoir une notification {70, 71} GEA.portables = {<id portable> [, <id portable>][, ...] Exemple : GEA.portables = {70, 71} Bascule en mode de débogage pour obtenir plus de traces GEA.debug = true | false (false par défaut) Exemple : GEA.debug = true Permet un débogage fort de GEA, chaque erreur provoque l'arrêt de GEA si cette option est à false (anciennement GEA.catchError) GEA.secureAction = true | false (true par défaut) Exemple : GEA.secureAction = false -- va afficher les erreurs et stopper GEA GEA utilise 3 variables globales. Il est conseillé de laisser leurs noms par défaut mais si vous souhaiter les modifier, voici les paramètres à adapterGEA se charge de leur création, ne les créer par manuellement svp. GEA.globalvariables = "GEA_Tasks" GEA.pluginsvariables = "GEA_Plugins" GEA.historyvariable = "GEA_History" Nouveautés : Détection automatique de la langue Création automatique des variables globales nécessaires au fonctionnement de GEA Plus de contrôle (vérification des ID, des actions, …) Plus de 30 nouvelles conditions/actions * Durée à 0 autorisée et exploitée : GEA.add(true, 0, "Démarrage de GEA à #time# le #date#") permet de lancer l'action au démarrage de GEA Dans les actions, l'id peut être multiple GEA.add(true, 30, "", {"TurnOn", {100, 101, 102}}) Allumera donc les 3 modules Dans les actions, les variables globales peuvent être multiple GEA.add(true, 30, "", {"Global", {"VG1", "VG2"}, "Texte"}) VG1 et VG2 prendront donc "Texte" comme valeur Sous-commande acceptée : GEA.add( {"Global", "Test1", {"Global", "Test2"}}, 30, "Variable identique si Test1 = Test2" ) GEA.add( true, 30, "On copie la valeur dans une variable globale la valeur du module 101", {"Global", "Test", {"Value", 101}} ) Pour les développeurs, simplicité d'ajout de nouvelle condition/action Paramètre supplémentaire pour afficher votre message dans la console au lieu du message par défaut GEA.add(condition, durée, message, actions, "<A afficher dans la console>") Scénario Plugin. Moyennant quelques petites lignes de code, vos scénarios peuvent devenir compatibles avec GEA. Structure : Pour reprendre la structure du code de Tibahut, nous avons décidé de modifier légèrement la structure de GEA.Une fonction "config()" doit / contient vos paramètres de GEAUne fonction "setEvents()" contient vos lignes GEA.addCette modification vous demande donc de modifier votre ancienne version de GEA afin de s'adapter à cette structure. Modifications Réécriture complète du code (diminution de plus de 30% du nombre de ligne) GEA.add(…, 30, """", {{""Time"", ""12:00"", ""12:00""}}) devient GEA.add({..., {""Time"", ""12:00"", ""12:00""}}, 30 , """") les conditions Time, Days, Dates, DST, NODST passe au début dans les conditions et non plus dans les actions comme auparavant. Cette modification est automatique vous n'avez pas besoin de modifier votre code. La gestion des regex a été modifiée, si vous souhaité utilisé un regex, il vous faudra le préfixé par "#r#" Exemple, si la météo est rain ou cloudy GEA.add({"Weather", "#r#rain|cloudy"}, 30, "Pas beau") Lors de déclenchements immédiat, GEA va maintenant vérifier l'ID de TOUTES les conditions pour savoir s'il doit traiter ou non la donnée (anciennement seule la 1ère condition était contrôlée) Détection automatique de la version V4+ ou V3 Le nom des modules n’apparaît plus dans la console pour éviter les soucis de performance de la v4, utilisé #name# dans le message pour l'obtenir si besoinGEA.add(73, -1, "Le module #name# dans la pièce #room# vient de s'allumer")#value[1]# ..#value[9]# n'ont plus de limite (9 maximum sur l'ancienne version) Utilisation du setTimeout au lieu d'un sleep pour le fonctionnement de GEA La fonction userCode() a été modifiée pour correspondre au code de Tibahut soit scindée en config() et setEvents() Possibilité d'utilisé {"Dates", …} avec un format de date par langue Exemple : {"Dates", "10/31/2017"}Voir GEA.traduction[<lang>].input_date_format ou de préciser directement son propre format dans setEvents() en mettant GEA.trad.input_date_format = "mm/dd/yyy" {"Days",…} Prend dorénavant les autres langues que l'anglais et le français. Voir GEA.trad.week_short, GEA.trad.weekend et GEA.trad.weekdays Modifications des options Modifié {"TurnOn"[, <id>][, <durée>]} Allume un module puis l'éteint automatiquement après la durée, il peut aussi etre une condition Modifié {"TurnOff"[, <id>][, <durée>]} Eteint un module puis l'allume automatiquement après la durée, il peut aussi estre une condition Modifié {"Time", <debut>[, <fin>]} Si l'heure de fin n'est pas renseignée, on prend la même heure que celle de début Modifié {"Dates", <debut>[, <fin>]} Si la date de fin n'est pas renseignée, on prend la même date que celle de début Modifé {"Weather"[, <propriété>], <value>} Possibilité de préciser une autre propriété (Wind, Temperature, Pressure, Humidity, …) Modifié {"Inverse"[, <no condition>]} Permet de spécifier le numéro de la condition a inverser (1ère par défaut) Ajouté {"Switch"[, <id>]} Allume ou éteint un module selon son état Ajouté {"Value2"[, <id>], <valeur>} Idem à {"Value", …} mais pour la valeur2 (stores vénitiens) Ajouté {"setArmed"[, <id>]} Arme un module Ajouté {"setDisarmed"[, <id>]} Désarme un module Ajouté {"Killscenario", <id>} Tue un scénario selon son identifiant Ajouté {"PictureToEmail", <id cam>, <email>} Envoi l'image de la caméra à une adresse e-mail Ajouté {"ApiPut", <url>, <properties>} Effectue un put Ajouté {"ApiPost", <url>, <properties>} Effectue un post Ajouté {"ApiGet", <url>} Effectue un get de l'url Ajouté {"Sleep", <secondes>, <action>} Effectue une action dans X secondes {"Sleep", 2, {"TurnOn", 73}} utilise setTimeout Ajouté {"EnableScenario", <id>} Active le scénario ou savoir si le scénario est activé Ajouté {"DisableScenario", <id>} Désactive le scénario ou savoir si le scénario est désactivé Ajouté {"SetRunConfigScenario, <id>, <runconfig>} Permet de connaitre/changer le mode d'exécution d'un scénario Ajouté {"CountScenes", <id>} Retourne le nombre de scènes en cours d'exécution Ajouté {"DebugMessage", <id>, <elementid>, <message>, <type>} Ecrit dans la console de l'objet précisé Ajouté {"Popup", <titre>, <message>} Ajoute une popup dans le gestionnaire de notification Ajouté {"Filters", <"lights"|"blind">, <action>} Effectue l'action sur tout les modules de type light ou blind (turnon, turnoff, close, open, …) Ajouté {"CentralSceneEvent", <id>, <key>, <attribute>} Retourne vrai si le CentralSceneEvent déclencheur correspond à ces critères Ajouté {"Frequency", <jour>, <frequence>} Exemple, tous les dimanches ou un dimanche sur 2 {"Frequency", "Sunday", 2} Ajouté {"RebootHC2"} Redémarre la box Ajouté {"ShutDownHC2"} Eteint la box Ajouté {"Depend", <taksid>} Dépend d'une autre tâche, ne sera exécuté que si la "taskid" a préalablement été exécutée Ajouté {"VariableCache", <nom variable>, <valeur>} Permet de stocker une valeur et de la récupérer plus tard (uniquement dans la scène principale) Ajouté {"Info", <propriété>} Retourne la propriété contenu dans /settings/info Ajouté {"Hue", <propriété>, <valeur>} Permet de piloter une ampoule Philips Hue Ajouté {"ThermostatLevel", <id>, <valeur>} Modifie la valeur de votre thermostat Ajouté {"ThermostatTime", <id>, <valeur>} Modifie la durée de votre thermostat Ajouté {"Ask", <portable>, <message>, <scenario>} Affiche une notification demandant l'exécution d'un scénario Ajouté {"Doorlock", <id>, <valeur>} Permet de sécurisé ou non une serrure électronique Ajouté {"Or", <condition1>, <condition2>[,…] Permet de faire un OU sur plusieurs conditions Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté {"Xor", <condition1>, <condition2>[,…] {"RoomLights", <nom pièce>, "turnOn"|"turnOff"} {"SectionLights", <nom sect>, "turnOn"|"turnOff"} {"OnOff", <id>, "ON|OFF"} {"SonosMP3", id_vd, id_button, filepath [, volume]} {"SonosTTS", id_vd, id_button, message [, volume]} {"JSONDecodeFromGlobal", <VG>, <propriété>} {"JSONDecodeFromLabel", <id>, <label>, <propriété>} {"Monthly", <propriété>} {"Polling", <id parent>} Permet de faire un OU exclusif sur plusieurs conditions Allume ou éteint une pièce entière selon son nom Allume ou éteint une section entière selon son nom Identique à "turnOn" mais retourne "ON" ou "OFF" Voir le VD de Krikroff Voir le VD de Krikroff Décode un Variable globale et retourne la valeur de la propriété Décode un Label et retourne la valeur de la propriété Une fois par mois Poll un device Supprimé {"Groupe", <id groupe>} Supprimé Supprimé {"IF", …} Supprimé Attention Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté {"Global", "", ""} {"LedBrightness", <luminosité>} {"DeviceState", <id module>} {"NeighborList", <id module>} {"LastWorkingRoute", <id module>} {"CheckVG", <nom vg>} {"CheckLabel", <id vd>, <nom label>} {"Protection", <id module>, <type>, <On|Off>} {"MultiAlarm", <id vd>, <label>} Devient définitivement "true" (sans les guillemets) Modifie la luminosité des LED de la HC2 Retoure l'étant d'un module Retourne la liste des modules voisins Retourne la liste de la route empruntée Vérifie l'existence d'un variable globale Vérifie l'existence d'un label Modifie la protection (local, rf) d'un module Vérifie l'alarme 1 .. 4 Vous trouverez ci-joint un fichier syntaxe_GEAV6.lua (écrit par @pepite) qui regroupe toutes les commandes et leurs utilisations. Télécharger le et garder le sous la main, c'est votre bible GEA. Le wiki est en cours de modification ce qui va prendre beaucoup de temps GEA Wiki Historique : v.6.01 - 15 décembre 2017 fix : vd GEA Alarm fix : Dead - remplacement de wakeUpDeadDevce par wakeUpAllDevices fix : {"Time": "Sunset+10>08:00"} fix : Option "Portable" is missing fix : multiple dates provoquant un table missing fix : correction du Or et XOr en mode instantané fix : fichier syntaxe_GEAV6.lua (ci-joint) add : {"Deads"} pour réveillé tous les noeux morts v.6.02 20 décembre 2017 fix : vd GEA Alarm -- double push fix : "Sleep" en conjonction avec un Plugin mod : getMessage pour les plugins et arguments de scénario (traitement des variables #time#, #value#, ...) v.6.03 29 décembre 2017 add : #datefull# dans les messages pour obtenir "dimanche 23 décembre 2017" fix : Correction du code pour {"Weather"} add : {"WeatherLocal"} ... identique à {"Weather"} mais retourne les conditions météos selon votre langue v.6.04 7 janvier 2018 add : Roomlights ... {"RoomLights", <nom de la pièce>, "turnOn"|"turnOff"} add : Sectionlights ... {"SectionLights", <nom de la séction>, "turnOn"|"turnOff"} mod : correct Weather, erreur ajoutée en V6.03 mod : #datefull# erreur sur le dimanche mod : correction déclenchement instantané qui stop la mauvaise tache mod : correction déclenchement instantané avec plusieurs conditions add : Slider mod : Close 100 = tout fermé, 0 tout ouvert mod : Open et Close peuvent recevoir plusieurs ids {"Open", {id1, id2}, valeur} mod : optimisation des déclenchements immédiats (1ère passe) v.6.05 29 janvier 2018 add : #trigger# in message add : {"OnOff", <id>, "ON|OFF"} identique à turnOn mais retourne ON ou OFF add : {"SonosMP3", id_vd, id_button, filepath [, volume]} -->voir VD de Krikroff --> Merci @MAM78 add : {"SonosTTS", id_vd, id_button, message [, volume]} --> voir VD de Krikroff --> Merci @MAM78 add : {"JSONDecodeFromGlobal", <nom VG>, <propriété à vérifier>} add : {"JSONDecodeFromLabel", <id VD>, <label>, <propriété à vérifier>} add : {"TempExt"} -- température exterieure selon les conditions métérologique add : {"TempExtTTS"} -- température exterieure selon les conditions métérologique au format (X degrer X) mod : amélioration du translate mod : clarifier le message des actions dans le debug mod : optimisation #2 diminution accès aux variables globales mod : optimisation consommation mémoire mod : suppression bavardage intempestif au mode immédiat mod : correction décalage durée d'execution mod : correction du "Time" qui pouvait ne pas se comporter correctement mod : fonctionnement de l'optimisation mod : bug fix v.6.06 ajouté le 7 février 2018 mod : Correction bug introduit un 6.05 avec "Function" add : Possibilité d'ignoré le déclenchement d'une option en mode immédiat en mettant son nom entre parenthèse exemple : {"Global+", "Test", 100} --> {"(Global+)", "Test", 100} add : {"Monthly", <propriété>} --> Une fois par mois. Propiétés possibles : <nombre> 1-31 : Tous les X du mois "begin" : Tous les 1er du mois "end" : Tous les derniers jours du mois <day> "Monday", "Tuesday", ... : Tous les 1er lundi, mardi, ... du mois Voir le fichier de syntaxe pour plus d'info. v.6.07 ajouté le 22 mars 2018 mod : correction slider {"Slider", <id_mv>, <Label>, <valeur>} mod : ajout de GEA.getMessageDecorator(msg) pour permettre à l'utilisateur d'ajouter facilement ces propres gsub() mod : ajout GEA.trad.locale mod : correction usage de la variable globale mod : correction lors de multiple {"Portable", <id portable>} mod : ajout Popup with scenario ID add : {"Polling", <id module>} v.6.10 ajouté le 31 octobre 2018 mod : correction du #name# pour les "Or" et "XOr" mod : usage d'un cache pour les noms de modules et de pièces mod : contrôle des variables globales (API not found) mod : contrôle des label (API not found) add : {"LedBrightness", <luminosité>} add : {"DeviceState", <id module>} add : {"NeighborList", <id module>} add : {"LastWorkingRoute", <id module>} add : {"CheckVG", <nom vg>} add : {"CheckLabel", <id vd>, <nom vg>} v.6.11 ajouté le 13 novembre 2018 mod : correction d'un bug dans checklabel add : {"Protection", <id>, <type_protection>, <On|Off>} by @971jmd add : {"MultiAlarm", <id vd>, <label>} by @drboss v.6.12 ajouté le 11 juin 2020 Correction création variables globales (firmeware 4.55) Correction bug sur incrémentation d'une propriété Ajout contrôle des valeurs négatives Isolation des triggers sur les labels Correction des dates sans année Réintégration de la variable SuspendreGEA La durée peut maintenant être contenu dans une VG ex : GEA.add(..., 30, "", ...) ou GEA.add(..., "MaVG", "", ...) Ajout NotStarted pour retrocompatibilité avec la version 5.x VirtualDevice choix du numéro du bouton ou de son id ou de son nom Possibilité de remplacer l'ID par le nom du module {"Value", "Plafonnier", 30} au lieu de {"Value", 150, 30} le nom du module peut être agrémenté du nom de la pièce en ajoutant <nom module>@<nom pièces> ... Plafonnier@Chambre parents Posibilité de remplacer l'ID d'un scénario par son nom {"CountScenes", "GEA 6.12"} au lieu de {"CountScenes", 37} Exemple complet : {"VD", "Notification center", "Pushbullet"} Appuie sur le bouton dont le libellé est "Pushbullet" du module virtuel "Notification center". v.6.13 ajouté le 30 juin 2020 Correction de bugs Possibilité d'avoir une sous-option en 1ère ou 2ème place d'une option (très très clair comme message ;-) donc un exemple) {"Dates", {"Global", "VacOn"}, {"Global", "VacOff"}} --- avant, il n'était possible que de mettre le {"Global", "VacOff"} NE POUVANT GARANTIR A 100% LA VERSION 6.13, JE LAISSE DISPONIBLE LA 6.11 GEA 6.11.lua syntaxe_GEAV6_11.lua GEA 6.13.lua 14 4 2 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 GEA - Vos propres conditions / actions Nous avons tous des idées/besoins différents et cette version de GEA permet d'ajouter (partager) vos propres conditions/actions Condition Prenons un cas d'école : "Je souhaite être avisé d'une détection de mouvement mais uniquement si je suis en vacances" Dans ce cas, ce qui m'importe est donc de créer une condition basé sur l'état de mon détecteur et une variable globale qui me dit si je suis en vacances ("StatusPresence"). En GEA, on écrirait cela ainsi : GEA.add( {{"Value+", <id_detecteur>, 0}, {"Global", "StatusPresence", "Vacances"}}, -1, "Détection lors de mes vacances") Mais comme c'est un cas d'école, nous allons rajouter l'option {"Detection", ...} a GEA function config() ... GEA.options.detection = {name="DetectionVacances", getValue = function(id_detecteur) return fibaro:getGlobalValue("StatusPresence") == "Vacances" and fibaro:getValue(id_detecteur, "value") ~= "0" end, } end Et voilà, maintenant dans je peux utiliser GEA.add( {"Detection", <id_detecteur>}, -1, "Détection lors de mes vacances") Action Prenons un autre cas d'école : "Je souhaite mettre à jour une variable globale et appuyer sur un bouton d'un VD qui va m'envoyer un SMS avec le message" En GEA, on écrirait cela ainsi : GEA.add( ..., 30, "Détection lors de mes vacances", {{"Global", "Notification", "Mon Message"}, {"VirtualDevice", 30, 1}}) Mais comme c'est toujours un cas d'école, nous allons rajouter l'option {"Notification", ...} a GEA function config() ... GEA.options.notification = {name="MaNotification", action = function(message) fibaro:setGlobal("Notification", message) fibaro:call(30, "pressButton", 1) end, } end Et voilà, maintenant dans je peux utiliser GEA.add( ..., 30, "Ma nouvelle notification", {"Notification", "Mon message"}) Il est tout à fait possible d'avoir une nouvelle option capable de géré une condition et une action function config() ... GEA.options.monoption = {name="MonOption", getValue = function() ... end, action = function() ... end, } end 7 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 GEA - Plugin scénario Rendre un scénario compatible GEA 6.x Pour transformer n'importe quel scénario afin de le rendre compatible avec GEA, il vous suffit de coller au début de votre scénario le code suivant : if not GEAPlugin then GEAPlugin={}GEAPlugin.version=6.00;local a=fibaro:args()if a then for b,c in ipairs(a)do for d,e in pairs(c)do GEAPlugin[d]=e end end else fibaro:debug("nothing to do")fibaro:abort()end;GEAPlugin.retour=function(f)if GEAPlugin.geamode=="action"then return end;fibaro:startScene(GEAPlugin.geaid,{{gealine=GEAPlugin.gealine},{result=f}})end end Envoyer des infos de GEA vers votre script - Pour exploité votre plugin comme “action” dans GEA Pour pouvoir exploité les paramètres reçus de GEA voici un exemple à suivre : Dans GEA : GEA.add(..., 30, "", {<nom_scenario_sans_espace_ni_caracteres_speciaux>[, <param1>, <param2>, ...]}) Exemple GEA.add( true , 120, “Test de plugin”, {“monscenario”, “MonNom”, “MonPrenom”, “MonAdresse”}) Dans votre scénario, vous pouvez récupéré les paramètres ainsi : local nom = GEAPlugin.param1 local prenom = GEAPlugin.param2 local adresse = GEAPlugin.param3 … Envoyer une info de votre script vers GEA - gestion du retour- Pour exploité votre plugin comme “condition” dans GEA Dans GEA : GEA.add({<nom_scenario_sans_espace_ni_caracteres_speciaux>[, <param1>, <param2>, ...], <valeur attendue>}, 30, "Retour du plugin #value#") Exemple GEA.add( {“monscenario”, “MonNom”, “MonPrenom”, “MonAdresse”, “OK”}, 30, “Retour = #value#”) Dans votre scipt, il suffit de mettre à la fin de votre traitement local nom = GEAPlugin.param1 local prenom = GEAPlugin.param2 local adresse = GEAPlugin.param3 … if (nom == "MonNom") then GEAPlugin.retour(“OK”) else GEAPlugin.retour(“INCONNU”) end Si GEA reçoit en retour de votre script “OK”, la condition sera considérée comme valable. A l'état actuelle, si votre script met plus de 2.5 secondes à traiter l'information, GEA ignorera le retour de ce dernier. Ceci afin de ne pas trop pénaliser les performances. Attention N'oubliez pas que GEA va vérifier votre script toutes les 30 secondes (valeur par défaut) Si votre script met plus de 2.5 secondes à traiter l'information, GEA ignorera le retour de ce dernier. squelette.lua 6 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 (modifié) GEA - Virtual Device - GEA Alarm (voir ici) GEA - Virtual Device - GEA multi-alarm (par @drboss) GEA - Virtual Device - GEA Status Voici un petit Virtual Device pour connaître le status de GEA, voir les 5 dernières actions effectuées, stopper/redémarrer GEA. Installation : importer le fichier ci-joint GEA_Status.vfib Modifié 8 novembre 2018 par Steven ajout de multi-alarm by drboss 7 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 GEA - Questions / réponses - FAQ <réservé> en cours de rédaction Partager ce message Lien à poster Partager sur d’autres sites
OJC 133 Signaler ce message Posté(e) 8 décembre 2017 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 8 décembre 2017 (modifié) Yeah, du bon gros boulot ;-) Merci encore @Steven Attention : peut-etre préciser : Pas de support sur ce fil, on sait que GEA génère des pages et des pages ;-) Modifié 8 décembre 2017 par pepite Partager ce message Lien à poster Partager sur d’autres sites
OJC 133 Signaler ce message Posté(e) 8 décembre 2017 Le principe du GEAPlugin pour interagir avec une autre scène est juste une tuerie... 1 1 Partager ce message Lien à poster Partager sur d’autres sites
Did 1 722 Signaler ce message Posté(e) 8 décembre 2017 Merci au père @Steven et ses lutins @pepite et @tibahut. Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 180 Signaler ce message Posté(e) 8 décembre 2017 Oh @Steven ! Si tu savais Tout le bien Que tu nous fais Avec ton code Si parfait .D Pour l'air de la chanson... demandez à dieu 3 Partager ce message Lien à poster Partager sur d’autres sites
HANSOLO 378 Signaler ce message Posté(e) 8 décembre 2017 Super! Partager ce message Lien à poster Partager sur d’autres sites
Massalia 58 Signaler ce message Posté(e) 8 décembre 2017 Genial, Merci beaucoup ! Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 il y a une heure, BenjyNet a dit : Oh @Steven ! Si tu savais Tout le bien Que tu nous fais Avec ton code Si parfait .D Pour l'air de la chanson... demandez à dieu C'est dans des moments pareils qu'on regrette nos actes 1 Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 180 Signaler ce message Posté(e) 8 décembre 2017 Huhuhuhuhu Partager ce message Lien à poster Partager sur d’autres sites
Fredric 295 Signaler ce message Posté(e) 8 décembre 2017 GEA 6 !!! Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 180 Signaler ce message Posté(e) 8 décembre 2017 (modifié) Hey les gars, c'est pas @Steven qui a codé.... c'est AlphaZéro.... mais il ose pas le dire Modifié 8 décembre 2017 par BenjyNet Comprendront ceux qui suivent l'actu :) 1 Partager ce message Lien à poster Partager sur d’autres sites
Domodial 336 Signaler ce message Posté(e) 8 décembre 2017 Ca y'est, j'ai mal à la tête Bon, je vais y aller doucement et garder mon GEA qui fonctionne... Car je sent que je vais tout pété En tout cas, vl'a le boulot !!! C'est clair que certaines actions dans la même ligne vont supprimer des lignes chez moi Félicitations !! Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 Toutes tes lignes sont 100% compatible avec cette version, tu n'es pas obligé de changer quoi que ce soit. Partager ce message Lien à poster Partager sur d’autres sites
Lazer 7 928 Signaler ce message Posté(e) 8 décembre 2017 Gros gros boulot là, bravo @Steven et ton équipe de dev et de betas-testeurs Pas mal de nouveautés inédites, c'est top ça ! Le VD Alarm est toujours valable ? Ca serait peut-être bien de le remettre dans le fil ? 1 Partager ce message Lien à poster Partager sur d’autres sites
Peter 68 Signaler ce message Posté(e) 8 décembre 2017 Excellent @steven et tous Merci de vos partage qui nous font tous évoluer dans le bon sens merci a tous et vive ce forum 1 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 334 Signaler ce message Posté(e) 8 décembre 2017 Il y a 1 heure, Lazer a dit : Gros gros boulot là, bravo @Steven et ton équipe de dev et de betas-testeurs Pas mal de nouveautés inédites, c'est top ça ! Le VD Alarm est toujours valable ? Ca serait peut-être bien de le remettre dans le fil ? Il est toujours valable mais en cours de réécriture @drboss a eu l'idée de le rendre plus "traduisible". L'actuel fonctionne parfaitement. 1 Partager ce message Lien à poster Partager sur d’autres sites
Lazer 7 928 Signaler ce message Posté(e) 8 décembre 2017 OK, chouette alors Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 501 Signaler ce message Posté(e) 8 décembre 2017 encore une tuerie ! Qui me revend sa HC2 ? 1 Partager ce message Lien à poster Partager sur d’autres sites
Domodial 336 Signaler ce message Posté(e) 8 décembre 2017 toi sortir Partager ce message Lien à poster Partager sur d’autres sites
OJC 133 Signaler ce message Posté(e) 8 décembre 2017 @jojo Difficile de revenir depuis le côté obscur il est Partager ce message Lien à poster Partager sur d’autres sites