Steven Posté(e) le 24 mai 2014 Signaler Posté(e) le 24 mai 2014 SUPPORT GEA ______________ Le projet GEA ayant pris de l'ampleur, il n'est plus possible de regroupé toutes les questions/réponses, demandes de support et évolutions au sein d'un seul et même topic.Ce topic est donc créer pour répondre à vos questions, doutes, demandes d'assistance.N'hésitez pas à poser vos questions ici, la communauté sera contente de vous aider dans la mesure du possibleProjet GEA : Tutorial (dernière version disponible sur ce post) Version actuel 5.40 : disponible sur GitHub (ancienne version) Un Wiki est disponible (connexion pas forcément stable) : Wiki 1 6
Steven Posté(e) le 24 mai 2014 Auteur Signaler Posté(e) le 24 mai 2014 FAQ ______________ Pourquoi le projet GEA Initialement, ce script servait uniquement a vérifier si une porte était ouverte plus de X minutes. Fort, de constaté la difficulté que les utilisateurs avaient à faire des scénarios complexes (plusieurs conditions, plusieurs actions), je me suis dit qu'en modifiant mon code, il serait éventuellement possible d'offrir une solution plus simple. A ce jour, une ligne de GEA remplace aisément un scénario complexe, et ce, grâce à la communauté de ce forum. Est-ce possible d'utiliser GEA sans recevoir de notification. Oui, GEA envoi une notification que si le message contient quelque chose. Mettre "" comme message revient à désactiver la notification. GEA peut-il exécuter une opération à une heure précises. Non pour cela, je vous conseil le Scheduler. GEA vérifie les opérations a effectuer toutes les X secondes, il peut donc exécuter des opérations à une heure proche de celle demandé mais pas à une heure précise (+ ou - 30 secondes avec les paramètres par défaut). Pourquoi si je demande à GEA d'éteindre ma lumière après 45 secondes, il prend un peu plus de temps GEA vérifie les opérations toutes les X secondes (30 par défaut). Si vous lui demandé de lancer une opération après 45 secondes, il ne pourra pas. Au premier passage (30s), il n'aura rien à faire et va attendre 30 secondes pour se relancer. Au 2ème passage, il verra que votre délai de 45 secondes est échu et va lancer les commandes associées. Mais cela n'arrivera qu'au 2ème passage soit 2x30 secondes (1 minute) au lieu des 45 secondes demandées. GEA respecte-t-il l'ordonnancement des commandes ?Absolument, chaque ligne, chaque commande est stockée dans un tableau en respectant votre ordre de saisie et traite ces commandes séquentiellement. Vous pouvez donc mettre à jour une variable globale à la ligne 11 et vérifier cette dernière à la ligne 12. Qu'en est-il des performances Il est difficile de vérifier les performances avec un langage aussi permissif que LUA. Les performances seront soumises aux nombres de commandes que vous allez saisir et leurs complexités. Néanmoins, la performance est le coeur de ma préoccupation et j'essaie de l'amélioré dès que possible. A ce jour, GEA vérifie mes 32 commandes (portes, batteries, ...) en moins de 4 centièmes de secondes. Lorsque j'ouvre ma porte, mes commandes ne s'exécute pas immédiatement.Afin que GEA puisse agir instantanément deux éléments sont primordiale : 1) L'ID doit être déclaré dans l'entête du script 2) la durée doit être fixée à -1. --[[%% properties16 value%% globals--]]...GEA.add(16, -1, "", {{"turnOn",17}}) -- Allumage de la lumière quand la porte s'ouvre Je souhaite recevoir la notification UNIQUEMENT par Email GEA envoi les message directement par push dès qu'un message a été indiqué, puis par email si vous lui l'avez demandé. Pour lui demandé d'envoyer uniquement par Email, l'astuce consiste à lui demander d'envoyé le push à un smartphone inexistant. GEA.add(16, -1, "Ouverture de la porte à #time#, le #date#", {{"Email",2},{"Portable",0}}) Je n'ai pas très bien compris la notion de groupe.Les groupes sont utilisés pour permettre à GEA d'effectuer une commande UNIQUEMENT si toutes les commandes précédentes du même groupe ont été réalisées. GEA.add(17, 5*60, "", {{"Group",1},{"Group",2}}) -- Lumière allumée depuis 5 mn.GEA.add(18, 5*60, "", {{"Group",1}}) -- Porte ouverte depuis 5 mn.GEA.add({"Group",1}, 5*60, "Porte ouverte et lampe allumé de puis plus de 5mn.") Je souhaite que la lumière s'allume au levé du soleil mais pas avant 7h30Depuis la version 3.30 GEA permet l'usage du paramètre Sunrise>07:30 ou Sunrise<07:30. GEA.add(18, 60, "Allumage lumière",{{"Time", "Sunrise>07:30", "07:35"}, {"turnOn"}}) Est-ce possible d'allumer la WMC 1 heure avant ou après le levé du soleil ?Depuis la version 3.30 GEA permet l'usage du paramètre Sunrise-60 ou Sunrise+60. GEA.add(18, 60, "Allumage WMC",{{"Time", "Sunrise-60", "23:30"}, {"turnOn"}}) Je souhaite vérifier l'arrivée des enfants après l'école à midi et le soir. Comment faire au plus simple ?Vous pouvez vérifier l'ouverture de la porte à des plages horaires et jours précis GEA.add(17, -1, "Porte ouvertes à #date# #time#",{{"Days","Monday,Tuesday,Thursday,Friday"},{"Time","11:30","13:30"}, {"Time","16:30","18:30"}}) GEA peut-il faire parler mon Karotz, Sarah, ...Non, par contre vous pouvez mettre à jour une variable globale puis activer une scéne ou un module virtuel qui lira la variable globale et fera parler votre lapin. GEA.add(17, -1, "Porte ouvertes à #date# #time#",{{"Global","Karotz", "La porte est ouverte"},{"VirtualDevice",91,"1"}}) Est-ce possible de demander à GEA de fermer mes volets si la température est supérieur à 24° depuis plus de 10 minutesOui et cela de manière assez aisée grâce à la communauté. local thermometre, volet1, volet2 = 8, 22, 23 GEA.add({"Value+", thermometre, 24}, 10*60, "Fermeture des volets, température #value#", {{"Close",volet1},{"Close",volet2}}) GEA comme délesteur, est-ce possible?Oui, il est possible d'éteindre quelques modules selon la consommation électrique. local consommation, vmc = 9, 24 GEA.add({"Sensor+", consommation, 600}, 1*60, "Consommation #value# supérieur à 600W depuis 1 minute", {{"turnOff",vmc}}) Est-ce possible de recevoir comme notification le contenu d'une variable globale ?Oui, c'est possible, quand une condition est correcte, GEA stock sa valeur dans une variable que vous pouvez utiliser pour les notifications. Si la variable global "Message" n'est pas vide (Inverse) alors on envoi une notification contenant la valeur de la variable globale. GEA.add({"Global", "Message", ""}, 1, "#value#", {{"Inverse"}}) * En cours de réalisation * 1 8
Diuck Posté(e) le 24 mai 2014 Signaler Posté(e) le 24 mai 2014 Tu arrêtes quand ? tu te repose de temps en temps Steven ? Mais alors là le support GEA génial c'est une excellente idée
lolomail Posté(e) le 24 mai 2014 Signaler Posté(e) le 24 mai 2014 Super ce post cela sera nickel!!! Tu pourras rajouter nos demandes tordues dans ton deuxième post au fur et àmesure
Steven Posté(e) le 24 mai 2014 Auteur Signaler Posté(e) le 24 mai 2014 C'est le but @lolomail @Diuck l'idée de ce topic n'est pas de moi http://www.domotique-fibaro.fr/index.php?/topic/1206-Organisation-Forum#entry14770 1
Did Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Bonsoir à tous... ou bonne nuit Des nouvelles des volets, je n'étais pas chez moi ce soir mais ils étaient bien fermés en rentrant (j'avais laissé l'Id112 fermé comme hier). -- Vérifie que tout les volets soit ouvert de plus de 5% --- marge d'erreur de calibrage local pas_ferme = {"If", {{"Value+", 112, 5}, {"Value+", 113, 5}, {"Value+", 114, 5}, {"Value+", 115, 5}}} GEA.add({"Global", "", ""}, 15*60, "", {{"Value", 112, 0},{"Value", 113, 0},{"Value", 114, 0},{"Value", 115, 0},{"Time", "Sunset", "Sunrise"}}) -- Fermer Volets étage au coucher + 15min Dois-je en conclure que je n'ai plus besoin de la ligne avec la variable locale: pas_ferme?
Steven Posté(e) le 25 mai 2014 Auteur Signaler Posté(e) le 25 mai 2014 J'approuve ta conclusion. Vu que de toute façon on veux les fermer, cela ne sert à rien de vérifier quoi que ce soit. De plus, cela alourdi le code pour rien, Bonne nuit
Domodial Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Bonne initiative que ce topic, avec bonne explications sur les fonctions ! Par exemple je me demandais comment fonctionnait les groupes Merci
Diuck Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Salut à tous Steven Bonjour Ces lignes me pose problème !! J'explique Normalement j'ai créer ce code pour être informé de l'ouverture et de la fermeture de la porte de garage jusque la pas de de souci, mais aussitôt que la capteur ZG8101 "ID21" change de position il m'avertis par notification Push mais arrête la porte en cour d'ouverture c'est la à peu prés la même chose que ce post http://www.domotique-fibaro.fr/index.php/topic/899-capteur-de-position-zg8101-et-module-fgs-221/ que l'on avait vu ensemble il y a quelque temps mais la je plante complètement comme la dernière fois d’ailleurs . ce que j'ai fait pour détecter la cause c'est simplement désactivé les lignes 13 et 14 et là c'est OK mais plus de notification Push alors si tu as une idée je suis preneur. D'avance merci Steven -- GESTION FERMETURE PORTE DE GARAGE -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GEA.add(21, 15*60, "La porte du garage est ouverte depuis plus de 15 minutes donc je la ferme #time#", {{"Time", "22:00", "06:00"} , {"Repeat"} ,{"Scenario", 39}}) -- Si le capteur de position 21 "ZG8101" est activé pendant 30 secondes entre 21:00 et 21:02 alors on ferme le garage ID 10 FGS 221 heure d'été. GEA.add(21, 30, "Fermeture automatique nuit porte de garage #time#", {{"Time","21:00", "21:02"},{"turnOn", 10}, {"Repeat"},{"DST"}}) -- Si le capteur de position 21 "ZG8101" est activé pendant 30 secondes entre 20:00 et 20:02 alors on ferme le garage ID 10 FGS 221 heure d'hiver. GEA.add(21, 30, "Fermeture automatique nuit porte de garage #time#", {{"Time","20:00", "20:02"},{"turnOn", 10}, {"Repeat"},{"NOTDST"}}) -- Notification Push Ouverture / fermeture porte de Garage GEA.add(21, -1 , "Ouverture porte de garage #time#",{{"Time","06:00","00:00"},{"turnOn",10}}) -- Option temps {{"Time","06:00","00:00"} -- GEA.add(21, -1 , "Fermeture porte de garage #time#",{{"Time","06:00","00:00"},{"Inverse"},{"turnOff",10}}) -- Option temps {{"Time","06:00","00:00"} -- -----------------------------------------------------------------------------------------------------------------------------------------------------------
Diuck Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 C'est le but @lolomail @Diuck l'idée de ce topic n'est pas de moi http://www.domotique-fibaro.fr/index.php?/topic/1206-Organisation-Forum#entry14770 Tu ne peux pas penser à tous
Shyrka973 Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Bonjour Steven, Je te soumets un problème. Voici deux actions très simples que j'utilise: - quand la porte d'entrée s'ouvre, j'allume le couloir. - quand la lampe du couloir est allumée depuis 3mn, je l'éteins. Cette lampe est commandée par un FGD que l'on peut paramétrer pour savoir si l’on a allumé la lampe directement avec l'interrupteur (au lieu de la box). Le retour de l'info se fait "par sceneActivation": --[[ %% properties 48 sceneActivation --]] Mon but est de transformer les 3mn et 10mn: si on allume cette lampe depuis l'interrupteur se trouvant dans le couloir, on peut présumer que l'on veut rester dans ce couloir plus longtemps pour accéder aux placards par exemple. Cette lampe devrait s'éteindre automatique dans 10mn par exemple au lieu des 3mn. Peut-être qu'il faut mettre la tâche "3mn" en pause, le temps que la nouvelle tâche immédiate "10mn" se termine. Ou bien une fonction "GEA.delete" pour que la tâche immédiate "10mn" supprime la tâche "3mn" et la recrée quand elle se terminera. Comprends-tu mes explications ? Ma demande a-t-elle du sens pour toi et aussi pour les autres membres ? Merci.
Diuck Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Salut à tous Steven Bonjour Ces lignes me pose problème !! J'explique Normalement j'ai créer ce code pour être informé de l'ouverture et de la fermeture de la porte de garage jusque la pas de de souci, mais aussitôt que la capteur ZG8101 "ID21" change de position il m'avertis par notification Push mais arrête la porte en cour d'ouverture c'est la à peu prés la même chose que ce post http://www.domotique-fibaro.fr/index.php/topic/899-capteur-de-position-zg8101-et-module-fgs-221/ que l'on avait vu ensemble il y a quelque temps mais la je plante complètement comme la dernière fois d’ailleurs . ce que j'ai fait pour détecter la cause c'est simplement désactivé les lignes 13 et 14 et là c'est OK mais plus de notification Push alors si tu as une idée je suis preneur. D'avance merci Steven -- GESTION FERMETURE PORTE DE GARAGE -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GEA.add(21, 15*60, "La porte du garage est ouverte depuis plus de 15 minutes donc je la ferme #time#", {{"Time", "22:00", "06:00"} , {"Repeat"} ,{"Scenario", 39}}) -- Si le capteur de position 21 "ZG8101" est activé pendant 30 secondes entre 21:00 et 21:02 alors on ferme le garage ID 10 FGS 221 heure d'été. GEA.add(21, 30, "Fermeture automatique nuit porte de garage #time#", {{"Time","21:00", "21:02"},{"turnOn", 10}, {"Repeat"},{"DST"}}) -- Si le capteur de position 21 "ZG8101" est activé pendant 30 secondes entre 20:00 et 20:02 alors on ferme le garage ID 10 FGS 221 heure d'hiver. GEA.add(21, 30, "Fermeture automatique nuit porte de garage #time#", {{"Time","20:00", "20:02"},{"turnOn", 10}, {"Repeat"},{"NOTDST"}}) -- Notification Push Ouverture / fermeture porte de Garage GEA.add(21, -1 , "Ouverture porte de garage #time#",{{"Time","06:00","00:00"},{"turnOn",10}}) -- Option temps {{"Time","06:00","00:00"} -- GEA.add(21, -1 , "Fermeture porte de garage #time#",{{"Time","06:00","00:00"},{"Inverse"},{"turnOff",10}}) -- Option temps {{"Time","06:00","00:00"} -- ----------------------------------------------------------------------------------------------------------------------------------------------------------- C'est bon Steven ne te casse pas la tête j'ai créer une Variable "ouverture" "fermeture" et maintenant c'est ok je reçois bien mes notifications Push comme je voulais
Steven Posté(e) le 25 mai 2014 Auteur Signaler Posté(e) le 25 mai 2014 @Diuck -- Notification Push Ouverture / fermeture porte de Garage GEA.add(21, -1 , "Ouverture porte de garage #time#",{{"Time","06:00","00:00"}}) -- Option temps {{"Time","06:00","00:00"} -- GEA.add(21, -1 , "Fermeture porte de garage #time#",{{"Time","06:00","00:00"},{"Inverse"}}) -- Option temps {{"Time","06:00","00:00"} -- OK, tant mieux ... sinon, il fallait juste enlever les "turnOn" et "turnOff" car cela indique à GEA d'envoyer un on ou off au module ... donc de stopper ta porte. @Shyrka973 J'ai un peu la même problématique que toi que j'ai réglé par l'usage d'une variable globale "SourceLumiere". Je la met à "1" si l'allumage est provoqué par l'ouverture de la porte ou "2" si on active pas l'interrupteur -- 48 id interrupteur, 6 id porte, 15 id lumière GEA.add(6, -1, "", {{"Global", "SourceLumiere", "1"}, {"turnOn",15}} GEA.add(48, -1, "", {{"Global", "SourceLumiere", "2"}, {"turnOn",15}} GEA.add(15, 3*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "1"}}}}} GEA.add(15, 10*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "2"}}}}} 1
HANSOLO Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Pour gérer la lumière d'un placard, j'ai deux capteurs d'ouverture de porte ID 19 et 20. Avec le GEA pour allumer immédiatement la lumière ID 18 si au moins une porte est ouverte: GEA.add(19, -1, "" ,{{"turnOn", 18}}) GEA.add(20, -1, "" ,{{"turnOn", 18}}) Mais comment pourrais-je faire pour éteindre immédiatement la lumière si les deux portes sont fermées? J'ai tenté avec un groupe GEA.add(19, -1, "", {{Inverse},{"Group", 1}}) GEA.add(20, -1, "", {{Inverse},{"Group", 1}}) GEA.add({"Group", 1}, 30, "", {{"turnOff", 18}}) Mais bien entendu l'extinction n'est pas immédiate et toute les 30 s un turnOff est envoyé à 18, pas optimal...
Shyrka973 Posté(e) le 25 mai 2014 Signaler Posté(e) le 25 mai 2014 Merci Steven. C'est plus simple que je le pensais. Mais l'id lumière et l'id interrupteur se sont les mêmes, car c'est le même FGD. Il faudrait pouvoir mettre ceci au début du script: --[[ %% autostart %% properties 48 value 48 sceneActivation %% globals --]] Comment faire pour séparer les deux évènements: value et sceneActivation ?
Steven Posté(e) le 26 mai 2014 Auteur Signaler Posté(e) le 26 mai 2014 @Shyrka973 A l'heure actuel, GEA n'est pas capable de faire la distinction entre 48 sceneActivation et 48 value. Par contre, en regardant l'exemple que tu m'as soumis, tu n'as pas besoin du "48 value". --[[ %% autostart %% properties 6 value 48 sceneActivation %% globals --]] ... GEA.add(6, -1, "", {{"Global", "SourceLumiere", "1"}, {"turnOn",48}} GEA.add(48, -1, "", {{"Global", "SourceLumiere", "2"}, {"turnOn",48}} GEA.add(48, 3*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "1"}}}}} GEA.add(48, 10*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "2"}}}}}
Steven Posté(e) le 26 mai 2014 Auteur Signaler Posté(e) le 26 mai 2014 @Hansolo Voici, voilà Si l'id 19 a déclenché la scène et qu'il est éteint on vérifie que 20 est aussi éteint (<1) et on éteint la lumière, idem pour le 20 GEA.add(19, -1, "", {{"Inverse"}, {"If",{{"Value-",20,1}}}, {"turnOff",18}} GEA.add(20, -1, "", {{"Inverse"}, {"If",{{"Value-",19,1}}}, {"turnOff",18}}Comme ceci, tu restes en immédiat. 1
Steven Posté(e) le 26 mai 2014 Auteur Signaler Posté(e) le 26 mai 2014 @Shyrka973 Si tu as le courage, pourrais-tu tester ce code ... avec la version du GEA ci-joint ? --[[ %% autostart %% properties 6 value 48 sceneActivation %% globals --]] ... local id_de_ta_scene = 16 GEA.add(6, -1, "", {{"Global", "SourceLumiere", "1"}, {"turnOn",48}} GEA.add({"SceneActivation",48, id_de_ta_scene}, -1, "", {{"Global", "SourceLumiere", "2"}, {"turnOn",48}} GEA.add(48, 3*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "1"}}}}} GEA.add(48, 10*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "2"}}}}}Dans tout les cas, merci d'avance.GEA.lua
Shyrka973 Posté(e) le 26 mai 2014 Signaler Posté(e) le 26 mai 2014 @Steven Un grand merci. Etant au boulot en ce moment, je ne peux pas tester mais je mets en place à distance une nouvelle scène "GEA Test" avec ce nouveau script. Ma scène "GEA" sera désactivée. J'utilise ceci actuellement: --[[ %% autostart %% properties 29 value 44 value %% globals --]] --8<-- local KarotzID = 38 local iPhoneID = 4 local iPad = 5 GEA.checkEvery = 30 GEA.portables = {iPhoneID} -- Si un choc (44) sur la porte de la cuisine, on allume la lampe du couloir (48) GEA.add(44, -1, "Choc sur la porte de la cuisine à #time#.", {{"Value", 48, 50}}) -- Porte de la cuisine (29) ouverte GEA.add(29, -1, "La porte de la cuisine ouverte à #time#.") -- Porte de la cuisine (29) fermée GEA.add(29, -1, "La porte de la cuisine fermée à #time#.", {{"Inverse"}}) -- Lorsque la porte de la cuisine (29) est ouverte, allumer la lampe du couloir (48) à 50% si la luminosité du salon (15) est à 100 GEA.add(29, -1, "", {{"Value", 48, 50}, {"If", {{"Value-", 15, 100}}} }) -- Bienvenu à Adréinna entre 15h15 et 15h45 et entre 16h15 et 16h45 GEA.add(29, -1, "", {{"Global", "karotz", "Bienvenu Adréinna !!!"}, {"VirtualDevice", KarotzID, 4}, {"Time", "15:15", "15:45"}, {"Time", "16:15", "16:45"}}) -- Eteindre la lampe du couloir (48) après 3mn GEA.add(48, 3*60, "", {{"turnOff",48}}) Je transforme avec tes paramètres pour tester ce midi.
Shyrka973 Posté(e) le 26 mai 2014 Signaler Posté(e) le 26 mai 2014 @Steven La scène "GEA Test" contient ceci maintenant: --[[ %% autostart %% properties 29 value 44 value 48 sceneActivation %% globals --]] --8<-- local KarotzID = 38 local iPhoneID = 4 local iPad = 5 local sceneID = 17 GEA.checkEvery = 30 GEA.portables = {iPhoneID} -- Si un choc (44) sur la porte de la cuisine, on allume la lampe du couloir (48) GEA.add(44, -1, "Choc sur la porte de la cuisine à #time#.", {{"Global", "SourceLumiere", "3"}, {"Value", 48, 50}}) -- Porte de la cuisine (29) ouverte GEA.add(29, -1, "La porte de la cuisine ouverte à #time#.") -- Porte de la cuisine (29) fermée GEA.add(29, -1, "La porte de la cuisine fermée à #time#.", {{"Inverse"}}) -- Lorsque la porte de la cuisine (29) est ouverte, allumer la lampe du couloir (48) à 50% si la luminosité du salon (15) est à 100 GEA.add(29, -1, "", {{"Global", "SourceLumiere", "1"}, {"Value", 48, 50}, {"If", {{"Value-", 15, 100}}} }) -- Bienvenu à Adréinna entre 15h15 et 15h45 et entre 16h15 et 16h45 GEA.add(29, -1, "", {{"Global", "karotz", "Bienvenu Adréinna !!!"}, {"VirtualDevice", KarotzID, 4}, {"Time", "15:15", "15:45"}, {"Time", "16:15", "16:45"}}) -- Eteindre la lampe du couloir (48) après 3mn si allumer par ouverture de la porte de la cuisine (29) GEA.add(48, 3*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "1"}}}}}) -- Eteindre la lampe du couloir (48) après 10mn si allumer par interrupteur (48) GEA.add(48, 10*60, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "2"}}}}}) -- Eteindre la lampe du couloir (48) après 30s si allumer par détection de choc (44) GEA.add(48, 30, "", {{"turnOff"}, {{"If",{{"Global", "SourceLumiere", "3"}}}}}) Qu'en penses-tu ?
Shyrka973 Posté(e) le 26 mai 2014 Signaler Posté(e) le 26 mai 2014 @Steven J'ai cette erreur à l'activation de la scène dans la fonction "GEA.log": [ERROR] 09:48:09: line 787: attempt to concatenate field '?' (a table value) Cette ligne correspond à ceci pour moi: msg = msg .. entry[GEA.keys["PARAMS"]][i][j] .. "," 2
Steven Posté(e) le 26 mai 2014 Auteur Signaler Posté(e) le 26 mai 2014 Parfait hormis les ligne 39, 42 et 45 ou là tu as mis beaucoup, beaucoup de {} Il n'y a rien qui mette la "SourceLumiere" à 2 et j'espère que tu n'as pas été aussi bête que moi et que tu as bien créer la variable dans le panneau . Voici la correction des {} qui plantait l’exécution. GEA.add(44, -1, "Choc sur la porte de la cuisine à #time#.", {{"Global", "SourceLumiere", "3"}, {"Value", 48, 50}}) -- Porte de la cuisine (29) ouverte GEA.add(29, -1, "La porte de la cuisine ouverte à #time#.") -- Porte de la cuisine (29) fermée GEA.add(29, -1, "La porte de la cuisine fermée à #time#.", {{"Inverse"}}) -- Lorsque la porte de la cuisine (29) est ouverte, allumer la lampe du couloir (48) à 50% si la luminosité du salon (15) est à 100 GEA.add(29, -1, "", {{"Global", "SourceLumiere", "1"}, {"Value", 48, 50}, {"If", {{"Value-", 15, 100}}} }) -- Bienvenu à Adréinna entre 15h15 et 15h45 et entre 16h15 et 16h45 GEA.add(29, -1, "", {{"Global", "karotz", "Bienvenu Adréinna !!!"}, {"VirtualDevice", KarotzID, 4}, {"Time", "15:15", "15:45"}, {"Time", "16:15", "16:45"}}) -- Eteindre la lampe du couloir (48) après 3mn si allumer par ouverture de la porte de la cuisine (29) ou détection de choc (44) GEA.add(48, 3*60, "", {{"turnOff"}, {"If",{{"Global", "SourceLumiere", "1"}}}}) -- Eteindre la lampe du couloir (48) après 10mn si allumer par interrupteur (48) GEA.add(48, 10*60, "", {{"turnOff"}, {"If",{{"Global", "SourceLumiere", "2"}}}}) -- Eteindre la lampe du couloir (48) après 30s si allumer par détection de choc (44) GEA.add(48, 30, "", {{"turnOff"}, {"If",{{"Global", "SourceLumiere", "3"}}}})
Shyrka973 Posté(e) le 26 mai 2014 Signaler Posté(e) le 26 mai 2014 @Steven Il avait une accolade en trop devant les "If". La scène devient ceci: --[[ %% autostart %% properties 29 value 44 value 48 sceneActivation %% globals --]] --8<-- local KarotzID = 38 local iPhoneID = 4 local iPad = 5 local sceneID = 17 GEA.checkEvery = 30 GEA.portables = {iPhoneID} -- Si un choc (44) sur la porte de la cuisine, on allume la lampe du couloir (48) GEA.add(44, -1, "Choc sur la porte de la cuisine à #time#.", {{"Global", "SourceLumiere", "3"}, {"Value", 48, 50}}) -- Porte de la cuisine (29) ouverte GEA.add(29, -1, "La porte de la cuisine ouverte à #time#.") -- Porte de la cuisine (29) fermée GEA.add(29, -1, "La porte de la cuisine fermée à #time#.", {{"Inverse"}}) -- Lorsque la porte de la cuisine (29) est ouverte, allumer la lampe du couloir (48) à 50% si la luminosité du salon (15) est à 100 GEA.add(29, -1, "", {{"Global", "SourceLumiere", "1"}, {"Value", 48, 50}, {"If", {{"Value-", 15, 100}}} }) -- Bienvenu à Adréinna entre 15h15 et 15h45 et entre 16h15 et 16h45 GEA.add(29, -1, "", {{"Global", "karotz", "Bienvenu Adréinna !!!"}, {"VirtualDevice", KarotzID, 4}, {"Time", "15:15", "15:45"}, {"Time", "16:15", "16:45"}}) -- Eteindre la lampe du couloir (48) après 3mn si allumer par ouverture de la porte de la cuisine (29) GEA.add(48, 3*60, "", {{"turnOff"}, {"If",{{"Global", "SourceLumiere", "1"}}}}) -- Eteindre la lampe du couloir (48) après 10mn si allumer par interrupteur (48) GEA.add(48, 10*60, "", {{"turnOff"}, {"If",{{"Global", "SourceLumiere", "2"}}}}) -- Eteindre la lampe du couloir (48) après 30s si allumer par détection de choc (44) GEA.add(48, 30, "", {{"turnOff"}, {"If",{{"Global", "SourceLumiere", "3"}}}}) Et elle se lance: [DEBUG] 10:11:12: [ 48 | Lampe ] Add Autostart : ajout de la tache pour 180 secondes [turnOff] [if..][DEBUG] 10:11:12: [ 48 | Lampe ] Add Autostart : ajout de la tache pour 600 secondes [turnOff] [if..][DEBUG] 10:11:12: [ 48 | Lampe ] Add Autostart : ajout de la tache pour 30 secondes [turnOff] [if..][DEBUG] 10:11:12: GEA Version 3.3 : running... Le numero de version du script est à changer: 3.3 -> 3.4. Ce midi, je teste la scène.
Shyrka973 Posté(e) le 26 mai 2014 Signaler Posté(e) le 26 mai 2014 @Steven Nos posts se sont croisés J'ai bien créé la variable globale. Je suis très impatient de tester ceci à midi. Ma fille rentre une heure avant moi aujourd'hui. Elle feras les premiers tests pour moi Tu auras les premiers retours d'ici une heure. Merci encore pour tout ce travaille accompli. 1
Shyrka973 Posté(e) le 26 mai 2014 Signaler Posté(e) le 26 mai 2014 @Steven J'ai oublié d'ajouter ceci: -- On allume la lampe du couloir si on appuie sur l'interrupteur GEA.add({"SceneActivation",48, sceneID}, -1, "", {{"Global", "SourceLumiere", "2"}}) J'ai enlevé le "turnOn" dans la ligne car l'interrupteur le fait par défaut dans mon cas.
Messages recommandés