Widget helper - need help on jeedom.cmd

Slt la communauté
Confinement oblige je me suis donné une ptite mission … créer un widget pour la gestions des ampoules … tout va bien jusqu’au moment ou il faut interargir avec des commandes d’équipements … :frowning:
Pour le moment le widget ressemble à cela … mais il est loin d’être terminé … :slight_smile:
image
Un slider pour la luminosité et un pour la température … une image qui affiche le pourcentage de luminosité et un bouton en haut à droite qui allume ou éteinds l’ampoule … bref rien d’original …
Je vous rassure les couleurs de fonds sont juste la pour m’assurer de la position / taille de mes différents éléments html … ils disparaitront … :slight_smile:
Pour le moment je suis capable de :

  • recuperer la valeur d’une commande par jeedom.cmd.execute({ id: « 621 », success: function(valeur_courante) { …
  • modifier la valeur d’un curseur : jeedom.cmd.execute({id :idLum, value : {slider : valeur}}) …
    Et c’est à peu près tout … je souhaiterais par exemple récupérer la valeur min et max d’un slider … mais toutes mes tentatives ont échouées … existe-il un glossaire des fonctions jeedom.cmd.[execute, update, etc …]
    J’ai parcouru cette aide https://github.com/jeedom/core/blob/V4-stable/docs/fr_FR/widgets.md mais sans grands résultats …comme sur le forum d’ailleurs … mais là je pense que je n’ai pas tapé les bons mots dans le moteur de recherche … :frowning: … du coup j’implore votre aide … :innocent:
    chris94440

Bonjour
Regarde le code des widget core récupérer le min/max on le fait pas mal.

Slt Loic
A travers de ces exemples https://github.com/jeedom/core/tree/V4-stable/core/template/dashboard...ou directement dans mon infra jeedom ?

Le git est très bien c’est le même code que sur ton jeedom de toute façon

Ok je ais regarder de nouveau mais j’avais pas trouvé… enfin certainement pas compris … j’ai bien trouvé qq chose comme cela mais j’ai pas testé
$(".cmd[data-cmd_id=#id#] .slider").slider({
min: (’#minValue#’ == ‹  ›) ? 0 : parseInt(’#minValue#’),
max: (’#maxValue#’ == ‹  ›) ? 100 : parseInt(’#maxValue#’),
value: (’#state#’ == ‹  ›) ? 0 : parseInt(_options.display_value),
slide: function(event, ui) {
$(".value#uid#").show()
$(".value#uid#").html(ui.value);
}
})
Je m’attendais plus a trouver un truc du genre jeedom.cmd.execute({id:monIdEquipement,minValue…:smile:
Mais je vais essayer

j’avoue j’ai beau chercher … je sèche là …:frowning:

petite précision c’est le slider d’une commande d’un autre équipement que je référence en tant que paramètre optionnel de mon widget …

Tu ne peux pas spécifier « en dur » un équipement dans le widget, il faut regrouper tous les équipements ( typiquement dans un virtuel ) et le widget utilise toutes les valeurs, min et max, de ce seul virtuel.

Ok merci je vais essayer cela

Donc si j’ai bien compris j’ajoute à mon virtuel les équipements que je veux manager dans mon widget … a chaque équipement je dois affecter le widget ou seulement un suffit ? … si je dois l’affecter a chacun des équipement comment typé mon widget car les équipements ne sont pas du meme type …


Je veux gérer 2 slider … luminosité et température … comment je les différencie dans le code du widget
J’arrive à récupérer les infos sur un équipement dans le widget mais comment faire pour plusieurs …
var cmd = $(‹ .cmd[data-cmd_uid=#uid#] ›)
var position = _options.display_value
var minValue = (‹ #minValue# › == ‹  ›) ? 0 : parseInt(‹ #minValue# ›)
var maxValue = (‹ #maxValue# › == ‹  ›) ? 0 : parseInt(‹ #maxValue# ›)
var state = (‹ #state# › == ‹  ›) ? 0 : parseInt(‹ #state# ›)
alert("Minimum value : " + minValue);
alert("Max value : " + maxValue);
alert("Value : " + state);

dsl pour mes questions qui peuvent paraître stupide mais je cherche depuis un moment mais je trouve pas…

Le code de ce widget devrait m’aider

cmd.info.numeric.HygroThermographe.html

Bon j’ai bien avancé sur ce widget … même si il reste encore pas mal d’optimisation à faire … mais cela donne pour le moment ça … et tout est fonctionnel … température, lumière et bouton on/off sur l’image
image
… et tout est fonctionnel … température, lumière et bouton on/off sur l’image … il me reste l’intégration de la gestion de la couleur … mais pour le moment pas d’apoule de couleur alors je patiente …
Du coup j’ai basculé sur un autre widget … gestion des VR et ouvrants … basé sur le travaille de Christophe Molina …
image … n’ayant pas de retour d’info sur mes VR je voulais gérer l’état du VR au travers de la valeur d’une commande virtuel … mais je n’arrive pas à MAJ la valeur d’une commande … j’ai essayé plein de choses mais rien n’y fait … j’imagine que cela est possible …
jeedom.cmd.execute({id :idcmd, value : « aValue »}});
jeedom.cmd.execute({id :idcmd, value : {value: « aValue »}});
jeedom.cmd.execute({id :idcmd, value : {« aValue »}});
Et d’autres … :frowning:
En cette période de confinement une bonne ame ne passerait elle pas par ici ??? :slight_smile:

3 « J'aime »

J"aime bien ce widget « lampe »
si il est en V4 est-il possible de le partager ?

merci

Bonjour @jolyp
Avec plaisir je te fais cela dans la semaine.
Il existe aussi avec la gestion de la couleur … tu le voudras aussi ?
image
Chris94440

Salut,

J’aimerais bien aussi ton widget lampe en V4 parce que je trouve que le réglage par slider de la luminosité n’est pas bien pratique avec l’outil de base. C’est vraiment difficile/impossible de faire ça au doit en voyant en même temps le pourcentage que l’on veut.

Ok je te donne cela dans la semaine

Salut,

Je serais aussi intéressé par ton widget, celui de base n’est pas utilisable sur mobile.
J’ai quelques philips Hue, donc volontiers celui avec la couleur.
Merci pour ton travail.

Damien

Je continue dans ce post là mais si je dois en créer un spécifique merci de me le préciser … je le ferais … :slight_smile:
Widget slider lampe :
Source : cmd.action.slider.wLightv2.txt (12,6 Ko)
Modifier l’extension txt en html et à copier dans le répertoire des widgets …
image
Pour l’utiliser il faut créer un virtuel avec les commandes suivantes :

  • une commande info (lightValue) qui contient les valeurs suivantes
    statut de la lampe (allumé ou eteind),etat luminosite, etat température, notion de lampe accessible ou non (expliqué un peu plus loin)

Ce qui donne quand on test la commande :

  • un commande slider (light)qui permet de piloter la luminosité de l’équipement
    * lié à la commande info créer juste avant (lightValue)
    * avec le min et le max de la luminosité défini

Screen shot de l’équipement crée :
image

Configuration de la commande light :

  • appliquer le wigdet crée précedemment

    Ajouter les paramètres nécessaires au fonctionnement :
  • image : non de l’image a utilisé (image doit se trouver dans data/img/Bandeau/Eclairage/
  • ON : id commande on de l’équipement
  • OFF : id commande off de l’équipement
  • label : pas obligatoire, permet d’afficher le nom choisit pour l’équipement
  • minTemp : valeur minimal de température de la couleur
  • maxTemps : valeur maximal de température de la couleur
  • sliderTemp : id commande curseur température de l’équipement
  • debug : pas obligatoire mais recommandé pour voir les traces dans la console du navigateur

Source des images : Eclairage.txt (493,5 Ko)
A renommer en .ZIP et a extraire dans data/img/Bandeau/
Visuel du virtuel une fois tout appliqué :
image

Le widget utilisant des librairies javascript il faut ajouter (après avoir modifier l’extension en ZIP) scripts.txt (109,3 Ko) dans html/data/CustomTemplates/dashboard/scripts

Je ne suis plus certains mais une modification du fichier .htaccess est nécessaire pour autoriser l’utilisation des extension JS … html/data/customeTemplates/dashboard/.htaccess (à faire avec putty ou autre terminal)

En espérant ne rien avoir oublié … soyez indulgeant je ne maîtrise pas la partie front … :slight_smile:

Widget light and color :
Exactement la même démarche que précédemment.
Source : cmd.action.slider.WLightAndColorV3.txt (10,8 Ko)

Pour l’utiliser il faut créer un virtuel avec les commandes suivantes :

  • une commande info (lightValue) qui contient les valeurs suivantes
    statut de la lampe (allumé ou eteind),etat luminosite, etat température, etat couleur

Ce qui donne quand on test la commande :

  • une commande slider (light)qui permet de piloter la luminosité de l’équipement
    * lié à la commande info créer juste avant (lightValue)
    * avec le min et le max de la luminosité défini
    * affectez le widget WLightAndColorV3 avec les paramètres suivants :

  • image : non de l’image a utilisé (image doit se trouver dans data/img/Bandeau/Eclairage/
  • ON : id commande on de l’équipement
  • OFF : id commande off de l’équipement
  • label : pas obligatoire, permet d’afficher le nom choisit pour l’équipement
  • couleur : id du slider de couleur de l’équipement
  • debug : pas obligatoire mais recommandé pour voir les traces dans la console du navigateur

J’ai juste zappé la notion de lampe accessible ou non … je récupère cette notion car certaines lampe sont derriere le micromodule legrand zigbee ou directement sur un interrupteur qui peut etre fermé … du coup toute action sur la lampe ne pourra fonctionner tant qu’elle ne sera pas alimenté … le plugin deconz permet de récupérer cette notion de ‹ ‹ reachable › › pour en bénéficier vous pouvez ajouter une commande de type info/binaire à votre équipement dans le plugin deConz … cf copie écran :

Hésitez pas à revenir vers moi pour me dire si tout est ok pour vous, si le code mérite des améliorations (j’en suis certains … :-)), si il y a des bugs … fort probable :slight_smile: … ou si vous voyez des améliorations.

@ votre écoute chris94440