[tools] Générateur de templates et widgets (V4)

Idem pour moi fresh install 4.1.15 pas de plugin Abeille non plus mais cela veux dire qu’il y a une risque de conflit si un jour j’installais Abeille?

Cela veut il dire que le plugin va devenir payant?

@yiruko

Si tu n’as aucun plugin , celui-ci ne te sera d’aucune utilité

@iPapy

1/ Le développeur d’abeille a dit qu’il allait faire le nécessaire. De mon côté je ne peux rien faire.Pas suivi ses mises à jour

2 /non

Oui c’est normal c’est pas a toi de gérer les conflits de son plugin, ce qui me rassure c’est que j’ai pas abeille :slight_smile:

Je me suis mal exprimé… ou en tout cas j’ai pas donné assez de détails :sweat_smile:
J’ai déjà une install de jeedom en mode freebox delta avec les plugins enedis / freeboxOS / Xiaomi et d’autres… cette version tourne correctement et je ne voulais pas forcement l’impacter tout de suite.

Par conséquent pour éviter de tout casser, j’ai refait une fresh install ailleurs, où je vais réinstaller les même plugins etc + ton plugin afin de le tester… mais pour le moment cela m’est impossible :confused:

Bonjour @Dapolux,

J’avoue découvrir ce plugin de création de widget et je n’ai pas encore regardé en détail tout ce qu’il est possible.
Néanmoins, j’aimerais améliorer le widget de Squeezebox comme tu l’as fait.
Est-il possible de partager le widget que tu as réalisé ?

Une des fonctionnalités que j’aime dans ton widget est la facilité de synchroniser avec une autre platine.
Par contre, j’aimerais essayer de faire qu’un seul widget avec une dropdown liste qui afficherait les platines en ligne, plutôt que de multiplier les widgets pour chaque lecteur.
Penses-tu que ce soit faisable ?
Il faudrait dans ce cas que la séléection d’une platine dans la liste rafraichisse le widget.

Merci.

Bonjour @djtale,

Pour le déroulant, oui ça doit être faisable, mais dans ce cas je pense que la meilleure solution soit que tu aies tout de même un widget par player, puis que dans un html, tu gères un déroulant qui t’affiche le bon widget (=bon player). Les screens que j’ai montré plus haut sont ma visu « tablette », en mode smartphone, je fais un peu ce que tu souhaites, mais au lieu d’un déroulant j’ai un bouton par player:

Pour la gestion de l’affichage de chaque player, j’ai utilisé la méthode que j’ai détaillé dans ce post:

Pour le partage de ce que j’ai fait, pas de problèmes:
Pour chaque player, j’ai l’équipement de base (celui dans squeezebox), puis un deuxième, créé dans le plugin plugin-virtual, dans lequel je gère les commandes/infos complémentaires (je l’est ait nommé « ext », car ils sont en « extension » de l’équipement initial). Puis finalement j’ai un équipement dans plugin-tools qui agrège tout cela, avec le visuel qui va bien.
Exemple pour ma SB « Salon », j’ai un virtuel « RPI Salon (ext) »:

Puis dans tools:
image

Le squeezebox_id permet de faire le lien pour les commandes du plugin original, puis en suite c’est moi qui gère le mapping des commandes pour mon « ext ».

Avec le html qui va bien pour le design:

<div class="eqLogic-widget eqLogic allowResize" style="height: #height#;width: #width#;border:#border#;border-radius:#border-radius#;background-color: #background-color#;color: #color#;#style#;" data-eqLogic_id="#id#" data-eqLogic_uid="#uid#" data-version="#version#" >

  <!-- Bandeau -->
  <a class="cmd power" data-cmd_id="#toggle_power_id#" style="position : absolute;left : 3px;top : 3px;font-size : 1em;" title="Power">#power#</a>
  <center class="widget-name"><a href="#eqLink#" style="font-size : 1.5em;#hideEqLogicName#">#name_display#</a></center>
  <a style="position : absolute;right :3px;top : 3px;font-size : 0.9em;" title="#syncedwith#">#sync#</a>

  <!-- Pochette / Titre / Artiste -->
  <div style="margin-top : 5px;" class="status">
	<div>
		<div class="thumbnailAlbumArt">
            <a class="cursor" style="font-size : 1em;" id="yoursb#id#"><center> #thumbnail# </center></a>
		</div>
		<span class="statusspsb" title="#oriartistalbum#">
			<center style="height:15px">#artistalbum#</center>
		</span>
		<span class="titlespsb" title="#orititre#">
			<center style="height:15px">#titre#</center>
		</span>
      </div>
	</div>

  <!-- Boutons de lecture -->
	<center>
      <div class="playback" style="margin-top:10px;">
	<a class="btn btn-xs cmd previous" data-cmd_id="#cmd_previous_id#"><i class="fas fa-step-backward"></i></a>
	<a class="btn btn-xs cmd play" data-cmd_id="#cmd_play_id#"><i class="fas fa-play"></i></a>
	<a class="btn btn-xs cmd pause" data-cmd_id="#cmd_pause_id#"><i class="fas fa-pause"></i></a>
	<a class="btn btn-xs cmd stop" data-cmd_id="#cmd_stop_id#"><i class="fas fa-stop"></i></a>
	<a class="btn btn-xs cmd next" data-cmd_id="#cmd_next_id#"><i class="fas fa-step-forward"></i></a>
	</div>
  </center>
   
  <!-- Volume -->
  <center> <div class="playback">
    <a class="btn btn-xs cmd vol-" data-cmd_id="#cmd_vol-_id#"><i class="fas fa-volume-down"></i></a>
    <span class="cmdName" style="margin:0px 30px 0px 30px;"> #volume_status#% </span>
    <a class="btn btn-xs cmd vol+" data-cmd_id="#cmd_vol+_id#"><i class="fas fa-volume-up"></i></a>
    </div></center>
  <center>
    <div class="volume" style="display:inline-block;width:90%" value="#volume#"% ></div>
  </center>
  
  <!-- Synchro Salon -->
  <center>
  	<div class="playlist_selector"> #playlist_selector# </div>
    <div class="cmdName hidden_title">Synchro Salon #synchro_on##synchro_off#</div> 
  </center>
  
	<script>
		$(".eqLogic[data-eqLogic_id=#id#] .volume").slider({
			min: 0,
			max: 100,
			range : "min",
			value: ('#volume#' == '') ? 0 : parseInt('#volume#')
		});
	      
      var widget_scale = 1 / $('.eqLogic[data-eqLogic_uid=#uid#]').attr("data-zoom");
      var vol_width = $('.eqLogic[data-eqLogic_uid=#uid#]').width() / widget_scale *0.9; // 0.9 ==> 90% de la largeur du div
   
      $(".eqLogic[data-eqLogic_id=#id#] .volume").css('transform', 'scale('+ widget_scale + ')');
      $(".eqLogic[data-eqLogic_id=#id#] .volume").css('transform-origin', '7%'); // 7% pour centrer dans mon widget perso
      $(".eqLogic[data-eqLogic_id=#id#] .volume").css('width', vol_width + 'px');
      $(".eqLogic[data-eqLogic_id=#id#] .volume .ui-slider-handle").css('transform', 'scale('+ 1 / widget_scale + ')');
      
      $(".eqLogic[data-eqLogic_id=#id#] .slider.slider-horizontal").css('z-index',1);
	  $(".eqLogic[data-eqLogic_id=#id#] .volume").on('slidestop', function (event,ui) {
		  jeedom.cmd.execute({id: '#volume_id#', value: {slider: ui.value}}); 
		});

		$('#sync#id#').on('click', function() {
			$('#md_modal2').dialog({
				title: "Gestion de synchro"
			});

			$('#md_modal2').load('index.php?v=d&plugin=squeezeboxcontrol&modal=sync.squeezeboxcontrol&id='+ #id#).dialog('open');
		});
        $('#yoursb#id#').on('click', function() {
			$('#md_modal2').dialog({
				title: "Votre SqueezeBox #name#"
			});

			$('#md_modal2').load('index.php?v=d&plugin=squeezeboxcontrol&modal=your.squeezeboxcontrol&id='+ #id#).dialog('open');
		});
		if('#state_nb#' == 1){
			$('.eqLogic[data-eqLogic_id=#id#] .cmd.play').hide();
		}else{
			$('.eqLogic[data-eqLogic_id=#id#] .cmd.pause').hide();
		}
		$('.eqLogic[data-eqLogic_id=#id#] .cmd').on('click', function() {
			jeedom.cmd.execute({id: $(this).data('cmd_id')});
		});
    </script>
</div>

Pour le lancement des playlist, j’ai donc un scenario, qui dès que le déroulant « Favoris » change de valeur, lance le favoris associé dans LMS:

Puis un deuxième scenario pour capter la demande de synchronisation, qui effectue donc la synchro. Par contre mon besoin en synchronisation reste « simple », dans la mesure ou le « maitre » est toujours le même (mon salon), je ne prévois pas par exemple, de synchroniser 2 chambres entres elles, elle ne pourrons être synchronisés qu’avec le salon (et les 2 peuvent le faire). Si vraiment j’ai besoin de le faire, je peux le faire hors jeedom (mais l’usage prouve que je n’en ait jamais eu le besoin).

N’hésites pas si tu as des questions.

Dapolux.

Merci pour ton retour.
J’ai vu que le plugin était pour le moment privé.
Dès que je pourrais l’installer je m’interesserai à cela.

Bonne idée ton astuce d’affichage en mode mobile.

Bonjour,

Y t’il une évolution car j’ai toujours le plugin tools qui m’indique qu’il y a une mise à jour ?
Merci

Bonjour !
Plugin très prometteur en effet, je suis intéressé pour faire quelques tests :slight_smile:
Je suis en Jeedom 4.0.61 et n’utilise pas le plugin Abeille (accès beta activé sur le market).

Preneur d’un code pour l’installer car à priori le plugin est toujours en mode privé :slight_smile:

Merci !

Bonjour,

Comme @kwet le plugin m’indique la présence d’une mise à jour. Cependant lorsque j’essaie de le mettre à jour, j’ai une erreur. Je suis allé voir dans les logs et il n’y a rien. J’ai vérifié la config et les erreurs sont bien remontées dans le log.

Merci

1 « J'aime »

Bonjour,

Pourriez-vous nous expliquer pourquoi le plugin tools demande toujours à être mis à jour ? Et s’il y a une solution pour contourner cela ?
Merci

Hello, est ce possible d’avoir un code pour ton plugin ?
Merci

1 « J'aime »

Pourrais-tu m’expliquer pourquoi tu ne lis pas les post du topic?

A ta même question du 22.10.2020 , j’ai répondu le 22.10.2020

Donc je pense que je vais mettre les infos dans le changelog, autoriser la mise à jour et advienne que pourra.

Tu n’as pas eu de retour pour les tests que tu demandais ?

Bonjour ZygOm4t1k, le plugin est toujours en privé. Sais-tu à peu près quand il passera en public ?
Merci d’avance.

Salut,

le plugin est de nouveau disponible et assure la compatibilité V4 - V4.1 et permet de ne pas perdre les widgets/templates déjà créés.

Ceux qui ne l’ont pas peuvent l’installer sans soucis . Juste me faire un retour si le bandeau (dans la configuration générale du plugin) est bien vert après l’installation ? Voir image qui suit

Pour ceux qui ont déjà le plugin:

  • Faire une sauvegarde de Jeedom si vous avez effectué des changements depuis le lancement de la dernière sauvegarde (la nuit précédente en générale)

  • Mettre à jour le plugin.

  • 2 cas de figure:Si vous n’avez pas changé le dossier de sauvegarde des backups de Jeedom dans la configuration , il n’y aura rien d’autre à faire. Sinon vous devrez cliquer sur le bouton "mettre à jour les fichiers.

IMPORTANT

Cette manipulation ne sera à faire qu’une seule fois .

Si on a Abeille d’installé, on peut l’oublier ?

Hello,
Merci pour ces retours !
Plugin pas encore visible sur le market (avec beta). Il faut toujours un code ?

Non c’est corrigé. Merci @kiwihc16 en passant

Non dispo sans code

1 « J'aime »

Je suis en v4.0.61 et je ne vois pas le plugin. J’ai cru lire que le plugin était compatible v4 / v4.1 mais je me suis peut être trompé.

J’ai essayé directement sur le market (depuis mon Jeedom ou le site) et manuellement en ajoutant un plugin et en mettant « tools » et « beta » sur le form.

J’ai bien activé les béta donc c’est peut être toujours une exclu 4.1 :slight_smile: