Decompte à la seconde & Jeedom 4.4

Bonjour

Le Widget de décompte à la seconde est très intéressant.

Il fonctionne parfaitement jusqu’à la version jeedom 4.3
Mais malheureusement il ne fonctionne plus en version 4.4

<!--    CUSTOM WIDGET "tps_restant_v4.3"
Community link:     https://community.jeedom.com/t/widget-decompte-a-la-seconde-tps-restant/99012
Updated on:         2023-01-08
Versions supported: Jeedom v4.3
Last Modification:  use v4.3 js (jeeFrontEnd, jeedom.cmd.addUpdateFunction, jeedom.cmd.refreshValue)
-->
<div class="tooltips cmd cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
	<div class="title #hide_name#">
		<span class="cmdName">#name_display#</span>
	</div>
	<div class="content-sm">
		<div class="state"></div>
	</div>
	<script>
		jeedom.cmd.addUpdateFunction('#id#', function(_options) {
			$('.cmd[data-cmd_id=#id#]').attr('title', '{{Date de valeur :}} '+_options.valueDate+'<br/>{{Date de collecte :}} '+_options.collectDate);
			$('.cmd[data-cmd_id=#id#]').attr('interval', );
			if ($('.cmd[data-cmd_id=#id#]').attr('interval')) {
				clearInterval($('.cmd[data-cmd_id=#id#]').attr('interval'));
				$('.cmd[data-cmd_id=#id#]').removeAttr('interval');
			}
			var timestamp = parseFloat(_options.display_value);
			if (timestamp > 0) {
				$('.cmd[data-cmd_id=#id#]').attr('interval', setInterval(function () {
					var dateLoc = new Date;
					var time_left = timestamp * 1000 - (dateLoc.getTime() + (dateLoc.getTimezoneOffset() + jeeFrontEnd.serverTZoffsetMin) * 60000 + jeeFrontEnd.clientServerDiffDatetime);
					if (!$('.cmd[data-cmd_id=#id#] .state').length || timestamp < 0 || time_left < 0) {
						if ($('.cmd[data-cmd_id=#id#]').attr('interval')) {
							clearInterval($('.cmd[data-cmd_id=#id#]').attr('interval'));
							$('.cmd[data-cmd_id=#id#]').removeAttr('interval');
						}
						$('.cmd[data-cmd_id=#id#] .state').empty();
					} else {
						//============ CONVERSIONS
						var s_left = time_left / 1000;
						var i_left = s_left / 60;
						var H_left = i_left / 60;
						s_left = Math.floor(s_left % 60);
						i_left = Math.floor(i_left % 60);
						H_left = Math.floor(H_left);
						//============ FORMATTING
						s_left = s_left < 10 ? "0"+ s_left : s_left;
						i_left = i_left < 10 ? "0"+ i_left : i_left;
						H_left = H_left < 10 ? "0"+ H_left : H_left;
						//============ DISPLAY
						if (H_left > 0) {
							$('.cmd[data-cmd_id=#id#] .state').empty().append(H_left + ":" + i_left + ":" +s_left);
						} else {
							$('.cmd[data-cmd_id=#id#] .state').empty().append(i_left + ":" +s_left);
						}
					}
				}, 1000));
			} else {
				if ($('.cmd[data-cmd_id=#id#]').attr('interval')) {
					clearInterval($('.cmd[data-cmd_id=#id#]').attr('interval'));
					$('.cmd[data-cmd_id=#id#]').removeAttr('interval');
				}
				$('.cmd[data-cmd_id=#id#] .state').empty();
			}
		});
		jeedom.cmd.refreshValue([{cmd_id :'#id#',display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#'}]);
	</script>
</div>

Avez vous un e piste pour le faire fonctionner en 4.4 ?

Bonjour,

Il marche parfaitement chez moi !

Hello,

Peux tu préciser ce qui ne fonctionne plus ?
Es-tu sûr que tu utilises la version du 2023-01-08 ?

Le sujet Widget Décompte à la seconde (tps_restant) est toujours ouvert et suivi :wink:

J’utilise la bonne version du 2023-01-08 mais effectivement il fonctione

Pourquoi j’avais vu qu’il ne fonctionnais pas et maintenant il fonctionne je ne peux pas le dire
Mais le principale est qu’il marche

Merci

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.