MAM78 Posté(e) le 11 février 2018 Signaler Posté(e) le 11 février 2018 Est-ce vous savez s'il existe déjà un VD minuteur qui : Décompte les secondes jusqu'à zéro Affiche le temps restant Peut être programmé avec des boutons + et - pour les minutes et secondes
pepite Posté(e) le 12 février 2018 Signaler Posté(e) le 12 février 2018 Bonjour@MAM78, Je crois me souvenir qu il y a un VD COUPATAN sur le forum qui decomptait pour une pompe et d autres peripheriques. Faudrait le retrouver. Envoyé de mon Nexus 5X en utilisant Tapatalk
Berale64 Posté(e) le 12 février 2018 Signaler Posté(e) le 12 février 2018 C'est ici: https://www.domotique-fibaro.fr/topic/5326-coupatan/?tab=comments#comment-79968 1
pepite Posté(e) le 12 février 2018 Signaler Posté(e) le 12 février 2018 Désolé @Berale24 J'avais oublié que c'etait le tien ;-)
MAM78 Posté(e) le 12 février 2018 Auteur Signaler Posté(e) le 12 février 2018 Merci pour le lien.J’ai entre-temps développé le VD, mais il me reste à trouver la meilleure des solutions pour gérer le décompte du timer en secondes tout en minimisant la consommation du CPU et en évitant le plus possible l’usage du main loop qui je pense est gourmand.Si vous avez des suggestions, je suis preneur Envoyé de mon iPhone en utilisant Tapatalk Pro
Steven Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 Question bête : Comment être précis à la seconde prêt avec un main loop qui tourne toutes les 3 secondes ? Avec un sleep(x) lors du dernier passage ? Autre question bête ... allez, soyons fou ... quel intérêt de ce genre de module pour de la domotique ? (Comme le disait @Berale24 lui-même c'est un gadget et il gérait des minutes ce que je peux comprendre mais des secondes ?) Perso, je n'arrive pas trouver de réponse mais il doit y avoir un usage auquel je ne pense pas et je serais curieux d'avoir des suggestions ... donc je m'abonne à ce topic non pas pour embêter comme à l'accoutumée mais par curiosité. 1
Berale64 Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 Si vous regardez mon VD, vous verrez que je n'utilise pas le main loop. Et oui, c'est un gadget pour des trucs pas trop précis. Moi, c'était au départ pour démarrer une pompe qui remplit une cuve et éviter que ça déborde si j'ai le dos tourné. 1
MAM78 Posté(e) le 13 février 2018 Auteur Signaler Posté(e) le 13 février 2018 (modifié) L'objetif est de pouvoir allumer un groupe d'ampoules Phillips Hue selon une durée limitée (ex. durée 20 secondes) et paramètrable également via l'interface utilisateur (smartphone, tablette, ???). L'allumage du groupe d'ampoules externes sert de confirmation visuelle lors d'un déclanchement d'un sénario. Exemples : armement / desarement de l'alarme, visuel lors du déclenchement de l'alarme, en complément de la sirène ou lors d'alarmes silentieuses. déclanchement lors d'une détection d'une présence de nuit autour de la maison. Mise en lumière des exterieurs pour déclencher l'enregistrement vidéo de meilleur qualité pour une durée donnée. Je suis en cours de construction d'un VD de pilotage d'un groupe d'ampoules ou de rubans led HUE avec gestion de scénaris (allumage constant, clignotement, séquence de couleurs, arc en ciel) selon un timer modifiable via l'interface utilisateur Dès que celui-ci sera suffisement avancé, je le partagerais évidement pour obtenir vos critiques et améliorations Il est déjà bien avancé, il reste néanmoins quelques optimisations et perfectionnement du fonctionnement du timer afin de pas trop pénaliser le fonctionnement de nos HC2. Livraison probable ce soir. A vrai dire l'affichage du décomptes des secondes n'est pas primordial, mais parcontre j'ai besoin à minima d'avoir le décompte du timer avec la possibilité de l'interrompre pour éteindre le groupe d'ampoules. Je sais bien que GEA est en mesure de faire une partie des fonctions, mais ne permet pas d'interagir simplement via une interface utilisateur. Peut-être que mes idées pourront faire l'objet d'une évolutions de GEA ? CQFD cf. : @Steven quel intérêt de ce genre de module pour de la domotique Modifié le 13 février 2018 par MAM78 2
pepite Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 Il y a 1 heure, MAM78 a dit : pourront faire l'objet d'une évolutions de GEA ? un VD qui permettrait de de parametrer des interactions/actions un peu comme GEA Alarm pour les horaires ?
MAM78 Posté(e) le 13 février 2018 Auteur Signaler Posté(e) le 13 février 2018 (modifié) L'objectif n'est pas de déclencher des scènes mais de lancer des notifications/actions visuelles sur les ampoules Hue selon une durée déterminée et modifiable Modifié le 13 février 2018 par MAM78
Lazer Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 Il y a 3 heures, Steven a dit : Question bête : Comment être précis à la seconde prêt avec un main loop qui tourne toutes les 3 secondes ? Avec un sleep(x) lors du dernier passage ? Réponse bête du coup Puisque la Main Loop est une simple boucle avec un sleep() de 3s, il suffit de faire sa propre boule avec un sleep de 1h à l'intérieur de celle-ci. En pratique, on ne passera qu'une seule fois dans la boucle de la main loop, et le script fera son exécution dans sa propre boucle. Je n'ai jamais testé car je n'ai jamais eu besoin d'avoir une précision inférieure à 3s, mais je ne vois aucune raison pour laquelle ça ne fonctionnerait pas.
Steven Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 On avait déjà remarqué qu'un "Sleep" supérieur à ~40mn dans le main loop fait explosé ce dernier. Il fallait mieux créer une variable global (non pas une VG fibaro) qui laisse s'exécuter le Main Loop et qui vérifie quand l'action doit être effectuée. Je ne sais pas si c'est toujours d'actualité car cela date de quelques versions mais pour palier à cela j'utilisais un code du style : local nbHeure = 12 function doIt() -- VOTRE CODE -- fibaro:log(os.date("%d %B %Y - %H:%M:%S")) fibaro:call(fibaro:getSelfId(), "setProperty", "logTemp", "TxtGray" ) end if (not instance) then instance = { lastrun = os.time(), every = nbHeure } end diff = os.date("*t", os.difftime(os.time(), instance.lastrun)) if (diff.hour >= instance.every) then doIt() instance.lastrun = os.time() end
Steven Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 Il y a 2 heures, MAM78 a dit : Je sais bien que GEA est en mesure de faire une partie des fonctions, mais ne permet pas d'interagir simplement via une interface utilisateur. Peut-être que mes idées pourront faire l'objet d'une évolutions de GEA ? Je comprends mieux le besoin. Non, en effet, GEA n'est pas du tout prévu pour ce genre de cas, il tourne toutes les X secondes et l'idée de le faire tourner plus rapidement lui ferais perdre tout son utilité. Pour une intégration avec GEA ou n'importe quel autre scénario, il suffirait que tu ais un label qui change d'état une fois la durée atteinte et on pourrait le récupérer dans l'entête de n'importe quel scénario (ou une variable globale) : %% propeties 100 ui.lblReady.value GEA.add({"Label", 100, "lblReady", "OK"}, -1, "Décompte terminé", ...)
MAM78 Posté(e) le 13 février 2018 Auteur Signaler Posté(e) le 13 février 2018 @Steven merci pour ta suggestion, mais si je comprends bien ta suggestion de passer par l'usage du Main Loop, je vais avoir un risque d'attendre potentiellement de 1 à 3 secondes au-delà de la fin du timer. théorique. Rien de grave en soit pour mon usage mais c'est bien ça ? Est-ce que ta suggestion peut également s'intégrer directement dans un bouton du VD sans utiliser le Mail Loop, dans une boucle qui attend la fin du timer ?
Steven Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 Ah non, attention, je ne suggère rien du tout, c'était juste une mise en garde sur une constatation qu'on avait fait sur le "main loop".
MAM78 Posté(e) le 13 février 2018 Auteur Signaler Posté(e) le 13 février 2018 Le sujet reste donc ouvert
Lazer Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 il y a 33 minutes, Steven a dit : On avait déjà remarqué qu'un "Sleep" supérieur à ~40mn dans le main loop fait explosé ce dernier. Il fallait mieux créer une variable global (non pas une VG fibaro) qui laisse s'exécuter le Main Loop et qui vérifie quand l'action doit être effectuée. Oui tout à fait, mais là on ne parle pas d'utiliser un grand sleep ( ) mais un tout petit sleep ( re - ) Donc je ne pense pas que ce bug se produise. D'ailleurs avec le grand sleep, rien ne dit que c'était la main loop qui plantait.... mais plutôt la fonction sleep() elle-même. 1
MAM78 Posté(e) le 13 février 2018 Auteur Signaler Posté(e) le 13 février 2018 Il ne faut pas présumé du contenu du sleep ( ). J'envisage pour ce même VD de pouvoir mettre un tempo de plusieurs heures. Exemple lancer une animation lumineuse dans le jardin pour 1h30 ou bien jusqu'à une heure donnée.
Steven Posté(e) le 13 février 2018 Signaler Posté(e) le 13 février 2018 1h30 ... c'est un Sleep Kangourou ?
MAM78 Posté(e) le 14 février 2018 Auteur Signaler Posté(e) le 14 février 2018 Pas encore terminé. Mais voici en avance de phase un avant goût du VD de pilotage des ampoules Philips HUE 5
Lazer Posté(e) le 14 février 2018 Signaler Posté(e) le 14 février 2018 Punaise, c'est beau, j'ai envie de l'installer rien que pour te piquer les idées d'icones !!
pepite Posté(e) le 14 février 2018 Signaler Posté(e) le 14 février 2018 Une vraie télécommande ;-) pour HUE
MAM78 Posté(e) le 18 février 2018 Auteur Signaler Posté(e) le 18 février 2018 Vous trouverez ci-dessous l'aboutissement de ma recherche sur la mise en place d'un minuteur pour piloter mes ampoules Philips HUE
MAM78 Posté(e) le 18 février 2018 Auteur Signaler Posté(e) le 18 février 2018 Amis testeurs, j'attends vos retours
Messages recommandés