forumAD Posté(e) le 24 novembre 2014 Signaler Posté(e) le 24 novembre 2014 Merci à vous tous, @zozotte, @steven et tous ceux qui support ce script. En fait le ventillateur fonctionne actguellement, il a pris un petit moment avant de démarrer; Actuellement l'humiditié est à 66% mais il fonctionne toujours alors qu'il devrait s'arrêtwe une fois arrivé à 74%. Il y a t'il un petit bug dans mon code?
forumAD Posté(e) le 24 novembre 2014 Signaler Posté(e) le 24 novembre 2014 Ou vous pensez qu'il y a un petit soucis d'hystérésis avec le capteur ST814 (de 8%) comme j'ai cru comprendre dans un post de @Kirkhoff?
971jmd Posté(e) le 25 novembre 2014 Signaler Posté(e) le 25 novembre 2014 Hello Steven, Voici mon premier essai GEA basé sur tous tes exemples (allumage des lampes, contrôle de la ventillation à la salle de bain). Tu peux regarder si ça tien la route avant que je ne passe à l'action, Je ne voudrait pas mettre le feu à la baraque. Madame dort. --[[ %% autostart %% properties 7 value 4 value 13 value %% globals --]] -- v 4.10 -- Conditions : -- {"Weather", <valeur} -- {"Property", <id module>, <property>, <value>) -- {"Property!", <id module>, <property>, <value>) -- Actions : -- {"CopyGlobal", "nom_source", "nom_destination"} -- {"CurrentIcon", <id_module>, <id_icone>} -- Autres : -- regex sur Weather, Global, Global!, Value, Value!, Label, Label!, Property, Property! -- Fix : -- Prise en compte de Global!, Global+ et Global- dans les démarrages instantanés -- ================================================== -- GEA : Gestionnaire d'Evénements Automatique -- ================================================== -- [FR] Scénario permettant de contrôler si une périphérique est -- activé depuis trop longtemps ou lancer un push d'avertissement -- Ce scénario permet une annotation plus simple que le code LUA -- il nécessite néanmoins quelques connaissances -- -- [EN] This scene allow you to check every X second the status -- of a module and send actions if the module is activated since too long. -- This scene allow you a more simple annotation than LUA -- it requires some knowledge -- -- Auteur : Steven P. with modification of Hansolo and Shyrka973 -- Version : 4.1 -- Special Thanks to : -- jompa68, Fredric, Diuck, Domodial, moicphil, lolomail, byackee, -- JossAlf, Did, jompa98 and all other guy from Domotique-fibaro.fr -- ------------------------------------------------------------ -- Historique / History -- ------------------------------------------------------------ -- L'historique complet est diponible ici : -- http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-dévénements-automatique/?p=12428 function yourcode() -- ================================================== -- [FR] A VOUS DE JOUER -- [EN] YOUR TIME TO PLAY -- ================================================== GEA.isVersionFour = false --- On est en version 4.017 Beta ou suppérieur -- [FR] Votre langue : FR (default) -- [EN] Your language : EN GEA.language = "FR"; -- [FR] On vérifie toutes les X secondes (default : 30) -- [EN] Check every X seconds GEA.checkEvery = 30 -- [FR] Liste des portables devant recevoir une notification {70, 71} -- [EN] Smarphones you want to be notified {XX, XX} for more than one GEA.portables = {10} -- [FR] Affichage des traces dans la console (default : false) -- [EN] Show trace in the debug window GEA.debug = false -- [FR] Tableau d'identifiant (facultatif) -- [EN] ID table (optional) local id = { DETECTEUR_REZ = 7, TEMP_REZ = 8, LUX_REZ= 9, DETECTEUR_ETAGE = 4, TEMP_ETAGE = 5, LUX_ETAGE= 6, LAMPE_ESCALIER = 43, LAMPE_ENTREE_REZ = 39, LAMPE_CH_PARENT = 35, TEMP_REZ = 20, PORTE_REZ = 18, MULTIMEDIA = 25, BUREAU = 24, SMOKE_SENSOR = 28, TEMP_BUREAU = 908 DETECTEUR_HUM = 13, TEMP_HUM = 12, HELIOS_BAIN=36 VD_AGENDA = 110 } -- ------------------------------------------------------------ -- [FR] Variable Globale optionnel pour autorisé GEA de s'exécuté -- [FR] Usage : GEA.getGlobalForActivation = {"<globalvar>", "<value pour autoriser l'execution>"} -- [EN] Optional Global Variable to allow GEA to run -- [EN] Usage : GEA.getGlobalForActivation = {"<globalvar>", "<value for activation>"} -- ------------------------------------------------------------ --GEA.getGlobalForActivation = {"SuspendreGEA", "non"} -- ---------------------------------------------------------------- -- [FR] A partir d'ici vous trouverez ma propre configuration -- [FR] vous permettant ainsi d'avoir une série d'exemple -- [EN] From here are ma own configuration -- [EN] just to allow you to see some examples -- ---------------------------------------------------------------- -- Exemple de condition IF // IF Sample condition -- local estChome = {"Global", "JourChome", "OUI"} -- local estTravail = {"Global", "JourChome", "NON"}, {"Sensor-", id["TV"], 1}, {"Value-", id["DETECTEUR_GARAGE"], 1} -- local estSafe = {"Global", "Intrusion", "NON"} -- local estTravailEtSafe = estTravail, estSafe -- local estFerme = {"Value-", id["PORTE_ENTREE"], 1}, {"Global", "GEA_Garage", "ON"} -- local estVac = {"Global", "Chauffage", "VACANCES"} -- local co2Correct = {"If", {{"Global-", "CO2", 900}}} -- local garageAvertissement = {"Global", "GEA_Garage", "ON"} local lampeEscalierEteinte = {"Value-", id["LAMPE_ESCALIER"], 1} local lampeEscalierAllumee = {"Value+", id["LAMPE_ESCALIER"], 0} local lampeEntreeRezEteinte = {"Value-", id["LAMPE_ENTREE_REZ"], 1} local lampeEntreeRezAllumee = {"Value+", id["LAMPE_ENTREE_REZ"], 0} -- === LAMPE ENTREE REZ === -- local autoOff = GEA.add(39, 5*60, "", {{"turnOff"}}) -- Allume la lampe et redémarre le timer des 5 minutes GEA.add(7, -1, "", {{"turnOn", 39}, {"RestartTask", autoOff}, {"Time", "17:00", "08:00"} }) -- === LAMPE ENTREE ETAGE === -- local autoOff = GEA.add(43, 5*60, "", {{"turnOff"}}) -- Allume la lampe et redémarre le timer des 5 minutes GEA.add(4, -1, "", {{"turnOn", 43}, {"RestartTask", autoOff}, {"Time", "17:00", "08:00"} }) -- === CONTROL VENTILLO SALLE DE BAIN === -- -- Si allumé, on éteint le ventillateur après 10 minutes local autoVentilo = GEA.add(HELIOS_BAIN, 10*60, "", {{"turnOff"}}) -- Si l'humidité > 74 pendant 1 minutes, on démarre le ventillateur GEA.add({"Value+", DETECTEUR_HUM, 74}, 60, "", {{"turnOn", HELIOS_BAIN}, {"RestartTask", autoVentilo}, {"Repeat"}}) bonjour local autoOff = GEA.add(39, 5*60, "", {{"turnOff"}}) -- Allume la lampe et redémarre le timer des 5 minutes GEA.add(7, -1, "", {{"turnOn", 39}, {"RestartTask", autoOff}, {"Time", "17:00", "08:00"} } une chose que je ne comprend pas pourquoi une foi sur deux ma lampe s'éteindre a 5mm
Steven Posté(e) le 25 novembre 2014 Auteur Signaler Posté(e) le 25 novembre 2014 @forumAD Impossible de savoir, il faudrait que tu fasses quelques tests. @971jmd Tu cites le code de quelqu'un d'autres et tu veux qu'on trouve ton soucis ... je comprends rien. @zozotte Puis-je te mettre à contribution pour tester ton "SceneActivation" qui doit basculer l'état on/off d'une lampe ? @sebbrunie1 Le {"Global", "<nom_var>", "inc+[<valeur>]"} est en chemin.
971jmd Posté(e) le 25 novembre 2014 Signaler Posté(e) le 25 novembre 2014 Désolé mon probleme est que le code ne respecte pas toujours les 5mm de délais === hologe === -- local autoOff = GEA.add(60, 5*60, "on bar pour", {{"turnOff"}}) -- Allume la lampe et redémarre le timer des 5 minutes GEA.add(60, -1, "", {{"turnOn", 60}, {"RestartTask", autoOff}, {"Time", "17:00", "08:00"} })
forumAD Posté(e) le 25 novembre 2014 Signaler Posté(e) le 25 novembre 2014 @steven Plusieurs tests ont été effectués. Le points commun de tous les tests est que une fois le ventilateur déclenché, ça ne s'arrête plus même après 20mn; Par exemple si je mets une consigne à83, le ventilateur s'enclenche seulement quand l'humidité pas sous 77% ---> et ne s'arrête plus même quand l'humidité tombe à65. Je ne comprends pas; Une idée?
Sebbrunie1 Posté(e) le 25 novembre 2014 Signaler Posté(e) le 25 novembre 2014 @Steven Merci,trop cool. Mes petites plantes vont être trop contentes .....!
Yohan Posté(e) le 26 novembre 2014 Signaler Posté(e) le 26 novembre 2014 A ce que j'ai lu, le tuto de Sebcbien met déjà à jour une variable globale "Présence_XX_" (je connais pas le nom précis). Ce que tu peux faire est utilisé le valeur de cette variable pour modifier la tienne. --[[ %% autostart %% properties %% globals Presence_XX --]] GEA.add({"Global", "Presence_XX", "1"}, -1, "", {{"Global", "Presence", "Present"}}) GEA.add({"Global", "Presence_XX", "0"}, -1, "", {{"Global", "Presence", "Absent"}}) Parfait ça fonctionne merci les copains (désolé du temps de réponse je ne suis pas très présent ces derniers jours )
zozotte Posté(e) le 29 novembre 2014 Signaler Posté(e) le 29 novembre 2014 Bonjour, J'ai du mal à utiliser les Taches... Lorsque je veux regarder un film, j'appuie sur une télécommande qui change le mode Hifi en Cinema. 2 minutes apres, les Volets Roulants se baissent et la lumiere s'eteint. Je veux alors que soit démarrées 2 taches qui géreront l'allumage de la lumiere et l'ouverture des volets, si nécessaire. PS: j'ai mis une tempo pour eviter les on/off si mauvaise manip sur la telecommande. Voici les tests que j'ai fait avec la lumiere: 1er: GEA.add( {"Global", "Hifi", "Cinema"}, 2*60, "", {{"VirtualDevice", id["VD_LUM"], 5}, {"Close",id["SALON_VR"],85}}) local onCanape = GEA.add( {"Global!", "Hifi", "Cinema"}, -1, "", {{"turnOn", id["SALON_LUM_CANAPE"]}}) GEA.add({"Global", "Hifi", "Cinema"}, 60, "", {{"RestartTask", onCanape}}) Dans ce cas, la lumiere s'allume a chaque fois que je change la variable Hifi, quelque soit la valeur et sans que j'ai laissé 1 minutes en mode Cinema. 2e: GEA.add( {"Global", "Hifi", "Cinema"}, 2*60, "", {{"VirtualDevice", id["VD_LUM"], 5}, {"Close",id["SALON_VR"],85}}) local onCanape = GEA.add( {"Global", "Hifi", "Cinema"}, -1, "", {{"Inverse"}, {"turnOn", id["SALON_LUM_CANAPE"]}}) GEA.add({"Global", "Hifi", "Cinema"}, 60, "", {{"RestartTask", onCanape}}) Pareil que le 1er code Quelqu'un aurait il vu l'erreur ? ou peut etre faut il que j'utilise une autre logique... Merci pour votre aide Zozotte
HANSOLO Posté(e) le 29 novembre 2014 Signaler Posté(e) le 29 novembre 2014 Si je comprends bien tu veux que s'allume SALON-LUM_CANAPE 1 mn après que la variable Hifi soit passée à Cinema. Je ferais: GEA.add( {"Global", "Hifi", "Cinema"}, 2*60, "", {{"VirtualDevice", id["VD_LUM"], 5}, {"Close",id["SALON_VR"],85}}) local onCanape = GEA.add({"Global", "Hifi", "Cinema"}, 60, "", {{"turnOn", id["SALON_LUM_CANAPE"]},{"MaxTime",1}}) GEA.add({"Global!", "Hifi", "Cinema"}, -1, "", {{"Inverse"},{"RestartTask", onCanape}}) Le MaxTime force la ligne allumant la lumière a s'exécuter une seule fois, la dernière ligne relance la tâche onCanapé quand ta variable Hifi change de valeur pour la prochaine séance de cinéma
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Steven, question, est ce que cela passe encore chez toi en 4.020 : GEA.add({"Sensor-", id["WPLUG_LAVE_LINGE"], 5}, 5*60, "Extinction lave-linge consommation #value#", {{"turnOff"},{"Time","14:30","15:30"},{"Time","06:30","07:30"}}) Moi cela me sort en erreur...
HANSOLO Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 tu as quoi pour GEA.isVersionFour = false pour firmware inférieur à4.17 GEA.isVersionFour = true pour firmware supérieur ou égale à4.17
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Je n'ai pas cela dans le code... Je suis pourtant en 4.017 du GEA. C'est censé y être ?
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Ok, il y a beaucoup plus récent du coup, je vais tester de suite. Merci HAN
HANSOLO Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 On en est àla version 4.11 du code GEA
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Yop oui, du coup cela est corrigé. Par contre il me lit mal ça : GEA.add({"Value+", 60, 20.6}, 1*5, "Extinction chauffage SDB", {{"turnOff",103},{"Time","6:00","19:00"}}) En ce moment j'ai 18.5 en température, et pourtant il me lance cette scène... Le 20.6 doit être écrit différemment ??
HANSOLO Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Je suis en 3.591 donc je passe la main pour répondre
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Han, en fait ce que je voulais dire, c'est qu'il faut mettre des quotes ou qque chose pour les chiffres à virgule ? EDIT : Je viens de changer value par sensor, me suis planté je crois... EDIT 2 : Non, c'était bien Value...
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 En fait GEA me fait n'importe quoi. J'ai 2 jobs par pièce : GEA.add({"Value-", 60, 20.5}, 1*5, "Allumage chauffage SDB", {{"turnOn",103},{"Time","6:00","19:00"}}) GEA.add({"Value+", 60, 20.6}, 1*5, "Extinction chauffage SDB", {{"turnOff",103},{"Time","6:00","19:00"}}) Et en fait, à chaque coup il m'exécute les 2 jobs !!! Cela n'est pas possible, comment la Value du sensor peut être et inférieure à 20.5 et supérieure à 20.6 en même temps ??? Là moi y en a pas tout comprendre... snif Je crois que je vais devoir revenir en 3.590 à ce rythme. EDIT : Je viens de modifier le 1*5 et 5*60, on dirait que cela est ok, je vais surveiller. Mais si qqun sait me dire pourquoi ???
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Bon, bah finalement cela ne fonctionne pas bien mieux...
Steven Posté(e) le 30 novembre 2014 Auteur Signaler Posté(e) le 30 novembre 2014 Je jetterai un oeil demain sonne trouve le temps mais chez moi tout est bon. Es-tu sure de ton id 60 et quel genre de module as-tu la derrière. Pourrais-tu en plus me fournir le json' http://ip_hc2/api/devices/60 Merci d'avance. Envoyé de mon portable grâce àmes petits doigts.
Nico Posté(e) le 30 novembre 2014 Signaler Posté(e) le 30 novembre 2014 Le boss est là Merci surtout à toi !!!! Alors prenons par exemple le salon, avec un ST814 (Mais cela me le fait pour tous les modules, par exemple AEO4in1). Le code GEA : GEA.add({"Value+", 132, 21.6}, 5*60, "Extinction chauffage cuisine/salon", {{"turnOff",107},{"Time","6:00","23:30"}}) GEA.add({"Value-", 132, 21.5}, 5*60, "Allumage chauffage cuisine/salon", {{"turnOn",107},{"Time","6:00","21:30"}}) GEA.add({"Value+", 132, 20.1}, 5*60, "Extinction chauffage cuisine/salon", {{"turnOff",107},{"Time","0:00","6:00"}}) GEA.add({"Value-", 132, 20}, 5*60, "Allumage chauffage cuisine/salon", {{"turnOn",107},{"Time","0:00","6:00"}}) Voilà le JSON : {"id":132,"name":"Température","roomID":5,"type":"com.fibaro.temperatureSensor","baseType":"com.fibaro.multilevelSensor","enabled":true,"visible":true,"isPlugin":false,"parentId":266,"remoteGatewayId":0,"interfaces":["battery","zwave","zwaveWakeup"],"properties":{"parameters":[{"id":1,"lastSetValue":99,"size":1,"value":99},{"id":2,"lastSetValue":99,"size":1,"value":99},{"id":3,"lastSetValue":99,"size":1,"value":99},{"id":4,"lastSetValue":99,"size":1,"value":99},{"id":5,"lastSetValue":99,"size":1,"value":99},{"id":6,"lastSetValue":15,"size":2,"value":15},{"id":7,"lastSetValue":1,"size":1,"value":1},{"id":8,"lastSetValue":10,"size":1,"value":10}],"associationSet":[{"devices":[1],"groupID":1},{"devices":[1],"groupID":2}],"associationView":[{"devices":[1],"groupID":1},{"devices":[1],"groupID":2}],"zwaveCompany":"Everspring","zwaveInfo":"6,2,64","zwaveVersion":"","wakeUpTime":1800,"pollingTimeSec":0,"batteryLevel":"90","batteryLowNotification":"true","configured":"true","dead":"false","deviceControlType":"0","deviceIcon":"30","emailNotificationID":"0","emailNotificationType":"0","endPointId":"0","interval":"0","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","markAsDead":"true","model":"","nodeId":"44","offset":"0.00","parametersTemplate":"20","productInfo":"","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","showFireAlarm":"false","showFreezeAlarm":"false","smsNotificationID":"0","smsNotificationType":"0","unit":"C","useTemplate":"true","userDescription":"","value":"21.90"},"actions":{"reconfigure":0,"setInterval":1},"created":1417260254,"modified":1417260254,"sortOrder":36} Donc quand je vérifie le JSON, je lis bien 21.90 en value. Et si je regarde mon GEA, je devrais donc éteindre le device 107 (Un FGS) vu qu'il est 20h53 (Ligne 1 du GEA)...
Nico Posté(e) le 1 décembre 2014 Signaler Posté(e) le 1 décembre 2014 Mince pareil pour mon lave linge, l'allumage n'a pas fonctionné alors que la coupure oui, cette scène lààpourtant toujours fonctionné : GEA.add({"Global", "", ""}, 5, "Allumage Lave linge",{{"Time", "12:35", "12:35"}, {"Time", "1:35", "1:35"}, {"turnOn",id["WPLUG_LAVE_LINGE"]}}) GEA.add({"Sensor-", id["WPLUG_LAVE_LINGE"], 5}, 5*60, "Extinction lave-linge consommation #value#", {{"turnOff"},{"Time","14:30","15:30"},{"Time","06:30","07:30"}})
Steven Posté(e) le 1 décembre 2014 Auteur Signaler Posté(e) le 1 décembre 2014 @Nico Essaie cette version et dit moi si tu as toujours les même soucis. Cette version est celle que j'utilise tous les jours depuis une bonne semaine. Ma VMC s'éteint OU pas selon la température et mon sèche-serviette s'allume et s'éteint au bonne heure. En gros, cela fonctionne parfaitement chez moi. Par contre, je ne suis que sur du Fibaro mais cela ne devrait rien changé. Tiens moi au courant. Nico.lua
Messages recommandés