Aller au contenu

Recommended Posts

@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  :P , mais corrigé  :)

Modifié par Fredric

Partager ce message


Lien à poster
Partager sur d’autres sites

@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 !!

Partager ce message


Lien à poster
Partager sur d’autres sites

@frederic : en te lisant j'avais l'impression d'avoir du rhum dans le sang  ;-)

 

je dirais avec des Repeat ;-)

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

@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.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

 

Je suis sur le c... :13:

Chapeau bas !

 

Je suis prêt à  tester avec mes 200 règles :60:

Partager ce message


Lien à poster
Partager sur d’autres sites

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  :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Heuuuuu ... ca va me prendre du temps l'ami :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@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.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@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%+ ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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"]}})

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites


GEA.add({"Property", 238, "Location"}, 30, "", {{"Global", "EmplacementSeb", #value#}})

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven,

 

en debug j'ai

[ERROR] 14:55:20: line 477: '}' expected near '#'

Partager ce message


Lien à poster
Partager sur d’autres sites
GEA.add({"Property", 238, "Location"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}})

J'avais oublié les guillemets.

 

J'espère que cela va fonctionner.

Partager ce message


Lien à poster
Partager sur d’autres sites

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.....

Partager ce message


Lien à poster
Partager sur d’autres sites
GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}})

Alors ainsi :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjours a tous

Quel est la fonction de Property ?

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

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é.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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"}})
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

qu'est ce qu'on se marre...

 

Merci encore... heureusement qu'il y a des bon pour nous rendre la vie plus belle !!!!

Partager ce message


Lien à poster
Partager sur d’autres sites

×