Décompte à la seconde

Suite du sujet Décompte à la seconde / Widgets v4 :

Désolé de détérer ce sujet, mais le code ne fonctionne pas ou plus?
le code bute sur :

ReferenceError: clientServerDiffDatetime is not defined
et ensuite sur clientServerDiffDatetime

Avez vous une idée svp?
Merci
Simon

Il fonctionne bien chez moi je m’en sert une fois par semaine si tu as bien pris le bon.

<!--    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');
						}
						//====== Modif pour afficher 00:00 $('.cmd[data-cmd_id=#id#] .state').empty();
                        $('.cmd[data-cmd_id=#id#] .state').empty().append("00:00");
					} 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');
				}
				//====== Modif pour afficher 00:00 $('.cmd[data-cmd_id=#id#] .state').empty();
                $('.cmd[data-cmd_id=#id#] .state').empty().append("00:00");
			}
		});
		jeedom.cmd.refreshValue([{cmd_id :'#id#',display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#'}]);
	</script>
</div>

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