Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Compte à rebours

Réservé à l'utilisation et la création de widgets dans JEEDOM
Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Compte à rebours

Message par PrFalKeN » 06 mars 2019, 09:26

'Jour,

Demande un peu particulière.
Je voudrai un widget compte à rebours, donc je fixe la valeur dans une variable ex:TempsCourse == 130 (1h30)

Je souhaite une widget qui fasse un décompte de cette valeur dès que je vais cliquer sur un bouton 'Course'

En gros, ma copine part courir, elle clique, le compte à rebours se met en marche, si à 0 elle n'est pas présente, jeedom envoie un telegram savoir si tout va bien etc...

Et bien je séché un peu sur la réalisation...

Merci de votre aide

Avatar de l’utilisateur
kerdale
Actif
Messages : 1644
Inscription : 25 sept. 2016, 11:38
Localisation : Penn-ar-Bed

Re: Compte à rebours

Message par kerdale » 06 mars 2019, 13:45

Bonjour,
J'ai fait un truc qui se rapproche un peu (démarrage multimédia: TV, barre son, décodeur canal , sélection chaine etc etc mais peu importe)
Au lancement de l'action (bouton ou dans mon cas une télécommande IR recyclée avec le plugin IRV2) j'ai un scénario qui démarre :
boucle
de 1 à variable (ma_variable)
action variable nom: ma_variable valeur : variable(ma_variable_1)
sleep 1
bloc si pour vérifier une condiition d'arret du scénario (je ne sais pas arreter une boule dans un scénar autrement qu'en arrêtant le scénario) et faire quelque chose si "OK stop"
si pas "Ok stop" on continue la boucle.
Sur le widget jde cde:
j'ai une cde num curseur pour donner la valeur de "ma_variable" et associé une cde info numérique "valeur_de_départ"
un bouton départ (qui lance le scénario)
et une cde info numérique qui affiche le compte à rebourd sous la forme (calcul)
valeur de départ - ma_variable
(nota la valeur_de_départ étant la valeur du curseur )
Bon ça fait le job On peut sans doute finasser et améliorer, mais j'ai plsu tot tendance à dire si ça fait le job du premier jet ça va etre + facile de s'en souvenir ultérieurement qu'un truc hyper modifié
Nota : je pense que ce n'est pas utile de te développer la partie la durée en H:mm et la conversion en seconde pour etre dans les clous d'un sleep.
1 NUC & 1 RPI3/Msata V3.3.31, EnOcean, Z-wave,
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Compte à rebours

Message par PrFalKeN » 06 mars 2019, 14:17

Pas mal je vais creuser
Merci

Avatar de l’utilisateur
Titi007
Timide
Messages : 104
Inscription : 23 févr. 2017, 16:31

Re: Compte à rebours

Message par Titi007 » 06 mars 2019, 15:39

et si tu fais un scénario :
tu appuis sur le bouton
puis la syntaxe : dans x minutes -> envoi d'un message
x étant ta variable

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Compte à rebours

Message par PrFalKeN » 06 mars 2019, 16:01

Le but est d'avoir un visuel pour ma fille afin qu'elle sache en rentrant de l'école dans combien de temps sa mère sera là si elle est partie courir...

Avatar de l’utilisateur
kerdale
Actif
Messages : 1644
Inscription : 25 sept. 2016, 11:38
Localisation : Penn-ar-Bed

Re: Compte à rebours

Message par kerdale » 06 mars 2019, 16:25

Bien sur tu peux chiader le widget pour en faire un sympa style horloge HTC en lui faisant afficher l'heure de départ , le temps restant avant l'hpa etc etc
1 NUC & 1 RPI3/Msata V3.3.31, EnOcean, Z-wave,
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights

Avatar de l’utilisateur
Titi007
Timide
Messages : 104
Inscription : 23 févr. 2017, 16:31

Re: Compte à rebours

Message par Titi007 » 06 mars 2019, 16:38

Tu te fais le petit afficheur..
http://sarakha63-domotique.fr/afficheur-led-v2/
Il doit y avoir la V3..
Et tu affiches ton compte a rebours

Avatar de l’utilisateur
bartounet
Actif
Messages : 2541
Inscription : 14 juil. 2016, 10:09

Re: Compte à rebours

Message par bartounet » 06 mars 2019, 17:02

Je vois que le sujet à déjà été abordé ici : viewtopic.php?f=32&t=24193&start=20
Par contre je ne vois plus le widget countdown dans le market
Jeedom à jour Debian 9
VM VMWARE ESXi 6.7 ( SSD)
Stick ZWave / FIBARO / Ikea Light / Yeelight / Google Home
Wifi Unifi / PFSENSE / Reverse Proxy DMZ SSL

Passionné de bidouillage informatique en tout genre
Mon blog : http://blog.info16.fr

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: Compte à rebours

Message par winhex » 06 mars 2019, 17:13

compte à rebours ou chronomètre
viewtopic.php?f=30&t=42234&p=695313&hil ... wn#p695313
exemple dans 1h17mn c'est mon couché de soleil
20190306_171829.jpg
20190306_171829.jpg (15.79 Kio) Consulté 4322 fois
Dernière édition par winhex le 06 mars 2019, 17:19, édité 1 fois.

Avatar de l’utilisateur
bartounet
Actif
Messages : 2541
Inscription : 14 juil. 2016, 10:09

Re: Compte à rebours

Message par bartounet » 06 mars 2019, 17:19

J'ai suivi le post rapidement et c'est assez facile.

Imagineons un compte a rebours de 1 heure
Image


Image

Image

J'avais la chance d'voir le widget decompte.
Mais je le trouve plus sur le market.
Jeedom à jour Debian 9
VM VMWARE ESXi 6.7 ( SSD)
Stick ZWave / FIBARO / Ikea Light / Yeelight / Google Home
Wifi Unifi / PFSENSE / Reverse Proxy DMZ SSL

Passionné de bidouillage informatique en tout genre
Mon blog : http://blog.info16.fr

Bosquetia
Actif
Messages : 6783
Inscription : 10 mai 2016, 07:54

Re: Compte à rebours

Message par Bosquetia » 06 mars 2019, 17:47

C'est vrai ça le widget a disparu et de mémoire Punisher avait fait un scénario pour heure coucher lever et il y avait ce compte a rebours
Son post la dessus a disparu aussi :-(

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Compte à rebours

Message par PrFalKeN » 07 mars 2019, 07:26

Ah super merciii !!
Ben oui Bosq tu l'avais avant ce décompte de Punisher, j'ai pas trouvé;
Merci a Winhex et Bartounet pour avoir retrouvé tout cela !

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Compte à rebours

Message par PrFalKeN » 07 mars 2019, 08:07

'Jour,

Bon grâce au code du widget de winhex, et un virtuel cela fonctionne...

Le virtuel
Timer.PNG
Timer.PNG (189.5 Kio) Consulté 4285 fois
Le widget

Code : Tout sélectionner

<!-- WIDGET SPECIFIQUE adapté du widget standard "countdown"
Modifications : 
- Remplacement de style="display: block;" par style="min-width:90px;min-height:62px;margin-right: 5px;margin-left: 5px;padding:0px !important;"
- Remplacement de title="#collectDate#" par title="Valeur du #valueDate#, collectée le #collectDate#"
- Mutualisation de #countdown_#id#_#state#_h, #countdown_#id#_#state#_m, et #countdown_#id#_#state#_s en #countdown_#id#_#state#_decompte
- Suppression de class='label label-default'
- Ajout calcul de #countdown_#id#_#state#_decompte affichant si nécessaire les heures
- Remplacement de la valeur par défaut par --
Mise à jour :
- Le 2016/11/19 : Correction d'une erreur d'écriture
- Le 2016/04/11 : Création
-->
<div style="min-width:90px;min-height:62px;margin-right: 5px;margin-left: 5px;padding:0px !important;" class="tooltips cmd cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="Valeur du #valueDate#, collectée le #collectDate#">
	<center> 
      <span style="font-weight: bold;font-size : 12px;" class="cmdName">#name_display#</span><br/>
      <span style="font-size: 2em;font-weight: bold;" id="countdown_#id#_#state#_decompte">--</span>
    </center>
	<script>
		if ('#background-color#' !== '#'+'background-color'+'#') {
			$('#cmd#id# .label').css({'background-color':'#background-color#'});
		}

		$(function () {
			if ('#state#' > 0) {
				var intervalId = setInterval(function () {
					var now = (new Date()).getTime(); // On déclare la date d'aujourd'hui.
					var tps_restant = '#state#'*1000 - now; // Temps restant en millisecondes

					// console.log("interval("+intervalId+")");

					if (!$('#countdown_#id#_#state#_decompte').length || '#state#' < 0 || tps_restant < 0) {
						// console.log("clearInterval("+intervalId+")");
						clearInterval(intervalId);
						$('#countdown_#id#_#state#_decompte').text('--');
					} else {
					  //============ CONVERSIONS
					  var s_restantes = tps_restant / 1000; // Secondes restantes
					  var i_restantes = s_restantes / 60; // Minutes restantes
					  var H_restantes = i_restantes / 60; // Heures restantes
					  
					  s_restantes = Math.floor(s_restantes % 60); // Secondes restantes
					  i_restantes = Math.floor(i_restantes % 60); // Minutes restantes
					  H_restantes = Math.floor(H_restantes); // Heures restantes
					  //==================

					  //============ FORMATTAGE
					  s_restantes = s_restantes < 10 ? "0"+ s_restantes : s_restantes;
					  i_restantes = i_restantes < 10 ? "0"+ i_restantes : i_restantes;
					  H_restantes = H_restantes < 10 ? "0"+ H_restantes : H_restantes;
					  //==================

					  if (H_restantes > 0) {
                        $('#countdown_#id#_#state#_decompte').text(H_restantes + ":" + i_restantes + ":" +s_restantes);
                      } else {
                        $('#countdown_#id#_#state#_decompte').text(i_restantes + ":" +s_restantes);
                      }  
					}
				}, 1000);
			}
		});
	</script>
</div>
Le widget est de type info sous titre autre, je ne sais pas si c'est le mieux mais cela fonctionne


Néanmoins dans la config avancée du virtuel si je fais un test sur valeur, genre inférieur à 10 (min) pour faire un action message dans Jeedom, cela ne fonctionne pas... En effet la valeur est un chiffre énorme ??!!

Donc il me reste ce souci là à régler de pouvoir tester et ensuite de proposer via dropdown avec le widget de winhex le chox d'une course de 20 40 60 ou 80 min !


En tout cas je progresse merci de votre aide.

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: Compte à rebours

Message par winhex » 07 mars 2019, 09:01

sur ton screen
à la place d' "aucune"
sélectionné "timer"

Avatar de l’utilisateur
PrFalKeN
Actif
Messages : 936
Inscription : 27 nov. 2017, 18:51

Re: Compte à rebours

Message par PrFalKeN » 07 mars 2019, 09:22

Merci winhex
Je ne crois pas que le souci soit là, je l'ai fait et quand je teste "timer" sa valeur est 1551947484 (ca change sans cesse, normal lol)
Donc le widget affiche bien les minutes secondes restantes mais la valeur de timer je ne sais pas a quoi cela correspond. ce ne sont pas des millisecondes en tout cas.

Avatar de l’utilisateur
Titi007
Timide
Messages : 104
Inscription : 23 févr. 2017, 16:31

Re: Compte à rebours

Message par Titi007 » 09 mars 2019, 19:36

Ton compte a rebours fonctionne bien et honnêtement, je l'ai récupéré car j'ai un peu le même soucis.
J'ai besoin d'un compte à rebours avec plusieurs choix possibles (ça c'est bon avec ton code !)
mais je souhaite être averti 5 minutes avant la fin... et pareil, je sèche sur la valeur du timer !
As tu réussi a finaliser ?

Avatar de l’utilisateur
kerdale
Actif
Messages : 1644
Inscription : 25 sept. 2016, 11:38
Localisation : Penn-ar-Bed

Re: Compte à rebours

Message par kerdale » 09 mars 2019, 19:54

N'étant pas du tout pointu en code J'ai une bidouille mais qui peut sans aucun doute etre faite plus élégamment avec du code:
Quand je lance le timer ça me stock dans une variable #timeX# ensuite avec un time_op(variable(timeX) ,-5) == #time# ça passe à 1 et déclenche avec un cron à la minute, le sms.
Ce n'est pas du tout élégant mais ça fait le job avant que ça passe en haute couture :D
1 NUC & 1 RPI3/Msata V3.3.31, EnOcean, Z-wave,
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights

Avatar de l’utilisateur
Titi007
Timide
Messages : 104
Inscription : 23 févr. 2017, 16:31

Re: Compte à rebours

Message par Titi007 » 10 mars 2019, 18:58

Merci kerdale
Finalement, j'ai fait différemment en utilisant 3 scénarios et une variable.
Le premier scénario initialise la variable (duree) par floor(round(#[Monitoring][Timer][Timer]#- #timestamp#)/60) Minutes et lance (active) le 2 eme scénario qui est a la base désactivé.
Le 2eme scénario (désactivé par Default), est programmé pour s’exécuter toutes les minutes, fonctionne sur 2 si :
- si #[Monitoring][Timer][Timer]#- #timestamp#<0 alors on désactive ce scénario et on le stoppe
- si #[Monitoring][Timer][Timer]#- #timestamp#<300 et variable(duree) !=0 alors notification et variable (duree) =0
- sinon notification Temps restant : floor(round(#[Monitoring][Timer][Timer]#- #timestamp#)/60) Minutes
Le 3eme scénario : permet de stopper par un bouton extérieur ou autre :
désactive ce scénario 2 , le stoppe et variable (duree) =0 + notification "dans les temps"

Js.tempus
Timide
Messages : 3
Inscription : 19 mars 2019, 11:50

Re: Compte à rebours

Message par Js.tempus » 10 avr. 2019, 16:35

Bonjour
Titi 007 , auriez vous des visuels de tes scénarios ? Je débute et j'ai un peu de mal et j'aurai besoin d'un compte à rebours au lancement d'un de mes scénario .

Avatar de l’utilisateur
Titi007
Timide
Messages : 104
Inscription : 23 févr. 2017, 16:31

Re: Compte à rebours

Message par Titi007 » 12 avr. 2019, 08:36

Js.tempus a écrit :
10 avr. 2019, 16:35
Bonjour
Titi 007 , auriez vous des visuels de tes scénarios ? Je débute et j'ai un peu de mal et j'aurai besoin d'un compte à rebours au lancement d'un de mes scénario .
Je te fais ça ce weekend

edit : j'ai fait un pdf avec copie d'écran
Timer Pointage.pdf
(395.5 Kio) Téléchargé 376 fois

Répondre

Revenir vers « [Plugin officiel] Widgets »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 25 invités