Fredric Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 (modifié) @Steven, GEA c'est sait lancer une action à une heure donnée (avec la latence de 30 seconde, bien sà»r) , 7 fois de , avec une demi-heure d'intervalle entre chaques action, ou entre 22h30 et 02h00, toutes les demi-heure? effectivement, pressé j'étais, n'importe quoi tapé j'ai , mais corrigé Modifié le 19 mars 2015 par Fredric
pepite Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 @attalla : a ta place je ne modifierais pas le code de base de steven aide par shykra et autres experts.. pour les nouvelles versions, ca va etre un enfer pour toi ;-) de mettre à jour. utilise plutot ce qui existe : sensor+... ;-) Ce qui serait bien c'est que tu as l'air d'etre capable d'aide les experts ;-) avec GEA qui ne fait que grossir et comme dit Steven : c'est une usine et plus on est de fous, enfin plus vous etes car je ne suis pas capable moins y a de boulot pour les eventuelles idées ;-) @steven : je suis pas developpeur, mais je trouve ton idée plus simple qu'actuellement et plus sympa ;-) @shykra : je comprends pas bien l'interet d'activer ou de desactiver une scene ? enfin je comprends ce que cela signifie mais n'arrive pas a la mettre en oeuvre dns ma petite tete. en tout cas messieurs : merci beaucoup de ce que vous faites !!
pepite Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 @frederic : en te lisant j'avais l'impression d'avoir du rhum dans le sang ;-) je dirais avec des Repeat ;-) 2
Steven Posté(e) le 19 mars 2015 Auteur Signaler Posté(e) le 19 mars 2015 @Steven, GEA c'est lancer une action a une heure donnée (avec la latence de 30 seconde) , 7 fois de avec une demi-heure d'intervalle, ou entre 22h30 et 02h00, toutes les demi-heure? Je comprends pas bien la question mais GEA.add(true, 30*60, "", {{"Time", 22:30", "02:00"},.......}) Réponds à la question que j'ai compris @shykra : je comprends pas bien l'interet d'activer ou de desactiver une scene ? enfin je comprends ce que cela signifie mais n'arrive pas a la mettre en oeuvre dns ma petite tete. en tout cas messieurs : merci beaucoup de ce que vous faites !! La demande a été effectuée quelques posts plus tôt, j'avais donné une réponse avec le "function" et Shyrka l'a intelligemment intégré dans GEA. 1
Shyrka973 Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 @Steven Je suis sur le c... Chapeau bas ! Je suis prêt à tester avec mes 200 règles
Shyrka973 Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 Avant de te répondre, je n'avais pas lu ton commentaire mais juste le code de ton message et compris ce que je veux faire. Je pense que l'idée est excellente ... comme d'habitude d’ailleurs
Steven Posté(e) le 19 mars 2015 Auteur Signaler Posté(e) le 19 mars 2015 Heuuuuu ... ca va me prendre du temps l'ami
Shyrka973 Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 @pepite Salut, @Fredric a demandé comment activer ou désactiver une scène et @Steven lui a donné la solution en passant par la fonction Function: {"Function", function() fibaro:setSceneEnabled(<IDSCENE>, true) end} @Steven précise qu'une mauvaise utilisation de Function peut planter GEA. J'avais besoin de stopper une scène par GEA. Cette fonction n'existait pas. J'avais donc deux solutions: utiliser Function ou ajouter la fonction au code GEA. J'ai préféré la deuxième solution. J'en ai profité pour ajouter la fonction "setSceneEnabled" demandée par @Frederic. Avec ce que @Steven prépare, cela deviendra plus simple de faire évoluer GEA en ajoutant de nouvelles fonctions. 1
pepite Posté(e) le 19 mars 2015 Signaler Posté(e) le 19 mars 2015 @steven, ah oui avec le function, oui oui je comprends, je n'avais pas fait le lien du tout. Desole et désolé shykra, j'espere ne pas avoir fait de boulettes Je veux bien tester aussi, mais je pense que ma config est trop,petite @shykra, @steven et @sebcbien : peut-on faire la modif GEA.match et string.match inc%+ ?
atalata Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Merci bcp pour vos infos. Je découvre toutes les possibilités et effectivement mon besoin était déjà couvert sans modification du moteur Je pourrais imaginer des cas d'utilisation qui, s'ils se declenchent, déclencherait d'autres evenements. Je n'ai pas vu la possibilté d'ajouter un GEA.add de manière dynamique dans le moteur, est ce que ca existe ou y a t'il d'autres manières de procéder ?
pepite Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Salut atalata, Ca existe deja avec GEA : declenchement instantané ;-) --si halogene allumee allumage lampe TV par exemple GEA.add( id["WP_HALOGENE"], -1, "", {{"turnOn", id["LAMPE_TV"]}})
Sebbrunie1 Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Bonjour, est ce que je peux faire cela? local userLocation = {"Function", function() return fibaro:getValue(238, 'Location') end} GEA.add(true, 30, "", {{"Global", "EmplacementSeb", userLocation}}) merci
pepite Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Steven met en garde avec l'utilisation de function avec GEA alors peut-etre en pasant par une variable : --> scene --> json-->renseigne variable globale --> GEA
Steven Posté(e) le 20 mars 2015 Auteur Signaler Posté(e) le 20 mars 2015 GEA.add({"Property", 238, "Location"}, 30, "", {{"Global", "EmplacementSeb", #value#}})
Sebbrunie1 Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 @Steven, en debug j'ai [ERROR] 14:55:20: line 477: '}' expected near '#'
Steven Posté(e) le 20 mars 2015 Auteur Signaler Posté(e) le 20 mars 2015 GEA.add({"Property", 238, "Location"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}}) J'avais oublié les guillemets. J'espère que cela va fonctionner.
Sebbrunie1 Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Malheureusement j'ai line 843: attempt to concatenante field '?' (a nil value) Ce sont les coordonnées GPS que j'essaye de récupérer.....
Steven Posté(e) le 20 mars 2015 Auteur Signaler Posté(e) le 20 mars 2015 GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}}) Alors ainsi
Sebbrunie1 Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Super, ca marche...... Merci beaucoup
971jmd Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Bonjours a tous Quel est la fonction de Property ? Envoyé de mon iPhone en utilisant Tapatalk
Steven Posté(e) le 20 mars 2015 Auteur Signaler Posté(e) le 20 mars 2015 Chaque module a des propriétés autre que "Value" Exemple : properties":{ "parameters":[], "associationSet":[], "associationView":[], "zwaveCompany":"Fibargroup", "zwaveInfo":"3,3,42", "zwaveVersion":"2.1", "pollingTimeSec":0, "configured":"true", "dead":"false", "deviceControlType":"20", "deviceIcon":"2", "emailNotificationID":"0", "emailNotificationType":"0", "endPointId":"0", "isLight":"false", "liliOffCommand":"", "liliOnCommand":"", "log":"", "logTemp":"", "manufacturer":"", "markAsDead":"true", "model":"", "nodeId":"21", "parametersTemplate":"221", "productInfo":"1,15,4,0,16,10,2,1", "pushNotificationID":"0", "pushNotificationType":"0", "remoteGatewayId":"0", "saveLogs":"true", "smsNotificationID":"0", "smsNotificationType":"0", "useTemplate":"true", "userDescription":"", "value":"false" Cela permet donc de vérifier directement une ce des propriété. 1
Sebbrunie1 Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 Pour rigoler, après je fait cela... Il y a peut être plus simple local DistanceMaison1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end}}) local DistanceBureau1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementBureau1)*100)/100 end}}) local DistanceCarantec1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementCarantec1)*100)/100 end}}) local DistanceEternoz1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}}) GEA.add(true, 30, "", {{"Global", "DistanceBureau", DistanceBureau1}, {"Label", id["DISTANCE"], "Label2", DistanceBureau1..' m'}}) GEA.add(true, 30, "", {{"Global", "DistanceMaison", DistanceMaison1}, {"Label", id["DISTANCE"], "Label1", DistanceMaison1..' m'}}) GEA.add(true, 30, "", {{"Global", "DistanceCarantec", DistanceCarantec1}, {"Label", id["DISTANCE"], "Label3", DistanceCarantec1..' m'}}) GEA.add(true, 30, "", {{"Global", "DistanceEternoz", DistanceEternoz1}, {"Label", id["DISTANCE"], "Label4", DistanceEternoz1..' m'}}) -- message maison GEA.add({"Global-", "DistanceMaison", "100"}, 30, "Je suis àmoins de #value# m à#time# de la maison", {{"MaxTime", "1"}}) 1
Steven Posté(e) le 20 mars 2015 Auteur Signaler Posté(e) le 20 mars 2015 Alors c'est uniquement pour rigoler car cela ne va pas du tout fonctionner Voici le même code mais qui "devrait" fonctionner local DistanceMaison1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end} local DistanceBureau1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementBureau1)*100)/100 end} local DistanceCarantec1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementCarantec1)*100)/100 end} local DistanceEternoz1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end} GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# m"}}) GEA.add(DistanceMaison1, 30, "", {{"Global", "DistanceMaison", "#value#"}, {"Label", id["DISTANCE"], "Label1", "#value# m"}}) GEA.add(DistanceCarantec1, 30, "", {{"Global", "DistanceCarantec", "#value#"}, {"Label", id["DISTANCE"], "Label3", "#value# m"}}) GEA.add(DistanceEternoz1, 30, "", {{"Global", "DistanceEternoz", "#value#"}, {"Label", id["DISTANCE"], "Label4", "#value# m"}}) -- message maison GEA.add({"Global-", "DistanceMaison", "100"}, 30, "Je suis à moins de #value# m à #time# de la maison", {{"MaxTime", "1"}}) GEA.add ( CONDITION, durée, message, ACTIONS ) Lors que GEA vérifie les CONDITIONs, il stock le résultat de la condition dans une variable #value# qu'on peut repassée dans les labels et globals des ACTIONS. 1
Sebbrunie1 Posté(e) le 20 mars 2015 Signaler Posté(e) le 20 mars 2015 qu'est ce qu'on se marre... Merci encore... heureusement qu'il y a des bon pour nous rendre la vie plus belle !!!!
Messages recommandés