Widget Reveil vide

Allé … encore une joyeuseté :face_with_raised_eyebrow:

Depuis un Design la configuration n’applique pas les modifications (mais est bien capable d’afficher quand il y a eut une motif) pour un des 2 réveils. Depuis le dashboard les modifications sont bien appliquées.
L’autre réveil n’a pas de soucis…

Truc funky : si dans les paramètres d’affichage de l’objet (dans sa configuration sur le design) je desactive « Afficher le nom » … boum il applique bien les modifications de configuration.

Si je fais la même chose sur les 2 objets => reboum la configuration n’est plus appliquée sur celui que je viens de modifier :expressionless:

Il doit encore y avoir un conflit avec une variable du script mais j’arrive pas à voir laquelle… c’est d’autant plus pénible que depuis le dashboard ça fonctionne bien.

EDIT: ah non en fait dans le dashboard ça ne fonctionne pas non plus, mais c’est pas le même qui déconne :frowning:

Bonjour à tous les deux,
Merci pour ce plugin. Je vois que le code donné plus haut a été intégré dans plugins/reveil/desktop/modal/Programation.reveil.php par contre je ne vois pas du tout comment l’intégrer dans un design…
Si vous avez des indices, je suis preneur
Merci :slight_smile:

Tu peux l’appeler avec une balise ifram

Bonsoir,
Merci pour ton indication. J’ai essayé en spécifiant l’id du réveil en question, mais j’ai uniquement le résultat suivant:
image

Voici je que j’ai mis sur le design comme élément text/html:
<iframe src="/plugins/reveil/desktop/modal/Programation.reveil.php?id=281"></iframe>
Est-ce qu’il y a quelque chose que j’ai loupée?

J’ai oublié de préciser que je suis encore sur Jeedom v3.3.39

Merci.

Bonjour,
Je viens d’acheter le plugin. J’ai tenté d’intégrer un Widget HTML dans le dashboard avec le code précédemment fourni.
J’ai modifié le reveilId avec l’ID que j’ai retrouvé dans l’URL de reprogrammation.
J’ai exactement la meme chose que slowmotion. un cadre avec Jour, Actif, Heure.
Merci pour l’aide et le support

Au début du poste j’ai mis le code il me semble
Est-ce que l’affichage est mieux

Sinon si vous fait un F12 pour ouvrir la console est ce qu’il y a des erreurs ?

oui , pleins :
image

Bonjour, pas de nouvelle.
Je me forme sur les widgets V4. Est ce que le code au dessus correspond a un code widget.
Si oui, quel type de widget faut-il créer, Info ou Action?
MErci pour l’aide

Il peut en faire partie

oui, donc comment créer ce widget? Merci

Le code au dessus correspond à accès au information du plugin et propose une mise en forme qui visiblement bug.
À toi de mettre en forme dans ton widget.

J’ai supprimé justement ça du plugin car trop compliqué à maintenir

c’est bien dommage de payer et de ne pas avoir quelque chose de finaliser.

Remarque très désagréable
Le plugin permet de faire les fonctions de réveil donc finaliser.
Il n’es pas spécifié qu’il y a un widget qui permet de programmer à la volé même si j’ai laissé la possibilité.

Désolé d’avoir vexé, mais c’est la réalité.
Quand c’est gratuit, pas de problème, je comprends.

J’ai pris quelques minute se midi pour debugé le code a mettre dans le widget HTML

<table class="table_programation">
		<thead>
			<tr>
				<th>Jour actif</th>
				<th>Heure</th>
			</tr>
		</thead>
		<tbody></tbody>
	</table>
	<script type="text/javascript">
      	var reveilId=**ID a recuper dans la configuration avancé du reveil**;
		$.ajax({
			type: "POST", 
			url: "plugins/reveil/core/ajax/reveil.ajax.php", 
			data: {
				action: "getProgramation",
				id: reveilId
			},
			dataType: 'json',
			global: false,
			error: function(request, status, error) {
				handleAjaxError(request, status, error);
			},
			success: function(data) { // si l'appel a bien fonctionné
				if (data.state != 'ok') {
					$('#div_alert').showAlert({message: data.result, level: 'danger'});
					return;
				}
				for(var index in data.result) {
					if( (typeof data.result[index] === "object") && (data.result[index] !== null) )
						addProgramation(data.result[index],$('.eqLogic[data-eqLogic_id=#id#] .table_programation'));
				}
			}
		});
		function sendProgramation(_el){	
			var prog=_el.closest('.ProgramationGroup').attr('data-id');
				var day='';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=1]').is(':checked'))
					day=day+'1';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=2]').is(':checked'))
					day=day+'2';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=3]').is(':checked'))
					day=day+'.';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=4]').is(':checked'))
					day=day+'4';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=5]').is(':checked'))
					day=day+'5';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=6]').is(':checked'))
					day=day+'6';
				if(_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=0]').is(':checked'))
					day=day+'0';
				var heure=_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=Heure]').val();
				var minute=_el.closest('.ProgramationGroup').find('.expressionAttr[data-l1key=Minute]').val();			
			$.ajax({// fonction permettant de faire de l'ajax
				type: "POST", // methode de transmission des données au fichier php
				url: "plugins/reveil/core/ajax/reveil.ajax.php", // url du fichier php
				data: {
					action: "setProgramation",
					id: reveilId,
					prog: prog,
					day: day,
					heure: heure,
					minute: minute
				},
				dataType: 'json',
				global: false,
				error: function(request, status, error) {
					handleAjaxError(request, status, error);
				},
				success: function(data) { // si l'appel a bien fonctionné
					if (data.state != 'ok') {
						$('#div_alert').showAlert({message: data.result, level: 'danger'});
						return;
					}
				}
			});
		}
		function addProgramation(_programation,  _el) {
			var Heure=$('<select class="expressionAttr form-control" data-l1key="Heure" >');
		    	var Minute=$('<select class="expressionAttr form-control" data-l1key="Minute" >');
			var number = 0;
			while (number < 24) {
				Heure.append($('<option value="'+number+'">')
					.text(number));
				number++;
			}
			number = 0;
			while (number < 60) {
				Minute.append($('<option value="'+number+'">')
					.text(number));
				number++;
			}
			var tr = $('<tr class="ProgramationGroup" data-id="'+_programation.id+'">')
				.append($('<td>')
					.append($('<div class="col-sm-5">')
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="1">'))
							.append('Lundi'))
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="2">'))
							.append('Mardi'))
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="3">'))
							.append('Mercredi'))
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="4">'))
							.append('Jeudi'))
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="5">'))
							.append('Vendredi'))
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="6">'))
							.append('Samedi'))
						.append($('<label class="checkbox-inline">')
							.append($('<input type="checkbox" class="expressionAttr" data-l1key="0" />'))
							.append('Dimanche'))))
				.append($('<td>')
					.append(Heure)
					.append(Minute));
			_el.append(tr);
			_el.find('tr:last').setValues(_programation, '.expressionAttr');
			_el.find('.expressionAttr[data-l1key=Heure]').off().on('change', function () {	
				sendProgramation($(this));
			});	
			_el.find('.expressionAttr[data-l1key=Minute]').off().on('change', function () {	
				sendProgramation($(this));
			});	
			_el.find('.expressionAttr[data-l1key=1]').off().on('change', function () {	
				sendProgramation($(this));
			});	
			_el.find('.expressionAttr[data-l1key=2]').off().on('change', function () {	
				sendProgramation($(this));
			});	
			_el.find('.expressionAttr[data-l1key=3]').off().on('change', function () {	
				sendProgramation($(this));
			});	
			_el.find('.expressionAttr[data-l1key=4]').off().on('change', function () {
				sendProgramation($(this));
			});
			_el.find('.expressionAttr[data-l1key=5]').off().on('change', function () {	
				sendProgramation($(this));
			});
			_el.find('.expressionAttr[data-l1key=6]').off().on('change', function () {	
				sendProgramation($(this));
			});
			_el.find('.expressionAttr[data-l1key=0]').off().on('change', function () {	
				sendProgramation($(this));
			});
		}
	</script>

image
Pour utilisé l’iframe c’est un peux plus complexe et faut que je prenne le temps d’ajouté les librairie qui manque

merci j’apprécie ton aide.
faut il coller ce code dans un nouveau widget?

Oui tu copie le code dans un equipement du #plugin-htmldisplay.
Y a peut etre des améliorations estetique a faire mais je n’ai pas le temps
A tester aussi la mise a jours de la programmation, je n’ai pas eu le temps de tester non plus

toujours pareil :
image

J’avais oublié de renseigné le Reveil ID. Ca fonctionne maintenant.Merci

Par contre on ne voit pas bien le deuxieme digit des minutes /heures
et surtout le mercredi n’est jamais coché dans le widget.
Et enfin dans mon design, la transparence ne fonctionne pas :
image

C’est ce que je disais.

Normal la on es sur un html basique sans fonction de thème jeedom
Ajoute au debut

<div class="eqLogic eqLogic-widget allowResize" data-eqType="#eqType#" data-translate-category="#translate_category#" data-category="#category#" data-tags="#tags#" data-eqLogic_id="reveilId" data-eqLogic_uid="#uid#" data-version="#version#" style="min-width : 50px;min-height : 80px ;border:#border#;border-radius:#border-radius#;background-color: #background-color#;color: #color#;width: #width#;height: #height#;#style#" >
	<center class="widget-name">
		<span style="font-size: 1.2em;#hideEqLogicName#"><a href="#eqLink#">#name_display# <span class="object_name">#object_name#</span></a></span>
	</center>

Et à la fin

</div>

Tu connais un peut le html et le Java?

Le mercredi est cocher chez moi tu as une erreur dans la console (F12)