-
Compteur de contenus
1 011 -
Inscription
-
Dernière visite
-
Jours gagnés
2
Messages posté(e)s par Yannick
-
-
Salu @Lazer alors je commence par une question très très très co.... comment on fait pour modifier le script ?????
Je n'y entends rien en linux !!
-
Support Gea
dans HC2
@minaetdave pour ma part, j'ai la même boîte que toi à double portes et pour ce qui est de savoir si du courrier est dans la boîte, je joue avec un capteur d'ouverture FGK. Je l'ai placé de telle façon que, peu importe si c'est du courrier ou un colis, que ce soit le battant de la fente ou la porte entière qui s'ouvre ça déclenche et m'envoie une alerte ou tout ce que tu veux derrière. et ton FGMS, une fois que le courrier est déposé, je ne pense pas qu'il se mette à bouger son p'tit boule out seule pour dire qu'il est encore là !!!
-
Support Gea
dans HC2
J'ai quand même un doute sur l'extinction...
Aaaaah bah non ça fonctionne nickel dis donc !!
-
Support Gea
dans HC2
J'ai vérifier dans le swagger, et la valeur attendue est True/false... donc ça pouvait pas marcher
ça à l'air de fonctionner,... à tester en réel quand je serai à la maison.
GEA.add({{"Time","07:00","09:00"},{"Time","17:00","23:00"},{"Value", 758, true}}, -1, "Allumage Couloir", {"turnOn", id["Lampes_couloir"]}) GEA.add({"Value", 758, false},3*60, "", {"turnOff", id["Lampes_couloir"]} )
-
Support Gea
dans HC2
ah bah non ça marche pas !
-
Support Gea
dans HC2
Hello la team,
j'essaie de mettre en forme mon fameux scenario d'allumage et d'extinction auto de mes lampes en GEA.
Le principe est le suivant :
Si j'ai un mouvement, entre 07:00 et 09:00 ou entre 17:00 et 23:00, j'allume mes lampes.
Quand je n'ai plus de mouvement pendant 3 min.. alors j'éteins.
J'ai transcrit cela comme ça
GEA.add({{"Time","07:00","09:00"},{"Time","17:00","23:00"},{"Value", 758, 1}}, -1, "Allumage Couloir", {"turnOn", id["Lampes_couloir"]}) GEA.add({"Value", 758, 0},3*60, "", {"turnOff", id["Lampes_couloir"]} )
J'ai bon ?
-
Support Gea
dans HC2
-
Support Gea
dans HC2
-
Support Gea
dans HC2
Ah zut
ça
-
Support Gea
dans HC2
[22.07.2022] [10:23:26] [DEBUG] [QUICKAPP789]: onAction: {"deviceId":789,"args":[],"actionName":"btnRestart"} [22.07.2022] [10:23:26] [WARNING] [QUICKAPP789]: Class does not have btnRestart function defined - action ignored [22.07.2022] [11:46:43] [TRACE] [QUICKAPP789]: UIEvent: {"values":[],"deviceId":789,"elementName":"btnRestart","eventType":"onReleased"} [22.07.2022] [11:46:43] [DEBUG] [QUICKAPP789]: Connected : wss://192.168.0.148:8081/wsock [22.07.2022] [11:46:43] [DEBUG] [QUICKAPP789]: Data received : { "jsonrpc": "2.0", "result": { "token": "d69ec832d2fb9cb815a40fa97babf4d92f44e72f0964ff44568d228e4c4042cc", "exp_time": "899999" }, "id": 1 } [22.07.2022] [11:46:43] [DEBUG] [QUICKAPP789]: restart [22.07.2022] [11:46:43] [DEBUG] [QUICKAPP789]: Disconected : wss://192.168.0.148:8081/wsock [22.07.2022] [11:47:05] [TRACE] [QUICKAPP789]: UIEvent: {"elementName":"btnRestart","eventType":"onReleased","deviceId":789,"values":[null]} [22.07.2022] [11:47:05] [DEBUG] [QUICKAPP789]: Error : Connection failed
-
Support Gea
dans HC2
ah pardon !!!
-
Support Gea
dans HC2
function QuickApp:onInit() self.sock = net.WebSocketClientTls() self.url = "wss://" .. self:getVariable("ipAddress") .. ":8081/wsock" self.fibaroID = self:getVariable("fibaroID") self.localPass = self:getVariable("localPass") self.sock:addEventListener("connected", function() self:handleConnected() end) self.sock:addEventListener("disconnected", function() self:handleDisconnected() end) self.sock:addEventListener("error", function(error) self:handleError(error) end) self.sock:addEventListener("dataReceived", function(data) self:handleDataReceived(data) end) end function QuickApp:restartWS() self:connectWS() end function QuickApp:connectWS() self.sock:connect(self.url); end function QuickApp:Login() self.loginMsg = { jsonrpc = "2.0", method = "com.fibaro.intercom.account.login", params = { user = self.fibaroID, pass = self.localPass }, id = 1 } if self.sock and self.sock:isOpen() then self.sock:send(json.encode(self.loginMsg)) end end function QuickApp:SendAction() self.loginMsg = { jsonrpc = "2.0", method = "com.fibaro.intercom.power.restart", params = { token = self.IntercomToken }, id = 2 } if self.sock and self.sock:isOpen() then self.sock:send(json.encode(self.loginMsg)) self:debug("restart"); end end function QuickApp:DisconnectWS() if self.sock and self.sock:isOpen() then self.sock:close() end end function QuickApp:handleConnected() self:debug("Connected : " , self.url) self:Login() end function QuickApp:handleDisconnected() self:debug("Disconected : " , self.url ) end function QuickApp:handleError(error) self:debug("Error : ", error) end function QuickApp:handleDataReceived(data) self:debug("Data received : ", data) local responseMsg = json.decode(data); if responseMsg.id == 1 then self.IntercomToken = responseMsg.result.token self:SendAction() self:DisconnectWS() end if responseMsg.id == 2 then self:DisconnectWS() end end
Voilà le code du QA
-
Support Gea
dans HC2
Il y a 14 heures, Lazer a dit :Comme je l'ai déjà dit 50 fois sur le forum, appuyer sur le bouton du QA est débile, il faut désapprendre ce qu'on faisait sur HC2, et penser HC3 nativement.
Donc appeler directement la fonction qui est derrière le bouton, par son nom.
De ce que je comprends, ça doit être "btnRestart", tu peux virer le "onReleased" qui n'est pas une fonction
D'accord, d'accord.. pardon maître.
Donc si je résume bien :
GEA.add({{"Time", "12:15"},{"Time","16:15"}}, 0,"Redémarrage Intercom",{"QuickApp", 789, "btnRestart"})
qui, je l'ai essayé, ne fonctionne pas non plus
ou comme ça
GEA.add({{"Time", "12:15"},{"Time","16:15"}}, 0,"Redémarrage Intercom",{"btnRestart",789})
???
-
Support Gea
dans HC2
cc c'est encore moi.
Je cherche à appuyer sur un bouton d'un QA à heure régulière mais ça ne fonctionne pas.
Mon QA me permet de redémarrer mon intercom sans devoir aller dans les paramètres du bouzin. il y a donc un seul bouton surlequel on appuie et ça redémarre.
l'action en LUA se traduit ainsi :
hub.callUI(789, 'onReleased', 'btnRestart')
j'ai donc écrit cette règle en GEA
GEA.add({{"Time", "12:15"},{"Time","16:15"}}, 0,"Redémarrage Intercom",{"QuickApp", 789, "onReleased", "btnRestart"})
aucun problème de déclenchement d’événement ça fonctionne bien mais rien ne se passe, comme si l'appui ne se faisait pas... une idée sur l'action ???
-
Support Gea
dans HC2
J'ai tenté sur le premier.. mais pas les 2 autres..
Tu as raison, je vais quand même tester.
Mais c'est étrange tout de même que la propriété qui apparaît bien dans les propriétés du device ne se retrouve pas dans son JSON non ?
-
Support Gea
dans HC2
Bon en même temps c'est pas un drame hein... ça fonctionne en mode bloc. ça me va !!
mais si on pouvait avoir une explication de texte ce serait sympa.
-
Support Gea
dans HC2
Si mais ce n'était pas sur cette action, c'était sur la property "firstRelayIsOpen". Sur celle-ci cela fonctionne bien.
Ce que je ne comprends pas c'est que dans une scène classique cela fonctionne. et que le la property est bien utilisée comme déclencheur dans le code LUA....
-
Support Gea
dans HC2
{ "id": 726, "name": "Intercom Entrée", "roomID": 220, "view": [ { "assetsPath": "dynamic-plugins/com.fibaro.videoGate", "name": "com.fibaro.videoGate", "translatesPath": "/assets/i18n/com.fibaro.videoGate", "type": "ts" }, { "type": "json" } ], "type": "com.fibaro.fibaroIntercom", "baseType": "com.fibaro.videoGate", "enabled": true, "visible": true, "isPlugin": true, "parentId": 0, "viewXml": true, "hasUIView": false, "configXml": true, "interfaces": [ "tamper" ], "properties": { "SerialNumber": "00004503", "SwVersion": "4.1.5_88_29888e6_REL", "buttonOneIsPressed": false, "buttonThreeIsPressed": false, "buttonTwoIsPressed": false, "cameraType": 0, "categories": [ "security" ], "currentMode": "DOOR_STATION", "dBAudioLevelChanged": 0, "dead": false, "deadReason": "", "deviceControlType": 1, "deviceIcon": 91, "deviceRole": "Other", "displayOnMainPage": 1, "email": "ya*****er@***.fr", "firstRelayIsOpen": false, "httpsEnabled": false, "icon": { "path": "plugins/com.fibaro.fibaroIntercom/img/icon.png", "source": "HC" }, "incorrectPinLastTyped": 0, "input1": false, "input2": false, "ip": "192.168.0.148", "isRecording": false, "jpgPath": ":8080/live/image.jpg?token=f07b74ea6194d9cfea9143129baed8d27a0d7d04cb4764c5d81eec6f5f69e2ed", "lastRelayStateChangedMethod": "PIN-ENTERED", "localPassword": "***********", "log": "", "logTemp": "", "manufacturer": "", "mjpgPath": ":8080/live/stream.jpg?token=f07b74ea6194d9cfea9143129baed8d27a0d7d04cb4764c5d81eec6f5f69e2ed", "model": "", "moveDownPath": "", "moveLeftPath": "", "moveRightPath": "", "moveStopPath": "", "moveUpPath": "", "openTime": 3, "password": "", "pinStatusChanged": "", "port": 8081, "proxymityStateChanged": false, "recentlyCame": "ya****er@***.fr", "refreshTime": 3000, "saveLogs": true, "secondRelayIsOpen": false, "sendStopAfterMove": false, "supportedDeviceRoles": [ "Other" ], "tamper": false, "ui.config.SerialNumber.caption": "Serial number", "ui.config.SerialNumber.enabled": false, "ui.config.SwVersion.caption": "Software version", "ui.config.SwVersion.enabled": false, "ui.config.email.caption": "Email", "ui.config.email.enabled": true, "ui.config.ip.caption": "IP address", "ui.config.ip.enabled": true, "ui.config.localPassword.caption": "Password", "ui.config.localPassword.enabled": true, "ui.config.sectionDeviceInfo.caption": "Device information", "ui.config.sectionDeviceInfo.enabled": true, "ui.config.sectionLocalAccessConfiguration.caption": "Local access configuration", "ui.config.sectionLocalAccessConfiguration.enabled": true, "ui.config.sectionNetworkConfiguration.caption": "Network configuration", "ui.config.sectionNetworkConfiguration.enabled": true, "userDescription": "", "username": "", "users": "[\"ya*****er@*.fr\"]" }, "actions": { "moveDown": 0, "moveLeft": 0, "moveRight": 0, "moveStop": 0, "moveUp": 0, "openDoor1": 0, "openDoor2": 0, "openGate": 0, "sendCameraImageToAdminEmail": 0, "sendPhotoToUser": 1, "startRecording": 0, "stopRecording": 0 }, "created": 1655827558, "modified": 1655969346, "sortOrder": 19 }
Ais-je bien regarder dans la bonne section du swagger ???
Voilà ce que je récupère comme info, mais nulle part il apparaît la property recherchée.
-
Support Gea
dans HC2
J'ai une question (encore)....
comme je l'ai déjà dis j'ai un intercom fibaro
je veux faire une règle GEA qui dit que quand on appui sur le bouton de présence, ça active une sonnette AEOTEC.
si je fais une règle blocs, ça marche.
si je la traduis en LUA ça me donne ça dans les déclarations
{ conditions = { { id = 726, isTrigger = true, operator = "==", property = "videoGateIncomingCallEvent", type = "device" } }, operator = "all" }
ce qui logiquement doit se traduire par cette règle sous GEA
GEA.add({"Property", 726,"videoGateIncomingCallEvent", true}, -1, "Quelqu'un Sonne", {"turnOn", 840})
et ben ça marche pas. GEA se fige et ne me sort aucun message d'erreur et plus rien ne se passe. Une idée du pourquoi
[18.07.2022] [17:31:58] [TRACE] [QA_GEA_728]: ---------------------------------------------------------------------------------------------------- [18.07.2022] [17:31:58] [TRACE] [QA_GEA_728]: Démarrage automatique de GEA 7.37 : mode autostart [18.07.2022] [17:31:58] [TRACE] [QA_GEA_728]: ---------------------------------------------------------------------------------------------------- [18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: Utilisation de la librairie tools v2.20[18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: Vérification automatique toutes les 30 secondes [18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: Variable QuickApp GEA : GEA_History [18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: ---------------------------------------------------------------------------------------------------- [18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: Chargement du code utilisateur setEvents() : [18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: Ajout auto #1 : [true] => [18.07.2022] [17:31:58] [DEBUG] [QA_GEA_728]: Ajout auto #2 : Démarrage GEA [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #3 : Démarrage box [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #4 : Détection nouvelle version stable [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #5 : Détection nouvelle version beta [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #8 : ["Time",["Sunset>22:00","22:05"]] => ["Close",[[783,808,796,802,805,799,772]]] [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #9 : ["Time",["07:30","07:32"]] => ["Open",[[783,808,796,802,805,799,772]]] [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #10 : ["Value+",[656,23]] => ["Open",[[783,808,796,802,805,799,772],20]] [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #17 : ["Or",[["Time","14:35","16h25"],["Time","21:35","23:25"],["Time","02:35","06:25"]]] => ["TurnOn",[379]] [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Ajout auto #18 : ["Or",[["Time","16:26","21h34"],["Time","23:26","02:34"],["Time","06:26","14:34"]]] => ["TurnOff",[379]] [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: ---------------------------------------------------------------------------------------------------- [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Déclencheurs instantanés : 8 [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #777 Spa (Terrasse Jacuzzi) power [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #653 Boîte à Lettres (Couloir) value [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #748 Porte d'Entrée (Couloir) value [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #835 Keyfob Carine (HC2) centralSceneEvent 6 Pressed [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #838 Keyfob Yannick (HC2) centralSceneEvent 6 Pressed [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #726 Intercom Entrée (Couloir) firstRelayIsOpen [18.07.2022] [17:31:59] [DEBUG] [QA_GEA_728]: Trigger : device #499 Nodon Couloir (Couloir) centralSceneEvent 1 Pressed
-
Support Gea
dans HC2
je précise que je ne stipule nulle part dans ma règle de faire "ou" !!!
GEA.add({{"Time", "14:35", "16h25"}, {"Time", "21:35", "23:25"}, {"Time", "02:35", "06:25"}}, 0, "Démarrage Sèche-Serviettes", {"turnOn", 379}) -
Support Gea
dans HC2
Le 14/07/2022 à 20:19, jojo a dit :règle d'or :
toutes les conditions dans la même ligne sont des ET.
si on veut faire des OU, il faut faire différentes lignes.
Ce que tu as écrit :
Si l'heure actuelle es comprise entre 14:35 et 16:25 (! syntaxe !) ET quelle est comprise entre 21:35 et 23:25 ET qu'elle est comprise entre 02:35 et 06:25
(c'est une condition impossible à remplir : à 14:35 la première condition serait remplie (si bonne syntaxe) mais donc pas les seconde et troisième)
pendant 30 sec
Alors allume le sèche serviettes, mais à aucun moment tu lui as dit de s'arrêter.
Voici ce qui fonctionnera :
GEA.add({"Time", "14:35", "14:40"}, 0, "Démarrage Sèche-Serviettes", {"TurnOn", id[Seche_serviette]}) GEA.add({"Time", "21:35", "21:40"}, 0, "Démarrage Sèche-Serviettes", {"TurnOn", id[Seche_serviette]}) GEA.add({"Time", "02:35", "02:40"}, 0, "Démarrage Sèche-Serviettes", {"TurnOn", id[Seche_serviette]}) GEA.add({"Time", "16:25", "16:30"}, 0, "Arrêt Sèche-Serviettes", {"TurnOff", id[Seche_serviette]}) GEA.add({"Time", "23:25", "23:30"}, 0, "Arrêt Sèche-Serviettes", {"TurnOff", id[Seche_serviette]}) GEA.add({"Time", "06:25", "06:30"}, 0, "Arrêt Sèche-Serviettes", {"TurnOff", id[Seche_serviette]})
j'ai mis la durée à 0s, ce qui revient à dire que l'action s'exécutera au prochain cycle GEA (max 30 sec)
Salut @Lazerdésolé pour le lapse de temps de réponse... j'étais en graaaaaaaaaaaaaaand week-end !!!
je te confirme vraiment que cela fonctionne parfaitement, mon sèche-serviette démarre et s'arrête aux heures prévues.
D'ailleurs concernant la syntaxe, le debug ne montre pas un "And" mais un "Or"
regarde !!
-
Support Gea
dans HC2
Il y a 13 heures, Lazer a dit :Alors là j'ai appris un truc... mais je ne comprends pas comment ça peut fonctionner
Petit retour d'expérience de ce que j'ai fait hier.... et ben ça marche nickel... déclenchement aux bon moments tout est nickel.
Dommage que ça ne puisse pas tenir sur une ligne avec une commande ELSE ou un truc du style.
Bon après, je ne sais pas si c'est plus économique que de laisser l'inertie faire son travail et réguler les temps de chauffe. En été par les chaleur qu'on a en ce moment le métal n'est pas trop froid donc la mise en température n'est pas trop longue mais en hiver, je suis pas sûr que ce soit rentable... il faudrait que je branche ça sur un WP pour calculer a conso moyenne sur 2 ou 3 jours et faire un comparatif avec cette variante.
-
-
Support Gea
dans HC2
Le 26/10/2021 à 18:52, Lazer a dit :J'ai déplacé ton message au bon endroit, je suis sympa car je ne l'ai pas supprimé sans préavis comme expliqué sur l'autre topic
Mais euh, désolé là je n'ai aucune motivation pour me lancer dans la lecture de ta longue scène....
GEA est un moteur d'exécution de règles.
1 ligne = 1 règle.
Chaque règle comprend 1 ou plusieurs conditions, et 1 ou plusieurs actions.
L'ensemble des règles sont parcourues, testée, et exécutées le cas échant, toutes les 30 secondes.
Ce n'est pas du tout la même approche qu'une grosse scène complexe qui fait papa maman à boire et à manger.Cela dit GEA fait aussi papa maman à boire et à manger mais avec une approche totalement différente.
Le mieux à faire est de te lancer avec des règles simples, que tu étofferas au fur et à mesure, et tu trouveras facilement de l'aide pour te dépanner au cas par cas.
Après tout n'est pas faisable avec GEA (ou alors ça serait trop complexe et pas adapté à mon avis).
Exemple concret, j'ai une scène réveil douceur qui effectue plusieurs actions pendant plusieurs minutes. Ben là déjà rien qu'en disant ça, on comprend que GEA n'est pas adapté, il vaut mieux se faire une petite scène à coté (que GEA peut déclencher)Idem, j'ai une scène alarme, qui est autonome.
Bon cela dit, sauf si quelqu'un est motivé pour lire ta scène en entier... bon courage
J'ai trouvé sur le Forum Officiel FIBARO un contributeur @Sjekke qui m'a partagé son code de scènes qui fonctionne... le voici :
DECLARATIONS
{ conditions = { { id = 758, isTrigger = true, operator = "==", property = "value", type = "device", value = true } }, operator = "any" }
ACTIONS
-- This scene turns on one or more lights: -- when Lux level is below a certain level (see DECLARATIONS) and -- shows the Lux level of one ore more Lux sensors and -- turns off the lights after a certain time (maxTime), -- unless there is motion from one or more Motion sensors -- Please enter the right ID's (if more than one, seperate by ",") and the prefered maxTime for the lights to stay on local light = {752,754,756} -- ID's of the lights to turn on local led = {265,272} local all = {752,754,756,265,272} local motion = {758} -- ID's of the Motion sensors to check if they are breached local lux = {760} -- ID's of the Lux sensors to (only) show the lux level local maxTime = 1*180 -- Maximum time the sensor should be safe before turning off (n*60 where n is minutes) local sleepTime = 5 -- Time in seconds between each check of the Motion sensor (default = 5) local debug_TAG = "Lumières entrée" -- Tag for the debug messages -- Below here no changes are necessary for i in pairs(light) do -- Turn on the lights fibaro.debug(debug_TAG,"Turning on (ID " ..light[i] ..") " ..fibaro.getName(light[i]) .." for " ..maxTime .." seconds") fibaro.call(light[i],"turnOn") end for i in pairs(led) do -- Turn on the LED fibaro.debug(debug_TAG,"Turning on (ID " ..led[i] ..") " ..fibaro.getName(led[i]) .." for " ..maxTime .." seconds") fibaro.call(led[i], "turnOn") end for i in pairs(lux) do -- Show the lux level of the Lux sensors fibaro.debug(debug_TAG,"Current Lux level " ..lux[i] .." " ..fibaro.getName(lux[i]) ..": " ..fibaro.getValue(lux[i],"value")) end local safeTime = 0 while safeTime < maxTime do -- Loop until maxTime is reached fibaro.sleep(sleepTime*1000) safeTime=safeTime+sleepTime fibaro.debug(debug_TAG,"Counting up safeTime " ..safeTime .." to maxTime " ..maxTime) for i in pairs(motion) do if fibaro.getValue(motion[i],"value") then -- Check if Motion sensors are breached fibaro.debug(debug_TAG,"Reset by Motion sensor " ..motion[i] .." " ..fibaro.getName(motion[i])) safeTime = 0 -- Reset safeTime to zero end end end for i in pairs(light) do -- Counted down to maxTime, turn off the lights fibaro.debug(debug_TAG, "Turning off " ..all[i] .." " ..fibaro.getName(all[i])) fibaro.call(light[i],"turnOff") end for i in pairs(led) do -- Counted down to maxTime, turn off the lights fibaro.debug(debug_TAG, "Turning off " ..led[i] .." " ..fibaro.getName(led[i])) fibaro.call(led[i], "turnOff") end
maintenant... j'ai plus qu'à traduire ça en GEA.... enfin essayer !!!
Sauvegarde HC3 automatique sur NAS Synology
dans Tutoriels
Posté(e) · Modifié par Yannick
j'allais retirer mon post.. Ma question était vraiment nulle. je me suis répondu à moi même au bout d'un moment, quel couillon !!!
Désolé.
Je vais essayer de mettre en oeuvre !