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

Pour le voir, tu dois cocher la case beta sur ton profil sur le market.
Sans ça, tu ne peux pas le voir.

Merci vu!
J’avais coché la case version du core beta dans réglage > système > configuration > market mais je comprends que ca n’a rien à voir…

Bonjour @Dapolux,

Je me permets de te recontacter au sujet de ton widge custo pour SB.
J’ai pu installer le plugin tools et le configurer. J’arrive bien à contrôle le player pour lequel j’ai mis dans la config squeezebox_id=XXX

J’ai rajouté dans mon virtuel une liste contenant chacun de mes players avec leur id :
233|Cuisine;383|GH-Cuisine;245|GH-Bureau;322|MagicMirror

Sachant que c’est squeezebox_id qui va permettre d’identifier chaque commande, je me disais qu’il était peut-être possible de changer dynamiquement la valeur de squeezebox_id lorsque je sélectionne un player dans la liste et de rafraichir le widget.

Penses-tu que ce soit une solution viable et aurais-tu un exemple de code qui pourrait m’aider à avancer dans ce sens ?

Merci.

Hello,

Pas vraiment, il identifie chaque squeezebox.

Ce que j’imagine, c’est plutot une solution comme ce que j’ai mis en place expliqué plus haut, donc tes équipements sont cachés, puis au changement de valeur dans ton virtuel de liste, tu affiches celui correspondant a la liste.

Tu ne pourras pas faire changer dynamiquement la valeur du squeezebox id.

Merci @Dapolux pour tes conseils.
Je me suis fait une liste déroulante dans un html et j’ai utilisé du javacript pour show/hide les widgets en fonction de la valeur sélectionnée dans la liste.

Je suis en train de regarder ton scenario pour les favoris et je ne comprends pas d’où vient la variable.
Tu l’as déclarée en amont ? Elle est initialisée à quel moment ?

Merci

Elle est déclarée et amont, et changée lors d’un changement de valeur dans la liste.

@Dapolux nickel, ca marche bien.
Juste une info que j’ai pu observer. Lorsqu’on lit un favoris défini dans LMS, il n’est pas possible d’utiliser l’action pause.

Autre chose aussi, j’ai voulu ajouter les boutons ‹ repeat › et ‹ shuffle › mais j’ai pas l’impression que ca marche. Dans la classe squeeze_tools.class, je n’ai rien trouvé pour ces actions. Je voulais avoir confirmation que c’est pour cela que ca ne fonctionne pas.

Pour le repeat et le shuffle, je ne peux pas te dire, je ne les utilise pas. Mais dans tous les cas, tu peux toujours créer 2 commandes dans tes équipements coté tools (avec le nom que tu veux), commandes qui pointent sur la commande repeat et la commande shuffle de ton choix (en gros le repeat et le shuffle de la SB), puis dans l’html tu inclue les commandes.

Pour l’action pause, de mon coté cela fonctionne sans problèmes.

Bonsoir @Dapolux,

J’avance petit à petit grâce à ces informations et conseils.
Je coince actuellement sur l’action pour synchro.

Tu dis que tu appelles un scénario. Tu pourrais partager un screenshot ?
Dans ton virtual tu as défini comment l’appel vers le scenario pour l’action on/off ?

Merci d’avance.

Hello,

Pas d’appel depuis le virtual, j’ai un bouton on/off qui change une info du virtuel, et je met cette valeur en déclencheur du scenario.
Le virtuel:


Le déclencheur:
image
Le scenario:

salut

Super plugin, bravo @ZygOm4t1k !

Je vois tout de suite l’intérêt pour créer des widgets a partir de plusieurs équipements afin d’éviter de multiplier les virtuels comme pour l’hygrothermographe.

Par contre j’avoue que j’ai plus de mal a comprendre le concept de template: je m’attendais a pouvoir créer mes propres templates par extension de ceux du core avec des infos supplémentaires et ensuite de les instancier a la manière de l’outil widget du core
ex nouveau template cmd.info.numeric.tmplmultistate_custom => widgets température, luminosité, hygrométrie…

En fait je n’ai réussi qu’a les appliquer directement a une/des commandes comme avec le plugin pimp-jeedom de @Salvialf. Selon moi ca en réduit l’intérêt vu que le code doit à chaque fois être dupliqué…J’ai raté quelque chose?

Salut.

Pas tout compris.

Créer un seul template pour tout type de commande c’est ça? Et selon la commande tu ajoutes des infos spécifiques?

Oui c’est tout a fait ca. Un moyen de customiser les templates du core tout en limitant le code custom et en simplifiant la maintenance.
Par ex mes widgets numeric multistate ne diffèrent que par le nombre et le nom des images affichées et les seuils

Salut,

J’ai peut-être mal compris mais ça paraît réalisable avec l’outil widgets du core. Tu peux créer un template générique avec des tags puis personnaliser les commandes via des paramètres optionnels.

Un exemple ici:

Effectivement j’avais commencé comme ca mais impossible d’ajouter du code au template du core d’ou la nécessité de le réécrire. ex:

// code a paramétrer selon le widget (seuils, nombre de lignes, nom des images)
         	if (state < 10) 
                cmd.find('.iconCmd').html('<img src="'+ img0 +'" style="height:80%;width:80%;">');
            else if (state >=10 && state < 15) 
                cmd.find('.iconCmd').html('<img src="'+ img20 +'" style="height:80%;width:80%;">');
            else if (state >=15 && state < 20)
                cmd.find('.iconCmd').html('<img src="'+ img40 +'" style="height:80%;width:80%;">');
            else if ...
                cmd.find('.iconCmd').html('<img src="'+ imgError +'" style="height:80%;width:80%;">');          

// gestion du min-max - customisation du template core
            cmd.find('.value').css('color',getTextColor());
            var min = is_numeric('#min#')? parseFloat('#min#'): 0;
            var max = is_numeric('#max#')? parseFloat('#max#'): 0;
          
            if ((min != 0) && (state < min)) 
              cmd.find('.value').css('color','#00ffff');
            if ((max != 0) && (state > max))
              cmd.find('.value').css('color','#ff0000');	

Je pourrais tjs modifier le template par défaut du core mais ca n’est pas très propre.
J’ai essayé de dupliquer le template cmd.info.numeric.tmplmultistate dans le même répertoire mais l’outil widget par défaut ne le voit pas.

Est ce que je fais fausse route?

@ZygOm4t1k tu ne m’as pas répondu:
Est ce que le mode « template » correspond a la creation de widgets custom ou c’est moi qui n’ai pas compris la philosophie du truc?

Le plugin est autonome et ne dépend pas de la partie widget du core.

Tu crées un template qui se base sur « cmd.info.numeric.multistate » (dans la liste déroulante).

Tu dois uploader les images via le bouton icones.

Tu modifies le code comme tu le souhaites et tu assignes ce template à tes commandes.

Tu peux par exemple te baser sur le generic_type pour le nom des images (lumières , volets prises ,…)

Comme ça un seul template gère une grande partie des commandes

ok c’est bien ce que j’avais compris merci

Hello à tous,
ce plugin a l’air top mais je ne le trouve pas sur le market.
J’ai même affiché tous les plugins de @ZygOm4t1k mais « Tools » ne semble pas exister.
Est-il toujours d’actualité ?

Merci d’avance !
Seb

Bonjour,

Vous n’avez pas du lire les précédentes réponses…

Vous avez activé l’accès aux bêtas depuis votre compte Market ?
Vous avez Jeedom v4 ou + ?