Invité chris6783 Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Steven a suggéré un peu plus haut d'envoyer une capture de camera via GEA. Je faisais cela depuis GEA via un VD mais se serait bien plus simple si.... Voici donc une proposition de GEA 5.20 une Nouvelle action est dispo -- {"picture", <id_camera>, <id_user>,} -- {"picture", 2, 3} -- Envoi une capture de la caméra 2 à l'utilisateur 3 // Send a capture of camera 2 to user 3 Je l'ai testé en 3.591 mais cela devrait marcher en 4.x. je le mettrai dans GIT après votre validation GEA.lua
Lazer Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Au sujet de la caméra, et pour l'ajout de nouvelles fonctionnalités en général à GEA, il me vient une idée. En fait, c'est pas forcément simple de penser à implémenter toutes les actions existantes dans GEA, donc pourquoi ne pas créer une action générique, sur le modèle de : fibaro:call(deviceID, actionName, parameter) Ce qui nous donnerait un truc du style : {"call", <id>, "action", "parameter"} Et GEA se contenterait de passer l'action et les paramètres au module concerné. Les experts en développement, c'est difficile à implémenter ?
Invité chris6783 Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 @lazer, Implémenter ton exemple est simple mais cela soulève pas mal de problèmes. à‡a peut s'appliquer aux commandes les plus familières mais par exemple pour la capture des images GEA va appeler "fibaro:call(camera, "sendPhotoToUser", destinataire)" et donc cela ne correspond pas au schéma habituel (pour peu qu'il existe chez fibaro). EDIT : si, ça correspond au pattern.. vais aller me coucher ! mais ça change pas mon point de vue :-) GEA propose une interface stable et si on laisse passer les commandes de l'utilisateur en direct il ne va plus offrir d'isolation par rapport à l'API fibaro. La migration V3 V4 le montre bien. Une fois GEA adapté tous nos scripts GEA passent. Sans cette isolation et le contrôle qui va avec, ce serait à tous les utilisateur de GEA de faire des adaptations dans leurs scripts. GEA est déjà très complet et le peu qui manque peut être ajouté à la demande et souvent très simplement. Perso, je pense qu'il vaut mieux ne pas introduire cette facilité mais tout ce discute.
HANSOLO Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Voilà la raison de la moindre disponibilité de @Steven: Môssieur a créé sa société et j'imagine qu'il continue officiellement de travailler en Suisse pour faciliter l'évasion fiscale..... Il n'est pas utile de préciser que c'est pure invention... 3
sebcbien Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 GEA.add({"Weather","rain"}, ...) Envoyé de mon portable grâce à mes petits doigts. Trop fort ! 1
sebcbien Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Il n'est pas utile de préciser que c'est pure invention... Comme je le disais ailleurs Mr Hans, nous sommes sur un forum ... d'élites de la fine fleur des cerveaux et génies ... traçant le futur des maisons de demain du quidam moyen. Probablement Inutile effectivement Quoique... j'ai parfois un doute
Arbu-jl Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Bonjour, Tout d'abord, je suis impressionné par ce "GEA", c'est le top, réduction de plus de 50% de mes scènes.Franchement, félicitations !!! Cela fait maintenant plusieurs jours que je m'amuse avec, pour des scenes simples, je m'en sors pas trop mal, en tout cas cela fonctionne. J'avoue que je n'ai pas lu toutes les 77 pages de ce tread, mais au moins plus de la moitié afin de prendre des exemples, c'est le bon endroit pour s'exercer.Depuis hier matin, je suis sur une scene qui me paraissait simple à faire avec GEA, mais j'avoue qu'après plusieurs heures et même très tard dans la nuit, je n'y comprend plus rien. Cette scene fonctionne, mais j'ai été obligé de mettre plusieurs choses qui ne me paraissent pas catholique. J'ai la forte impression d'avoir complexifié le tout.Pourriez-vous jeter un coup d'oeil et me dire si c'est correct ? quelques explications....J'ai un IPX800 qui gère une lumière dans la cours d'entrée, un capteur de présence sur cet IPX, un sensor FIBARO sur ma porte d'entrée. Le soir après le couché du soleil, si la porte d'entrée est s'ouvre, la lumière de la cours s'allume. l'IPX met à jour la variable Cours sur le HC2 à l'allumage et à l'extinction de la lumière. Variable Cours à 0 ou a 1. L'IPX lumière Cours reste allumée pendant 3 min si pas de passage devant le détecteur, ou si la porte reste fermée. La scene fonctionne, mais cela ne me parait très optimum. Merci pour votre support JL --[[ %% autostart %% properties 179 value 178 value %% globals Alarm_State Cours --]] local id = { SENSOR_ENTPRIN = 178, VD_CAPTEURCOURS = 93, VD_SENSEE = 223, VD_IPX800 = 34, SDBREZ_LUM = 243, SDBREZ_FANV1 = 253, SDBREZ_FANV2 = 254, VD_SIMULATIO = 269, VD_COURS = 39, } -- Si Sunset et ouverture porte ou detection garage alors Lampe allumée, puis extinction après 3 minutes GEA.add(id["SENSOR_ENTPRIN"], -1, "Cours On Sensor", {{"VirtualDevice", id["VD_IPX800"], "1"}, {"If",{{"Global", "JOUR_NUIT", "NUIT"}}}}) GEA.add({"Global", "Cours", "1"}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}, {"If",{{"Global", "JOUR_NUIT", "NUIT"}}}}) local LumCours = GEA.add({"Global", "Cours", "0"}, 1*30, "", {{"VirtualDevice", id["VD_IPX800"], "9"}}) GEA.add({"Global", "Cours", "1"}, -1, "", {{"RestartTask", LumCours}}) GEA.add(id["SENSOR_ENTPRIN"], 1*40, "", {{"VirtualDevice", id["VD_IPX800"], "9"}, {"If",{{"Global", "Cours", "0"}}}, {"Inverse"}}) GEA.add({"Global", "Cours", "0"}, 15*60, "", {{"VirtualDevice", id["VD_IPX800"], "9"}, {"If",{{"Global", "Cours", "0"}}}})
pepite Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 (modifié) Salut, je me lance, Et comme ca, sans les "If" c'est moins lourd à la lecture, à tester par exemple : local nuit = {"Global", "JOUR_NUIT", "NUIT"} local coursOn = {"Global", "Cours", "1"} local coursOff = {"Global", "Cours", "0"} GEA.add ( {id["SENSOR_ENTPRIN"], nuit}, -1, "Cours On Sensor", {{"VirtualDevice", id["VD_IPX800"], "1"}}) GEA.add ( {coursOn, nuit}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}}) GEA.add ( coursOff, 15*60, "", {{"VirtualDevice", id["VD_IPX800"], "9"}}) PS : j'ai oublie les accolades ;-) Modifié le 18 janvier 2015 par pepite
971jmd Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Merci pour votre aide, sa fonction nikel local rgb = 190 --- clear=claire -- cloudy=Nuageux -- rain=Pluie --- snow=Neige --- storm=Tempete -- fog=brouillard GEA.add({"Weather","cloudy"}, 5*60, "", {{"RGB", rgb, 0, 0, 0, 3}}
Arbu-jl Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 @pepite Merci, mais je viens de m'apercevoir que ma scene ne fonctionne pas de toute manière. J'ai retrouvé la lampe de la cours allumée. J'ai l'impression que cela ne fonctionne qu'une fois.. Il faut peut être ajouter un repeat.. je suis un peu perdu. Par rapport au code proposé, si jamais la porte est refermée avant que le détecteur de la Cours ne détecte une personne, la lumière de la Cours s'éteindra ? Il ne faudrait pas ajouter un timer quelque part pour que celui-ci recommence de zéro si une détection arrive, ou si la porte est de nouveau ouverte? local nuit = {"Global", "JOUR_NUIT", "NUIT"} local coursOn = {"Global", "Cours", "1"} local coursOff = {"Global", "Cours", "0"} GEA.add ( {id["SENSOR_ENTPRIN"], nuit}, -1, "Cours On Sensor", {{"VirtualDevice", id["VD_IPX800"], "1"}}) GEA.add ( {coursOn, nuit}, 1*30, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}}) GEA.add ( coursOff, 5*60, "", {{"VirtualDevice", id["VD_IPX800"], "9"}}) ce serait quelque chose comme cela ?
Arbu-jl Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 Je fais n'importe quoi, je corrige avec ce que "pepite" a proposé, je teste et reviens vers vous si besoin. Merci. Sinon, j'ai une autre question... comment puis-je simplifier cela GEA.add(id["CUIS_APPLIQUE"], 5*30, "", {{"Inverse"},{"Time", "Sunset-30", "23:29"}, {"If",{{"Global", "Alarm_State", "Disarmed"}}}, {"turnOn"}}) GEA.add(id["COUL_APPLIQUE"], 5*30, "", {{"Inverse"},{"Time", "Sunset-30", "23:29"}, {"If",{{"Global", "Alarm_State", "Disarmed"}}}, {"turnOn"}}) cela ne fonctionne pas lorsque je fais comme ci-après GEA.add(id["CUIS_APPLIQUE"], id["COUL_APPLIQUE"], 5*30, "", {{"Inverse"},{"Time", "Sunset-30", "23:29"}, {"If",{{"Global", "Alarm_State", "Disarmed"}}}, {"turnOn"}}) il doit y avoir une syntaxe manquante...
sebcbien Posté(e) le 18 janvier 2015 Signaler Posté(e) le 18 janvier 2015 en début de ligne gea, c'est un AND, pas un OR... il faut donc 2 lignes p.s. clicke sur le lien "showroom gea" dans ma signature ;-)
pepite Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 Salut, @Arbu-JL, attention à mes lignes comme tu dis ;-) J'avais pas tout récrit, ce sont des exemples ;-) de la syntaxe si je ne me suis pas trompé ;-) @+
Arbu-jl Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 Hello, @sebcbien - merci j'avais déjà regarder, je vais regarder a nouveau vos exemples. Merci, c'est pas toujours évident... @pepite - oui en effet, je vais revoir cela. de toute manière, je me suis connecté ce soir et la lumière de la cours était allumée. donc je vais retenter avec quelques modifications. Pour ma compréhension, quelle est la différence entre ces deux lignes de code, le résultat sera t-il le même ? local nuit = {"Global", "JOUR_NUIT", "NUIT"} local coursOn = {"Global", "Cours", "1"} GEA.add ( {coursOn, nuit}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}}) ligne que "@petite" a proposée, et celle ci peux importe le résultat derrière, je voudrais juste comprendre à quelle position nous devons mettre les déclaration local nuit et local coursOn. Le If n'est il pas la condition pour que l'action se lance ? local nuit = {"Global", "JOUR_NUIT", "NUIT"} local coursOn = {"If",{{"Global", "Cours", "1"}}} GEA.add({nuit}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}, coursOn})
Arbu-jl Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 Bon je reprends à zero pour ces 2 - 3 scenes, je re-lis attentivement la doc, d'ailleurs super bien faite et posterais mes 4-5 lignes quand cela fonctionnera. On va y aller pas après pas merci a vous deux (pepite et sebcbien) pour votre aide, je suis quand même très impressionné par le travail de Steven
PITP2 Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 @arbu-jl, t'es bien le seul à être impressionné par le travail de Steven et ce n'est pas son chef qui me contredira à développer GEA pendant son travail
Arbu-jl Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 Ben, tant mieux au moins nous en profitons !!!
Ludwig Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 Bonjour à tous et surtout merci Steven pour ton travail car il me rend beaucoup service et me simplifie la vie Mais à ce jour un petit blocage sur la règle ci-dessous qui ne fonctionne pas : -- Si on détecte une présence et luminosité inférieur à 200 alors on allume la lumière GEA.add({id['DETECTEUR_COUR'],{"Sensor-",id['LUMINOSITE_COUR'],200}}, -1, "", {{"turnOn", id["ECLAIRAGE_COUR"]}}) Les modules DETECTEUR COUR et LUMINOSITE COUR sont issues d'un multisensor d'AEON LABS. Merci d'avance pour votre aide.
971jmd Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 @Ludwig j'ai un doute concernant la variable -- Si on détecte une présence et luminosité inférieur à 200 alors on allume la lumière local lumi = GEA.add({"Sensor-",id['LUMINOSITE_COUR'],200} GEA.add( id["DETECTEUR_COUR"], -1}, "", {{"turnOn", id["ECLAIRAGE_COUR"]}, lumi}})
Ludwig Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 @971jmd : Merci je testerai demain car si je me lève du lit pour coder ça risque de chauffer avec madame
971jmd Posté(e) le 19 janvier 2015 Signaler Posté(e) le 19 janvier 2015 Nous avons tous le meme probleme avec nos madames
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 voila j'y suis arrivé mai j'ai été obliger d'utilisé les IF --[[ %% autostart %% properties 211 value %% globals --]] local detecteurcour = 211 local centretable = 40 local deteclumino = 213 local lumi = {"If", {{"Value-", deteclumino, 50}}} GEA.add( detecteurcour, -1, "", {{"turnOn", centretable}, lumi})
sebcbien Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 je ne sais pas si le code d'origine pourrait marcher, mais il y avait un problème de parenthèses... si la logique est bonne ça doit marcher: local lumi = {"Sensor-",id['LUMINOSITE_COUR'],200} GEA.add( id["DETECTEUR_COUR"], -1, "", {{"turnOn", id["ECLAIRAGE_COUR"]}, lumi })
971jmd Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 oui j'ai tester mon code et sa fonctionne
pepite Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 (modifié) Bonjour, @Arbu-jl : A la lecture il est plus simple d'enlever les "if" qui se mettent dans les OPTIONS de GEA , donc à la fin et de les mettre en début de ligne après la déclaration de variables : local courson =... et local nuit =... par exemple. Cela permet de mettre des conditions multiples Je ne suis pas un spécialiste, les "vrais" t'en diront pe plus ;-) En me relisant, c'est un déclenchement instantané que tu souhaites (-1) et il manque le déclencheur dans ma ligne, un détecteur à priori pour toi dans la cours. hihi. Je vais aller relire dans la journée ce que tu souhaites faire dans la cour pour essayer de t'aider mieux que ca ;-) @Ludwig, @971jmd,@sebcbien Et comme cela qu'en pensez-vous, ca ne fonctionnerait pas ? Pour mon apprentissage ;-) local lumi = {"Sensor-",id['LUMINOSITE_COUR'],200} GEA.add({id["DETECTEUR_COUR"],lumi}, -1, "", {{"turnOn", id["ECLAIRAGE_COUR"]}}) Modifié le 20 janvier 2015 par pepite
Messages recommandés