JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Habitué des contraintes WAF ...sans capteur de présence ...point de salut Tu vas comme moi il y a qqles temps, tourner en rond et tu auras toujours des cas qui n'iront pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Prends un motion sensor et mets une condition du type :" quand plus personne dans le salon après 5mn ...éteindre" Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Oui mais c'est CHEEEERRR ça dis donc comme solution ;-) Et plein de piles :-/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Oui mais tu peux jouer aussi avec la luminosité. ..et faire des scénarios plus complexes...et un regard admiratif de ta femme n'a pas de prix. ..non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 30 août 2014 Auteur Signaler Partager Posté(e) le 30 août 2014 Je suis entrain de travailler sur ce problème qui est récurant. Je pense finir pour lundi (je suis pas làce weekend) Lien vers le commentaire Partager sur d’autres sites More sharing options...
HANSOLO Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Tu t'occupe du waf ce we? C'est madame qui vas être contente! Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Quel homme ce Steven Lien vers le commentaire Partager sur d’autres sites More sharing options...
HANSOLO Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Comme c'est un problème récurrent il vaut mieux le régler une fois pour toute! Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Merci Steven ! :-) Hansolo, tu veut dire à la source du problème ? Non, moi je garde la mienne, avec ses qualités et ses défauts ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
HANSOLO Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Moi aussi je la garde la mienne, c'est la seule qui me supporte 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 30 août 2014 Auteur Signaler Partager Posté(e) le 30 août 2014 La même question a été levée mais en lieu et place d'un interrupteur, il s'agissait d'un détecteur. Un détection doit relancer le timer de l'allumage. Le code est fini à80%, j'ai malheureusement besoin d'une variable global pour permettre la discussion entre les différentes instance de GEA. Je finis cela lundi et teste lundi soir. La nouvelle version sera disponible tard lundi ou mardi matin. Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Il est vraiment, il est vraiment ..... Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 PHE-NO-ME-NAL ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 1 septembre 2014 Auteur Signaler Partager Posté(e) le 1 septembre 2014 Moi avec simplement une variable globale "GEA_Tasks", j'arrive : 1) Redémarrer/Suspendre/Stopper n'importe quel tache : -- On éteint la lampe automatiquement après 30mn local malampe = GEA.add(id_lampe, 30*60, "Eteindre après 30mn", {{"turnOff"}}) -- Si on appuie sur l'interrupteur, la tache ci-dessus repasse à 0mn et donc attend à nouveau 30mn. GEA.add(id_interrupter, -1, "", {{"RestartTask", malampe}}) -- Je veux être avisé de 2 détection maximum entre 7 et 9 heure GEA.add(id_detecteur, -1, "Détection à #time#", {{"MaxTime", 2},{"Time", "07:00", "09:00"}}) -- Stopper définitivement cette tache même si la lampe change d'état GEA.add(id_lampe, 30*60, "Eteindre après 30mn", {{"turnOff"}, {"MaxTime", 1}}) -- Normalement ma lampe devrait s'éteindre après 30mn local tacheEteindre = GEA.add(id_lamp, 30*60, "Eteindre après 30mn", {{"turnOff"}}) -- Un click sur mon interrupteur et je stop l'extinction -- Deux click sur mon interrupteur et je relance l'extinction GEA.add({"SceneActivation", id_interrupteur, 16}, -1, "", {{"StopTask", tacheEteindre}}) GEA.add({"SceneActivation", id_interrupteur, 24}, -1, "", {{"RestartTask", tacheEteindre}}) Et vous ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Shyrka973 Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 Dans quelle version de GEA peut-on trouver ces mots clés: "RestartTask", "MaxTime" et "Suspend" ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 1 septembre 2014 Auteur Signaler Partager Posté(e) le 1 septembre 2014 la 3.80 Celle de ce soir P.S: Je viens de renommer "Suspend" par "StopTask" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 1 septembre 2014 Auteur Signaler Partager Posté(e) le 1 septembre 2014 Version 3.80 [Nouveauté] Possibilité de stopper n'importe quel tâche {"StopTask", <id_task>}. [Nouveauté] Possibilité de redémarrer n'importe quel tâche {"RestartTask", <id_task>}. [Nouveauté] Possibilité de spécifier le nombre d’exécution d'une tâche {"MaxTime", <number>}. [ATTENTION] Veuillez créer la variable globale GEA_Tasks Exemple ici 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Shyrka973 Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 Très intéressant le "StopTask" et le "ResumeTask" Tu as donc réussi à faire communiquer les taches immédiates et planifiées entre eux ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 1 septembre 2014 Auteur Signaler Partager Posté(e) le 1 septembre 2014 Oui mais en passant par une variable globale GEA_Tasks, ce que je ne voulais pas mais la demande devenait oppressante, j'ai donc cracké. TU vois par ta faute (entre autre), je suis au bord du burnout, je crack pour le moindre rien . Lien vers le commentaire Partager sur d’autres sites More sharing options...
Shyrka973 Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 J'ai hâte d'examiner ton code pour comprendre l'astuce que tu mis en place pour le passage de paramètres en utilisant une variable globale. On pourra donc mettre en pause et redémarrer une tâche. Pourra-t-on, dans une prochaine version, modifier une tâche par le même principe ? Par exemple, la durée: On peut imaginer une tâche qui éteint la lampe du salon toutes les 15mn en temps normal mais si on appuie sur l'interrupteur, cette tâche passe à 1h. Qu'en penses-tu ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 Bonsoir Steven, Cela semble bien fonctionner (avec de petits laps de temps en tout cas.) Dans l'exemple que tu nous as donné ci-dessous, à la ligne 4 tu dis "si on appuye..." mais c'est un cycle on/off qu'il faut faire. Bref, ici je comprends l'utilité d'un détecteur qui permet de relancer la tâche sans devoir faire on/off Maintenant, j'essaye de voir comment combiner ça avec la "notification de fin de durée" (dim de la lampe à 45% 10 minutes avant l'extinction) Je cherche comment remettre la lampe à 75% (ou 100%) après la "notification" une solution est de faire une notification de 1 minute puis remettre à 75%, et donc un cycle on/off à ce moment permet de relancer la tâche et d'avoir la lumière à la bonne intensité. Voici mon script actuel de test: local malampe = GEA.add( id["LAMPE_SAM"], 2*60, "Eteindre après 2mn", {{"turnOff"}}) -- Si on appuie sur l'interrupteur, la tache ci-dessus repasse à 0mn et donc attend à nouveau 2mn. GEA.add( id["LAMPE_SAM"], -1, "", {{"RestartTask", malampe}}) avant j'avais ceci: GEA.add( id["LAMPE_SAM"], 90*60, "SAM allumée depuis 1H 20", {{"Value", 45}}) GEA.add( id["LAMPE_SAM"], 100*60, "SAM extinction", {{"turnOff"}}) Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 Ha, Ha...Le "MaxTime" me donne des idées.... Merci Steven...j'espère qu'il ne fera pas trop beau ce weekend car s'il fait trop beau je vais devoir jardiner et je n'aurais pas le temps de bricoler avec new_GEA Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 Ceci à l'air de fonctionner: local malampe = GEA.add( id["LAMPE_SAM"], 1*60, "Dim après 1mn", {{"Value", 45}}) local malampedim = GEA.add( id["LAMPE_SAM"], 2*60, "Eteindre après 2mn", {{"turnOff"}}) -- Si on appuie sur l'interrupteur, la tache ci-dessus repasse à 0mn et donc attend à nouveau 30mn. GEA.add( id["LAMPE_SAM"], -1, "", {{"RestartTask", malampe}}) GEA.add( id["LAMPE_SAM"], -1, "", {{"RestartTask", malampedim}}) avec un double click, pas besoin de faire on/off (mais la lampe va à 100% au lieu de 75%) not a big deal, je suis déjà super content comme ça :-) Merci Steven ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 1 septembre 2014 Auteur Signaler Partager Posté(e) le 1 septembre 2014 @sebcbien Pour éviter le double click, tu peux faire comme cela, cela devrait fonctionner. local malampe = GEA.add( id["LAMPE_SAM"], 1*60, "Dim après 1mn", {{"Value", 45}}) local malampedim = GEA.add( id["LAMPE_SAM"], 2*60, "Eteindre après 2mn", {{"turnOff"}}) -- Si on appuie sur l'interrupteur, la tache ci-dessus repasse à 0mn et donc attend à nouveau 30mn. GEA.add( id["LAMPE_SAM"], -1, "", {{"RestartTask", malampe}, {"RestartTask", malampedim}}) GEA.add( id["LAMPE_SAM"], -1, "", {{"Inverse"}, {"turnOn"}, {"RestartTask", malampe}, {"RestartTask", malampedim}}) @Shyrka973 Je pense qu'il vaut mieux avoir deux taches différentes (une de 15mn, une de 1mn) et de jouer sur le stop, restart selon la circonstance. Sinon, c'est très simple, si une action demande un RestartTask, je stock R[iD_TACHE] dans la variable global et je nettoie une fois traité, S[iD_TACHE] pour le stop. Recherche juste GEA.addOrRemove dans le code et GEA.isTask et tu auras tout. Les variables globales étant limitées à 222 caractères, je me suis arrêté à une lettre pour identifier l'action. @JM13 Vient chez moi, tu auras tout le temps que tu veux pour faire du GEA, l’arrosage automatique n'a pas encore fonctionner cet été. Le MaxTime vient de ta demande Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 1 septembre 2014 Signaler Partager Posté(e) le 1 septembre 2014 Merci Steven, mais ça ne marche pas. L'appui sur l’interrupteur rallume bien la lampe mais le script rentre en boucle et la lampe reste à 45% indéfiniment et il n'y a plus moyen de l’éteindre manuellement. L'autre problème c'est qu'appuyer une seule fois laisse la lampe à 45% au lieu de la remettre à sa valeur de croisière à 75%. pour ce dernier souci, j'ai modifié la dernière ligne en GEA.add( id["LAMPE_SAM"], -1, "", {{"Inverse"}, {"Value", 75}, {"RestartTask", malampe}, {"RestartTask", malampedim}}) Je pense que quand GEA essaye de couper la lampe, la fonction inverse la rallume, et c'est reparti pour un tour à 45 % Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés