Aller au contenu

Steven

Membres confirmés
  • Compteur de contenus

    4 434
  • Inscription

  • Dernière visite

  • Jours gagnés

    201

Tout ce qui a été posté par Steven

  1. Steven

    Support Gea

    @Shyrka973 Non, tu as raison, mais PITP2 a déjà confirmé tout cela avant ton message. Idem pour Hansolo qui donne une réponse, plus que valable, mais trop tard C'est juste moi qui n'avais pas lu correctement la question et qui donc a donné un réponse à côté de la plaque ... mais je me suis rendu compte trop tard.
  2. Steven

    Support Gea

    Content de voir qu'il n'y a pas que moi qui lit la totalité des posts @PITP2 Essaie cela stp. 1ère ligne ... GEA_Heure passe à 0 1 heure après que GEA_Heure soit passé à 1 et non pas n'importe quand 2ème ligne .. Vade retro les if GEA.add( {"Global", "GEA_heure", "1"}, 60*60, "", {{"Global", "GEA_heure", "0"}}) GEA.add({id["CP_SALON"], {"Global", "GEA_heure", "0"}}, -1 , "", {{"Function", function() TtsTempSalon() end},{"Global", "GEA_heure", "1"}}) Le "Repeat" : Le repeat est utile quand la condition (toujours respectée) ne change pas et qu'on veux quand même recevoir une notification toutes les X secondes. Exemple une porte TOUJOURS ouvertes et on veux recevoir une notification toutes les 10mn. GEA.add(<id_porte>, 10*60, "Merci les courants d'air", {{"Repeat"}}) par contre, il est complètement inutile si la condition change ou est à true ... exemple : GEA.add( {"Global", "GEA_heure", "1"}, 60*60, "", {{"Global", "GEA_heure", "0"}}) ... dans ce cas la condition de départ est changé par l'action donc le repeat est inutile car lors des prochaines 30 secondes GEA va tester la condition ... elle sera fausse .. il va donc redémarrer le compteur. par très clair mais bon, je me comprends moi-même
  3. Steven

    Support Gea

    Ou j'ai pas compris la question ... Le but est d'allumer la lumière lors de l'armement ? Si oui ... prend mon précédent message et LANCE LE à la poubelle .. à côté de mon cerveau.
  4. Steven

    Support Gea

    @Shyrka973 29 armed C'est pas une bonne idée car lors de l'armement / désarmement, le scénario va se lancer .. mais on s'en fiche, c'est quand 29 value change que cela nous intéresse. Dans ce cas, là , GEA va vérifier l'état du détecteur ET s'il est Armed
  5. Steven

    Support Gea

    Ben c'est un peu quand on a rien à dire ... pourquoi le dire. J'ai 3 enfants donc cette règle est pour moi MEGA importante Donc oui, je suis d'accord avec toi, il faut préciser dans la documentation : si pas de message alors pas d'email.
  6. Steven

    Support Gea

    Découpons GEA.add( {"Global+", "T_Salon", 20}, --- OK, si la variable globale T_Salon est supérieure à 20 10*60, --- OK durée indiquée "", --- OK pas de message { --- FAILED Ouvert mais pas fermé {Value, 20}, id["Chauff_SALON"]}, --- FAILED {Value, 20}, id["Chauff_SALON"]} -- * Voir plus bas {"Time","23:00","06:00"} -- OK entre 23.00 et 06.00 ) * devrait être {"Value",id["Chauff_SALON"], 20} -- les mots clés sont entre "" et "Value" reçoit l'ID avant la valeur {"Value", <ID>, <valeur>} donc GEA.add({"Global+", "T_Salon", 20}, 10*60, "", {{"Value", id["Chauff_SALON"], 20}, {"Time","23:00","06:00"}})
  7. Steven

    Support Gea

    Salut atalata, Malheureusement, non, GEA ne prend pas du tout en compte les appels API. Je comprends bien ta demande mais cela deviendrais vite (comme tu le dis) une usine à gaz ... Oups pardon, GEA est déjà une usine à Gaz et Charbon. Par contre, je suis entrain de réecrire la globalité du code de GEA afin d'avoir une plus grande flexibilité pour ajouter/développer ses propres conditions, actions sans avoir a allez chercher dans les +1000 lignes de code. Par contre, cela va me demander encore pas mal de temps, unité qui reste la plus rare chez moi ces prochains jours.
  8. Prends .. aucun soucis .. de plus, c'est pas du code donc je mords pas dans des cas pareil Allez messieurs ... à bientôt.
  9. Perso, j'uilise cela mais ton code doit fonctionner. local nbHeure = 1 local i = 0 while true do if (i >= (nbHeure*2) or i == 0) then i = 0 fibaro:call(fibaro:getSelfId(), "pressButton", "1") end fibaro:sleep(30*60*1000) i = i + 1 end Le main loop plante s'il dort "sleep" plus de 40mn, donc je le relance toutes les 30mn et comme 2x30mn = 1 heure, je le lance que 2 fois. Par contre, contrairement àtoi, je ne choisi par la minute.
  10. Steven

    Support Gea

    100% d'accord avec Hansolo, le OR va provoqué 2 lignes dans GEA car GEA ne gère pas le OR ... voici Par contre, vu que cela ne sert à rien de tester si la lampe est allumée avant de l'allumée .. j'ai comme l'impression que tu souhaite faire cela : Si le module 312 > 0 alors on allume 70 et 118 GEA.add( {"Value+", 312, 0} , 30, "", { {"Time", "Sunset-20", "Sunset-20"}, {"Time", "Sunset+10", "Sunset+10"}, {"TurnOn", 70}, {"TurnOn", 118} })
  11. Non, l'entête n'est pas obligatoire, il l'est uniquement si l'on souhaite utilisé les déclencheurs automatiques tel que %% autostart -- démarrage automatique au redémarrage %% properties -- sur changement d'une propriété d'un module %% globals -- sur changement d'une variable globale Exemple : --[[ %% properties 63 power 37 value --]] Dès que la consommation de mon module ID 63 change OU que la valeur de mon module ID 37 change, la scène sera executée. --[[ %% globals Chauffage --]] Dès que la variable global "Chauffage" changera de valeur (attention, changer sa valeur depuis le panneau des variables ne fonctionne pas) Si plusieurs déclencheurs arrivent en même temps, il y a aura plusieurs scènes lancées en parallèle. Beaucoup de personne n'aime pas cela est commence le code de leur scène par if (fibaro:countScenes() > 1) then fibaro:abort() end Pour s'assurer de n'avoir qu'une instance de scène en même temps. Après, comme tu l'as déjà dis, il est possible de savoir "qui" a déclenché la scène : local trigger = fibaro:getSourceTrigger() if (trigger['type'] == 'property') then -- Déclenché par le changement de valeur d'un module fibaro:debug('Source device = ' .. trigger['deviceID']) elseif (trigger['type'] == 'global') then -- Déclenché par le changement d'une variable globale fibaro:debug('Global variable source = ' .. trigger['name']) elseif (trigger['type'] == 'autostart') then -- Déclencher au démarrage de la box fibaro:debug('Autostart') elseif (trigger['type'] == 'other') then -- Déclencher manuellement ou par une autre scène ou un appel API. fibaro:debug('Other source.') end Voili, voilà .
  12. http://www.fibarouk.co.uk/support/lua/library/
  13. Steven

    Support Gea

    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.
  14. Coup de chance mais je voyais rien d'autre qui pouvait poser le problème.
  15. Steven

    Support Gea

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

    Support Gea

    GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}}) Alors ainsi
  17. Je te propose d'essayer de mettre le sleep en première ligne afin de laisser le temps àla box de tout charger avant d'exécuter ton code.
  18. Steven

    Support Gea

    GEA.add({"Property", 238, "Location"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}}) J'avais oublié les guillemets. J'espère que cela va fonctionner.
  19. Dans GEA ... une scène .. cela donne cela {"VirtualDevice", <ID_MODULE>, <position du bouton>} donne fibaro:call(<ID_MODULE>, "pressButton", <position du bouton>) Donc oui c'est 100% possible
  20. Steven

    Support Gea

    GEA.add({"Property", 238, "Location"}, 30, "", {{"Global", "EmplacementSeb", #value#}})
  21. [[%% autostart --]] est bien déclenché lors de restart de la box ... sinon GEA ne fonctionnerait pas souvent
  22. [[%% autostart--]] fibaro:call(361, "pressButton", 1)
  23. Ne mets pas le 1 entre guillemets.
  24. Steven

    Support Gea

    Heuuuuu ... ca va me prendre du temps l'ami
  25. Steven

    Support Gea

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