Steven Posté(e) le 19 décembre 2017 Auteur Signaler Posté(e) le 19 décembre 2017 Moi ce que je fais pour simuler ce genre de truc, je remplace l'ID de la porte du garage par une lumière que j'allume et éteins à distance. Le code fonctionnant la même chose, c'est plus pratique et plus sécurisant que d'ouvrir la porte 1
MAM78 Posté(e) le 19 décembre 2017 Signaler Posté(e) le 19 décembre 2017 (modifié) @Steven je viens de faire le test à distance en utilisant une lumière. J'ai toujours la même erreur [DEBUG] 15:34:27: [1;31m2017-12-19 15:34:27.089210 @0s [Démarrage] #6 [DEBUG] 15:34:37: [1;31m2017-12-19 15:34:37.089210 [ fatal] LUA error: /opt/fibaro/FibaroSceneAPI.lua:208: attempt to concatenate local 'sceneID' (a nil value) Parcontre, il semblerait bien que la temporisation fonctionne, voir interval de temps en les 2 lignes de trace Modifié le 19 décembre 2017 par MAM78
Steven Posté(e) le 19 décembre 2017 Auteur Signaler Posté(e) le 19 décembre 2017 Ok, je pense avoir trouvé le soucis. On est dans un "Sleep" et lors du lancement d'un plugin, on va chercher l'ID selon le nom de l'action en cours ... donc il cherche le plugin appelé "Sleep" et non pas "sendvoicemessage". Pour tester ma modification, pourrais-tu ajouter ceci dans ta config() function config() ... GEA.options.sleep2 = { name="Sleep2", keepValues = true, action=function(duree, option) local o = GEA.getOption(option) if (duree and o) then setTimeout(function() GEA.currentAction.name = o.name print("start ".. o.name) o.action(true) end, duree*1000) end end } ... end Et utilisé {"Sleep2", ...} au lieu de {"Sleep", ...} dans ton GEA.add 1
MAM78 Posté(e) le 19 décembre 2017 Signaler Posté(e) le 19 décembre 2017 (modifié) Génial ça fonctionne Y a plus qu'à intégrer dans une nouvelle version 6.02 ? Si tu peux également regarder mes suggestions évoquées précédements et les intégrer. Cf. Remplacement de variables dans les arguments des actions. Modifié le 19 décembre 2017 par MAM78
pepite Posté(e) le 19 décembre 2017 Signaler Posté(e) le 19 décembre 2017 (modifié) Bien joue @Steven Il a fallu que @MAM78 veuille un sleep dans un plugin ;-) MErci MAM et Steven, cette version 6 va etre juste une tuerie.... Au cas où steven, MAM souhaiterait pouvoir utiliser dans ses messages pour son plugin les parametres dynamiques type #duration"... GEA.add( id["DETECTEUR_PORTE_GARAGE"], 5, "La porte du garage est ouverte depuis plus de #duration#", {{"Repeat"}, {"SendSonosMessage", "TTS", "La porte du garage est ouverte depuis plus de #durationfull#", "50"}}) Modif faite par MAM78 et teste, avec GEa.getMessage Remplacer la ligne 602 : for i, v in ipairs(args) do table.insert(params, {["param"..i] = v}) end par : for i, v in ipairs(args) do table.insert(params, {["param"..i] = GEA.getMessage(v)}) end Modifié le 19 décembre 2017 par pepite
Steven Posté(e) le 19 décembre 2017 Auteur Signaler Posté(e) le 19 décembre 2017 J'avais bien compris
Steven Posté(e) le 19 décembre 2017 Auteur Signaler Posté(e) le 19 décembre 2017 @MAM78 Ceci est une version de test, elle sera probablement la future 6.02 mais j'aimerais que tu la test dans ton environnement. Elle prend en compte le correctif du "Sleep" avec les "Plugin" et de la transformation des messages dans les arguments d'un Plugin et d'un scénario. J'attends ton retour pour valider ou non cette version. gea_6_02.lua
MAM78 Posté(e) le 19 décembre 2017 Signaler Posté(e) le 19 décembre 2017 Ok, merci je regarde cela ce soir, une fois à la maison. Ce sera plus pratique qu'en mode remote 1
MAM78 Posté(e) le 19 décembre 2017 Signaler Posté(e) le 19 décembre 2017 (modifié) A la lecture de ton code de la V 6.02 tu n'aurais pas fait la modification sur la bonne ligne. Pour moi, la modification devrait être faite sur 601 (traitant les actions) et non la 589 (traitant les getValue). Ou peut-être les 2 ? Je me trompe ? PS : Sinon, concernant la tempo du messages marche à la perfection. Modifié le 19 décembre 2017 par MAM78
Steven Posté(e) le 19 décembre 2017 Auteur Signaler Posté(e) le 19 décembre 2017 En effet, je le voulais aussi dans le getValue() et j'ai zappé le action() Voilà gea_6_02.lua
MAM78 Posté(e) le 19 décembre 2017 Signaler Posté(e) le 19 décembre 2017 (modifié) @Steven Merci, j'ai intégré cette nouvelle version. Elle fonctionne parfaitement avec mes événements. Tu peux donc pour moi la publier Néanmoins, j'ai aussi constaté qu'il n'est pas possible de nommer (dernier paramètre) une événement si l'on ne renseigne pas d'option ou une action. Exemple : j'ai voulu nommer l'événement ci-dessous : GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#") J'ai essayé comme ça : (mais j'ai des erreurs, je n'ai pas trouvé la syntaxe qui permet de le faire) : GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", , "Trace Démarrage HC2") GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", "", "Trace Démarrage HC2") GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", {}, "Trace Démarrage HC2") GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", {""}, "Trace Démarrage HC2") Rien à faire, ça passe pas Modifié le 20 décembre 2017 par MAM78
Did Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 Je viens d'essayer la nouvelle syntaxe des lignes (avec l'extinction automatique après la durée): GEA.add({"Time", "00:55"}, 30, "", {"turnOn", id["PC_SAPIN"], 10*30}) Ça s'allume bien à l'heure prévue, mais après l'extinction au bout des cinq minutes, le module se rallume et n'a plus l'air de s'éteindre automatiquement. Et dans l'interface, le wallplug est resté sur Off, après un On et un Off manuel, il s'éteint.
Steven Posté(e) le 20 décembre 2017 Auteur Signaler Posté(e) le 20 décembre 2017 @MAM78 C'est en effet un peu tordu lorsqu'il n'y a pas d'action. Il faut remplacer les "actions" par "nil" GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", nil , "Trace Démarrage HC2") @Did Hummm, cela ressemble plus à un problème de synchronisation entre ton module et ta box. Est-ce parce que le père noël n'aime pas trop la lumière (PC_SAPIN) ?
Steven Posté(e) le 20 décembre 2017 Auteur Signaler Posté(e) le 20 décembre 2017 Nouvelle version disponible v.6.02 20 décembre 2017 fix : vd GEA Alarm -- double push fix : "Sleep" en conjonction avec un Plugin mod : getMessage pour les plugins et arguments de scénario (traitement des variables #time#, #value#, ...) 1
pedia Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 Bonjour, (je reposte au bon endroit) Le 15/12/2017 à 22:14, pedia a dit : Mise à jour installée et Ok pour moi le "Or" et les déclenchements instantanés. Merci pour l'update de la syntaxe @pepite, et les turnOn des Hue ;-) Petite question de syntaxe justement. J'ai un problème avec les ! et "Inverse". J'avais cette ligne la qui marchait bien : GEA.add({153, {"Global!", "Vacances", "Tous"}}, 30, "", {{"Inverse"}, {"Days", "Tuesday, Friday"}, {"Time", "07:35", "07:50"}, {"turnOn"}}) Je voulais donc la remplacer par : GEA.add({153!, {"Global!", "Vacances", "Tous"}}, 30, "", {{"Days", "Monday"}, {"Time", "07:25", "07:50"}, {"turnOn"}}) Et j'ai un message d'erreur : '}' expected near '!'. J'ai essayé plusieurs variantes, {153!}, {153}!. J'ai toujours le même message. Quelle est la bonne variante que je n'ai pas essayée ? Je suis toujours embêté avec les ! - Inverse. J'ai utilisé en copié-collé la syntaxe du GEA_syntaxe qui me semblait bizarre car il manque un ")" : GEA.add( 73!), 30, "", {ACTIONS} ) Même là, j'ai un message d'erreur. Suis-je le seul ? Sinon autre question concernant Date & Time. J'ai plusieurs lignes comme celles-ci : GEA.add({57, {"Global", "Portail", "fermé"}}, -1, "", {{"Days", "Thursday"}, {"Time", "7:35", "7:50"}, {"turnOn", 64}}, "Ouverture programmé du portail") GEA.add({57, {"Global", "Portail", "fermé"}}, -1, "", {{"Days", "Friday"}, {"Time", "8:00", "8:20"}, {"turnOn", 64}}, "Ouverture programmé du portail") Je voulais les unifier. J'ai essayé : GEA.add({57, {"Global", "Portail", "fermé"}}, -1, "", {{{"Days", "Thursday"}, {"Time", "7:35", "7:50"}},{{"Days", "Friday"}, {"Time", "8:00", "8:20"}}, {"turnOn", 64}}, "Ouverture programmé du portail") , GEA.add({57, {"Global", "Portail", "fermé"}}, -1, "", {"Or", {{"Days", "Thursday"}, {"Time", "7:35", "7:50"}},{{"Days", "Friday"}, {"Time", "8:00", "8:20"}}, {"turnOn", 64}}, "Ouverture programmé du portail") et GEA.add({57, {"Global", "Portail", "fermé"}, {"Or", {{"Days", "Thursday"}, {"Time", "7:35", "7:50"}},{{"Days", "Friday"}, {"Time", "8:00", "8:20"}}}, -1, "", {"turnOn", 64}}, "Ouverture programmé du portail") Soit j'ai un message d'erreur, soit ça passe mais les conditions sont inopérantes et ça déclenche tout le temps. J'ai une erreur, ou la construction de GEA ne permet pas de mixer les dates comme ça et je garde mes différentes lignes ?
pepite Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 @Steven, @MAM78. Concernant les infos sans ACTIONS, cela fonctionne chez moi depuis x versions, c'est un bug que javais remonté ;-) Je viens de restester avec la 6.02 ceci GEA.add(true, 0, "Poubelles jaunes à sortir", "Rappel sortie poubelles jaunes - Lundi toutes les 15 jrs") Debug #1 Rappel sortie poubelles jaunes - Lundi toutes les 15 jrs [DEBUG] 10:46:00: -------------------------------------------------------------------------------- [DEBUG] 10:46:00: GEA a démarré le 20.12.17 à 10:46:00 ... [DEBUG] 10:46:00: @0s [Validation*] #1 Rappel sortie poubelles jaunes - Lundi toutes les 15 jrs [DEBUG] 10:46:00: @0s [Démarrage] #1 Rappel sortie poubelles jaunes - Lundi toutes les 15 jrs Et j'ai bien recu le push ;-) Merci @pedia Tu as raison pour les Inverse écrit comme ceci : 73! Il y a bien une erreur, j'avais testé il ya longtemps, et je ne sais plus ce que @Steven avait decide à ce sujet. Peut-etre une coquille de ma part dans le fichier de syntaxe. J'ai retesté ceci GEA.add(11!, 30, " 11 !", {"Push", mobile["PEPITE"} ) [DEBUG] 10:51:23: line 155: ')' expected near '!' Pour l'instant, laisse les {Inverse} Pour ceci, GEA.add( 73!), 30, "", {ACTIONS} ) coquille de ma part dans le fichier syntaxe, une parenthèse de trop qui traine ;-) Pour tes lignes que tu veux concaténer GEA.add({57, {"Global", "Portail", "fermé"}}, -1, "", {{"Days", "Thursday"}, {"Time", "7:35", "7:50"}, {"turnOn", 64}}, "Ouverture programmé du portail") GEA.add({57, {"Global", "Portail", "fermé"}}, -1, "", {{"Days", "Friday"}, {"Time", "8:00", "8:20"}, {"turnOn", 64}}, "Ouverture programmé du portail") Plutot comme ceci cela devrait fonctionner GEA.add( {57, {"Global", "Portail", "fermé"}, {"Days", "Thursday, Friday"}, {"Or", {"Time", "07:35", "07:50"}, {"Time", "8:00", "8:20"} }}, "", {"turnOn", 64}, "Ouverture programmé du portail")
pedia Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 Merci pour la réponse. Le problème avec ta solution pour la fusion des lignes est qu’il va vérifier et jeudi et vendredi aux différentes heures si je ne me trompe. Or j’ ai vraiment besoin que chaque plage horaire corresponde au jour précis.
pepite Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 effectivement @pedia La ligne va verifier le jour Et les heures, donc soit Jeudi 7h35 ou 8h00 soi Vendredi 7h35 ou 8h . Si ton besoin est 1 jour, 1 horaire, t'es obligé de garder 2 lignes à mon avis.
Dragoniacs Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 J'ai installé la V6.02 et mis à jour mon code pour optimiser mon nombre de lignes. Petite question sur les nouveautés : on peut utiliser l'action immédiate avec un "0". Quel est l'intérêt du "0" par rapport à la tempo "30" qui est de base dans tous les exemples .... En d'autre termes, si je mets toutes mes lignes en "0", c'est mieux ou moins bien qu'avec du "30" ?
pepite Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 (modifié) @Dragoniacs Attention pas de confusion, entre 0, -1 et 30 (ou multiples de 30) 0 : te permet d'executer les lignes à l'enregistrement de GEA uniquement, par exemple cette ligne : GEA.add(true, 0, "Démarrage de GEA le #date# à #time#") Cette ligne ci-dessus, ne t'enverra un push qu'a chaque enregistrement, si tu ne l'enregistres pas, tu ne recevras aucun push. t'imagines bien que pour allumer une lampe, cela ne fonctionnera qu'une seule fois ;-) -1 : te permet les déclenchements instantanés, l'exemple sur détection de mouvement est le plus parlant. GEA.add(id["DETECTEUR"], -1, "Allumage lampe sur détection", {"TurnOn", id["LAMPE"]} ) 30 ou multiples de 30 : correspond à la duree souhaitée en fonction de tes conditions Cette ligne ne sera validée qu'1 fois par jour et executée si la condition est remplie GEA.add({"Info", "updateStableAvailable", true }, 24*60*60, "Une nouvelle version est disponible", {"Repeat"}) tu ne peux donc pas mettre 0 partout, surtout pas. S'il y a 30 dans tous les exemples c'est juste que j'ai fait du copier coller ;-) Modifié le 20 décembre 2017 par pepite
Dragoniacs Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 @pepite Pfff .... non mais laisse tomber, je suis nulle.... j'ai pas réfléchi en fait..... 0 = au démarrage de GEA -1 = changement de status de l'ID X * 30 = durée d'un évènement Je sors......
pepite Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 il n'y a pas de question bête, ce qui serait bête c'est de ne pas se poser de questions ;-)
Dragoniacs Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 Alors allons y gaiement!!!Est-il mieux de faire un sunset+30 ou un "Sunset", 30*60 ?Envoyé de mon SM-A520F en utilisant Tapatalk
pepite Posté(e) le 20 décembre 2017 Signaler Posté(e) le 20 décembre 2017 Ta 2eme proposition n'est pas possible avec la syntaxe GEA ;-) ca simplifie la reponse ;-) Sunset est fait pour etre utilisé avec Time uniquement. 30 minutes après le coucher du soleil s'ecrit donc : {"Time", "Sunset+30"} Effectivement, tes 2 propositions signifient la meme chose mais ce genre de ligne n'est pas prévu par GEA, Sunset n'est pas une condition seule, la condition est Time ;-) avec en arguments Sunset. GEA.add({"Sunset"}, 30*60, "", ...)
Steven Posté(e) le 20 décembre 2017 Auteur Signaler Posté(e) le 20 décembre 2017 Ma réponse va être différente. Est-ce possible d'avoir un Sunset qui dure 30 minutes Il ne faut pas oublié que la durée correspond au temps que doit répondre les conditions. Pour la durée à 0... Je souhaite préciser que cela correspond À CHAQUE exécution de GEA donc en gros : - au démarrage de GEA - à chaque exécution, soit la même durée que GEA.checkEvery. Le 30 lui peut correspondre à une exécution sur 2 si par exemple le GEA.checkEvery est mis à 15. 1
Messages recommandés