Aller au contenu

Messages recommandés

Posté(e) (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  :P , mais corrigé  :)

Modifié par Fredric
Posté(e)

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

Posté(e)

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

 

je dirais avec des Repeat ;-)

  • Upvote 2
Posté(e)

@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
Posté(e)

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

Posté(e)

@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
Posté(e)

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

Posté(e)

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 ?

Posté(e)

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"]}})
Posté(e)

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

Posté(e)

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

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

J'avais oublié les guillemets.

 

J'espère que cela va fonctionner.

Posté(e)
GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}})

Alors ainsi :)

Posté(e)

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
Posté(e)

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
Posté(e)

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
×
×
  • Créer...