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

    Non, juste remplace l'id de la porte par l'id du détecteur.
  2. Steven

    Support Gea

    @971jmd Le jour ou je serais payé je veux bien mais vu que c'est un passe-temps, je vais pas m'amuser à maintenir une documentation ou un organigramme. Je comprends bien ta question et elle est légitime, mais un organigramme c'est trop de travail.
  3. Steven

    Support Gea

    Le mieux serait de faire évoluer GEA Mais pour cela, il faut du temps ... beaucoup de temps ... trop de temps
  4. Steven

    Support Gea

    Oui ihexley :-)
  5. Steven

    Support Gea

    @ihexley Je sais pas si le 27 est l'id ou la température souhaitée. C'est c'est l'ID il faut mettre GEA.add( ... {"Function", setTarget(27, 33)}}) juste inverser les 2 (27 et 33).
  6. Steven

    Support Gea

    @Sebbrunie1 Pour être plus précis , je dirais : Quand cela marche quand on sauve (ou une seule fois) puis plus rien ... c'est qu'il faut un {"Repeat"}
  7. Steven

    Support Gea

    @pepite Oui, tu as raison, je le fait uniquement après la 1ère exctinction Normal, tu rentres dans ton local, la lumière s'allume ... tu commences à travailler, soudainement la lampe s'éteint. Tu t'entends dire des mots doux : @#*§@## puis tu appuies sur ton interrupteur et tu es tranquille Cette solution à l'avantage de fonctionner exactement la même chose si on remplace la porte par un détecteur de mouvement. Exemple, une présence sur ma terrasse va allumer la lumière si c'est le soir et l'éteindre après 5 minutes. Par contre, si je veux passer un moment avec mes amis sur la terrasse, j'appuie sur l'interrupteur avant de sortir .. mais cette fois, je Stoppe l'extinction automatique ET le détecteur (ouverture de porte).
  8. Steven

    Support Gea

    @ihexly Non c'est pas grave, cela veux simplement dire que tu as --[[ %% poperties 27 xxxxxxxxx --]] et que dans GEA tu n'as rien qui traite l'id 27 ... tu peux donc l'enlever de ton entête.
  9. Steven

    Support Gea

    @pepite Son code a été modifié ... enfin je crois .. ou je dois changer de cervelle @dvine Attention au espace ... Becarefull with spaces ... Seien Sie vorsichtig mit den Leerzeichen --[[ %% properties 255 power 255 valueSensor --]] local id = { Wasmachine = 255 } GEA.add({"Sensor+" id["Wasmachine"], 200}, -1, "ON wasmachine")
  10. Steven

    Support Gea

    GEA Boulette Game Rapel du scénario : 1. l'ouverture de la porte allume la lampe 2. la fermeture de la porte éteint la lampe 3. la lampe s'éteint automatiquement après 10 minutes 4. Si j'appuie sur l'interrupteur de la lampe, l’extinction automatique est stoppée. Réponse : local id_lampe = 100 local id_porte = 200 -- Extinction automatique de la lampe après 10mn. local autoOff = GEA.add(id_lampe, 10*60, "", {{"turnOff"}}) -- Extinction de la lampe sur fermeture (inverse) de la porte GEA.add(id_porte, -1, "", {{"Inverse"}, {"turnOff", id_lampe}}) -- Allumage de la lampe sur ouverture de la porte GEA.add(id_porte, -1, "", {{"turnOn", id_lampe}, {"RestartTask", autoOff}}) -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique. GEA.add{id_lampe, -1, "", {{"StopTask", autoOff}}) Le piège : Quand on ouvre la porte, cela déclenche un {"turnOn", id_lampe} qui va donc exécuter automatiquement la dernière ligne 14, comme si on appuyait sur l'interrupteur. L'astuce : GEA agit en séquentiel soit action par action, une après l'autre. Donc dans notre cas, quand on regarde bien la ligne 11 (ouverture de la porte). Cette ligne va allumé la lampe, ce qui va stopper la tache d’extinction (ligne 14) puis elle va la relancer droit derrière. Par contre, si on appuie sur l'interrupteur, on stop l’extinction sans la relancer. Tordu ? Non.
  11. Steven

    Support Gea

    @dvine Si tu utilises le -1 il faut mettre l'ID de ta TV dans l'entête du script : Exemple si ton ID est 255 --[[ %% properties 255 power 255 valueSensor %% globals --]] . . . @Sebbrunie1 Quelques {"Repeat"} devrait résoudre ton problème, je te laisse chercher . . @ihexley Voici une proposition (non testée) pour utiliser le setTargetLevel avec GEA. function setTarget(id, valeur) fibaro:call(id, "setTargetLevel", valeur) end GEA.add( {"Global", "Presence", "present"}, 30*60, "", {{"Time", "07:00", "01:00"}, {"Function", setTarget(33, 27)}})
  12. Steven

    Support Gea

    On devrait faire une GEA Game. On propose un scénario et les autres proposent le code pour résoudre cela [emoji6].
  13. Steven

    Support Gea

    Dans mon cas, j'ai une lampe qui s'éteint automatiquement toute les 10mn car on oublie toujours de l'éteindre. Cette lampe s'allume et s'éteint selon l'ouverture / fermeture de la porte. Donc si on laisse la porte ouverte plus de 10mn, la lumière va s'éteindre toute seule. Sauf, que si je travaille dans ce local, porte ouverte, je ne veux plus qu'elle s'éteigne. Donc sur déclenchement instantané de l'interrupteur, je Stop la tâche d'exctinction. Je suis donc tranquille jusqu'àce que je reclique sur l'interrupteur.
  14. LOL
  15. Steven

    Support Gea

    La possibilité de mettre {"Function", ...} n'est pas documentée car c'est quand même un peu délicat de mettre du code LUA dans GEA sans risque de planté GEA. C'est pourquoi je n'ai pas communiqué dessus. Par contre, j'en ai déjà fait mention dans ce forum pour résoudre de petits "manque" à GEA. D'ailleurs, je crois que le {"NotStarted"} n'est pas documenté non plus
  16. Steven

    Support Gea

    STOP Utilisé un sleep de 20mn dans GEA va planté GEA .. on a le droit d'y mettre des petit sleep (sans jeu de mot) pour autant que le total des "sleep" ne dépasse pas les 30 secondes. Sinon GEA ne sera pas capable de ce lancer toutes les 30 secondes. Il y a des solutions à cela : local varecsoui = {"Global", "varecs", "oui"} local varecsnon = {"Global", "varecs", "non"} -- Tache en sommeil (NotStarted) -- Cette tache va passer la variable à Non si elle est à Oui depuis plus de 20 minutes local autoOff = GEA.add(varecsoui, 20*60, "Variable ECS à OUI depuis #durationfull#", {varecsnon, {"NotStarted"}}) -- Tache en sommeil cas non démarrée -- Cette tache va passer la variable à Oui si la lumière de la douche est allumée et que la variable est à non -- Elle va aussi redémarrer la tache si dessus GEA.add({id["lumrdc_douche"], varecsnon}, 30, "",{varecsoui, {"RestartTask", autoOff}})
  17. Non, toujours aussi lent ... plus de 2.5 heures pour écrire 40'280 caractère 1 par 1 dans la VG
  18. Steven

    Support Gea

    Pour info, l'erreur est survenue entre la v 4.021 et la 4.30. Entre ces deux version j'ai modifié le code afin d’autoriser l'écriture en majuscule ET minuscule. En faisant ma manipulation, j'ai modifié ainsi : elseif (type(entry[GEA.keys["PARAMS"]]) == "table" and entry[GEA.keys["PARAMS"]][1] == "NOTDST") then par elseif (type(entry[GEA.keys["PARAMS"]]) == "table" and string.lower(entry[GEA.keys["PARAMS"]][1]) == "nodst") then j'ai donc perdu un petit T en passant
  19. Steven

    Support Gea

    Hummmm, je ne sais pas ce qui c'est passé mais NOTDST s'est transformé en NODST ... j'ai du faire une boulet dans une version. J'en suis navré. En attendant, il faut donc remplacer les NOTDST par NODST
  20. Steven

    Support Gea

    ERREEEEUUUUR
  21. J'ai stoppé mon test à 40'280 caractères --- je pense qu'il y a effectivement de la marge
  22. C'est un sujet qui a déjà été discuter mainte fois sur ce forum, il n'y a pas de solution miracle pour stocker les ID de nos devices. En effet, dans une VG, c'est une idée mais il y a 2 problèmes à cela, et qui pour moi sont rédhibitoire : La limitation en nombre de caractère d'une VG Comment connaitre le nom id["NOM_DE_MON_DEVICE"] En effet, dès que les id sont mis au format json dans une VG, il n'est plus possible de "voir" leur nom (limitation du panneau des variables) ou alors on doit créer un scène qui nous les affiche mais dans ce cas, cela perd un peu de son utilité. Maintenant, a vous de voir selon vos habitudes, désires, ... perso, j'ai que 2 scénarios qui utilisent plus d'un ID donc j'ai pas vraiment d'expérience sur le sujet
  23. Steven

    Support Gea

    Il faut y aller progressivement : 1. Test --local Ecl_Parents_off = {"Value", id["ECL_CHAMBRE_PARENTS"], 0} GEA.add(id["ECL_CHAMBRE_PARENTS"], -1, "Mode Panic OFF", {{"Inverse"},{"StopScenario", 185}, {"Global", "Etat_Alarme", "OFF"}}) 2. Test local intrusion = {"Global", "Etat_Alarme", "ON"} --local Ecl_Parents_off = {"Value", id["ECL_CHAMBRE_PARENTS"], 0} GEA.add({id["ECL_CHAMBRE_PARENTS"], intrusion }, -1, "Mode Panic OFF", {{"Inverse"}, {"StopScenario", 185}, {"Global", "Etat_Alarme", "OFF"}}) Si aucun des deux ne fonctionne, remplace le StopScenario, 185 par l'allumage d'une ampoule (si tu peux). Cela permet de voir très rapidement, si c'est le code qui ne fonctionne pour ou si c'est ton scénario qui n'arrive pas se stopper.
  24. Steven

    Support Gea

    Quelques soucis : Le Time avec 06:00 et 05:59 signifie donc toutes la journée ... dans ce cas, il est inutile de le mettre. PortableS effectivement pas de "S" Par contre, Portable 2 n'est pas possible, l'identifiant 2 est réservé à l'utilisateur Administrateur de la box hors Portable s'attend à recevoir l'identifiant d'un portable ... regarde sur http://<IP de ta box>/api/iosDevices GEA.add(264, -1 , "Ouverture porte de garage #time#", {{"Portables", <A REMPLACER>}})
  25. Steven

    Support Gea

    Tu as mis : ligne 630 : return "Value [" .. id[2].."|"..fibaro:getName(tonumber(id[2])) .. "] = " ..id[3], GEA.getRoom(tonumber(id[2])) Donc tu as une ligne qui contient {"Value", <TON_ID>, <TA_VALEUR>} C'est donc soit <TA_VALEUR> (id[3]) qui est manquante ... mais apparemment pas puisque cela fonctionnait avant. Soit que <TON_ID> (id[2]) n'existe plus puisque fibaro:getName() ne le trouve pas. Donc stp re-vérifie tes IDs.
×
×
  • Créer...