Affichage d'un mot au lieu d'une valeur
Affichage d'un mot au lieu d'une valeur
Bonjour à tous,
Je souhaite afficher l’état de ma chaudière (que je reçois sous forme de valeur) sous forme de texte.
Exemple :
8 = auto
36 = Jour
34 = Nuit
33 = Vacances
Malgré mes recherches, je n'ai pas trouvé la solution, je pense que c'est réalisable directement dans un virtuel ou bien avec un Widget, mais je n'y arrive pas.
Merci d'avance
Je souhaite afficher l’état de ma chaudière (que je reçois sous forme de valeur) sous forme de texte.
Exemple :
8 = auto
36 = Jour
34 = Nuit
33 = Vacances
Malgré mes recherches, je n'ai pas trouvé la solution, je pense que c'est réalisable directement dans un virtuel ou bien avec un Widget, mais je n'y arrive pas.
Merci d'avance
Re: Affichage d'un mot au lieu d'une valeur
Bonsoir,
si tu as déjà ton virtuel avec ton info de type numérique :
- tu vas dans les options de cette commande
- dans l'onglet Affichage tu sélectionnes le widget "badge (core)" puis tu enregistres
- dans l'onglet code, dans dashboard par exemple, tu coches "Activer la personnalisation du widget"
- dans le bloc de code tu remplaces
par quelque chose comme ça :
Tu peux aussi dupliquer ce widget dans le plugin widget et faire les mêmes modifs...
ken@vo
Phil
Edit : erreur de copier/coller
si tu as déjà ton virtuel avec ton info de type numérique :
- tu vas dans les options de cette commande
- dans l'onglet Affichage tu sélectionnes le widget "badge (core)" puis tu enregistres
- dans l'onglet code, dans dashboard par exemple, tu coches "Activer la personnalisation du widget"
- dans le bloc de code tu remplaces
Code : Tout sélectionner
$('.cmd[data-cmd_id=#id#] .state').empty().append(_options.display_value +' #unite#');
Code : Tout sélectionner
var val = _options.display_value;
var valaff = "";
switch(val)
{
case '8':
case 8:
valaff = "auto";
break;
case '36':
case 36:
valaff = "nuit";
break;
default:
valaff = "????";
break;
}
$('.cmd[data-cmd_id=#id#] .state').empty().append(valaff );
ken@vo
Phil
Edit : erreur de copier/coller
Box : Jeedom Maitre dans VM Esxi NUC intel i5, Jeedom Esclave RPI2 avec Zwave, Rfxcom, Blink1, EDISIO et TTS + VM Zoneminder
Protocoles : Zwave, X10, DI-O, HUE, EDISIO
Teleinfo (Dauguet rs232 mise en réseau avec une arduino mega)
Protocoles : Zwave, X10, DI-O, HUE, EDISIO
Teleinfo (Dauguet rs232 mise en réseau avec une arduino mega)
Re: Affichage d'un mot au lieu d'une valeur
Phil56, bonne nouvelle, ça fonctionne a merveille.
Merci encore pour cette solution
Merci encore pour cette solution
-
- Timide
- Messages : 16
- Inscription : 29 déc. 2018, 12:45
Re: Affichage d'un mot au lieu d'une valeur
Bonjour à tous,
Je déterre ce topic, parce que je voudrais faire exactement la même chose, a savoir afficher un texte en fonction d'une valeur d'info numérique.
Ex :
0=Volets fermés
1=Volets ouverts
2=Mouvement arrêté
3=En cours d'ouverture
4=En cours de fermeture
Malheureusement la solution proposée ici qui me semblait convenir n'est plus réalisable (Ou je ne sais pas comment) car depuis la version 3.2.24 l'onglet code n'existe plus...
Y a-t-il une autre solution ? Mon besoin me semble pourtant assez classique, mais je n'ai trouvé aucune solution fonctionnelle pour le moment.
Merci d'avance
Je déterre ce topic, parce que je voudrais faire exactement la même chose, a savoir afficher un texte en fonction d'une valeur d'info numérique.
Ex :
0=Volets fermés
1=Volets ouverts
2=Mouvement arrêté
3=En cours d'ouverture
4=En cours de fermeture
Malheureusement la solution proposée ici qui me semblait convenir n'est plus réalisable (Ou je ne sais pas comment) car depuis la version 3.2.24 l'onglet code n'existe plus...
Y a-t-il une autre solution ? Mon besoin me semble pourtant assez classique, mais je n'ai trouvé aucune solution fonctionnelle pour le moment.
Merci d'avance
Re: Affichage d'un mot au lieu d'une valeur
Bonjour
Pour un novice
tu crees un scénarios
-- si état == 0 variable volet / valeurs fermés
-- si ....
Et tu crées un virtuel qui affiche cette variable
La solution du sujet est la création d'un widget
Pour un novice
tu crees un scénarios
-- si état == 0 variable volet / valeurs fermés
-- si ....
Et tu crées un virtuel qui affiche cette variable
La solution du sujet est la création d'un widget
-
- Timide
- Messages : 16
- Inscription : 29 déc. 2018, 12:45
Re: Affichage d'un mot au lieu d'une valeur
Bonjour Winhex, et merci pour la réponse.
Peux-tu me dire comment on crée un widget de ce type ? J'ai essayer d'en créer un, mais je n'arrive pas bien a comprendre comment ça marche.
Je vais essayer la solution du scénario en attendant.
C'est dommage que l'on ne puisse pas faire ça facilement, je pense ne pas être le seul à qui cette fonction manque.
En tous cas, merci encore !!
Peux-tu me dire comment on crée un widget de ce type ? J'ai essayer d'en créer un, mais je n'arrive pas bien a comprendre comment ça marche.
Je vais essayer la solution du scénario en attendant.
C'est dommage que l'on ne puisse pas faire ça facilement, je pense ne pas être le seul à qui cette fonction manque.
En tous cas, merci encore !!
Re: Affichage d'un mot au lieu d'une valeur
inspire toi des widgets core
https://github.com/jeedom/core/tree/mas ... /dashboard
genre : cmd.info.numeric.shutter.html
rapidement crée un virtuel pour ne pas foutre le bazar et une fois fonctionnel tu appliques ton widget
supprime la #name_display# si tu ne veux pas afficher le nom ou utilise la fonction avancée (si tu veux l'utilisé pour autre chose)
nom : hideCmdName
valeur : display:none; (pas d'espace avant ni aprés)
le code brute que tu peux peaufiné à ta sauce
c'etait un vieux numérique de test qui change de couleur selon la valeur
j'ai ajouté empty et text (du jquery) et commenté // .append
la class en html
<strong class="state#id#" (c'est le style qui suit la mise en forme "font-size: 12px")
le moteur script
if (_options.display_value == 0 ) {
$(".state#id#").css('color', '#6699ff').empty().text("Volets fermés");
}
la ligne
$(".state#id#").css('color', '');
efface la couleur lors de la mise à jour
tu n'as plus qu'a continué les else if
https://github.com/jeedom/core/tree/mas ... /dashboard
genre : cmd.info.numeric.shutter.html
rapidement crée un virtuel pour ne pas foutre le bazar et une fois fonctionnel tu appliques ton widget
supprime la #name_display# si tu ne veux pas afficher le nom ou utilise la fonction avancée (si tu veux l'utilisé pour autre chose)
nom : hideCmdName
valeur : display:none; (pas d'espace avant ni aprés)
le code brute que tu peux peaufiné à ta sauce
c'etait un vieux numérique de test qui change de couleur selon la valeur
j'ai ajouté empty et text (du jquery) et commenté // .append
la class en html
<strong class="state#id#" (c'est le style qui suit la mise en forme "font-size: 12px")
le moteur script
if (_options.display_value == 0 ) {
$(".state#id#").css('color', '#6699ff').empty().text("Volets fermés");
}
la ligne
$(".state#id#").css('color', '');
efface la couleur lors de la mise à jour
tu n'as plus qu'a continué les else if
Code : Tout sélectionner
<div class="tooltips cmd cmd-widget #history#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" style="display: block;">
<center><span style="font-size : 12px !important;#hideCmdName#" class="cmdName">#name_display#</span> <strong class="state#id#" style="font-size: 12px;"></strong> #unite#</center>
<script>
jeedom.cmd.update['#id#'] = function(_options){
$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate)
//
// $('.cmd[data-cmd_id=#id#] .state#id#').empty().append(_options.display_value);
$(".state#id#").css('color', '');
if (_options.display_value == 0 ) {
$(".state#id#").css('color', '#6699ff').empty().text("Volets fermés");
}else if (_options.display_value == 1 ) {
$(".state#id#").css('color', 'red').empty().text("Volets ouverts");
}
//
$('.cmd[data-cmd_id=#id#]').removeClass('label label-warning label-danger')
if(_options.alertLevel == 'warning'){
$('.cmd[data-cmd_id=#id#]').addClass('label label-warning');
}else if(_options.alertLevel == 'danger'){
$('.cmd[data-cmd_id=#id#]').addClass('label label-danger');
}
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
- Pièces jointes
-
- config.png (95.05 Kio) Consulté 2039 fois
-
- Timide
- Messages : 16
- Inscription : 29 déc. 2018, 12:45
Re: Affichage d'un mot au lieu d'une valeur
Salut Winhex,
Merci beaucoup d'avoir pris le temps de me répondre avec une réponse d'aussi bonne qualité !!!
Je vais essayer ça tout de suite.
Merci beaucoup d'avoir pris le temps de me répondre avec une réponse d'aussi bonne qualité !!!
Je vais essayer ça tout de suite.
-
- Timide
- Messages : 16
- Inscription : 29 déc. 2018, 12:45
Re: Affichage d'un mot au lieu d'une valeur
Re,
Je viens de tester, ça marche nickel !
Encore merci
Je viens de tester, ça marche nickel !
Encore merci
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité