Récupération d'une valeur "info/numérique" dans un widget pour comparaison

Bonjour,
Je souhaite récupérer la valeur d’une info/numérique via son « ID », dans un widget script, pour pouvoir y faire une comparaison.
seulement cette comparaison n’est jamais vraie.

var val100 = is_numeric(‹ #val100# ›) ? parseFloat(‹ #val100# ›):0;
var maValeur = parseFloat($(‹ .cmd[data-cmd_id=#val100#] ›).value());
if (_options.display_value == ‹ 1 ›) {
cmd.attr(‹ data-state ›,‹ on ›)
if (val100 != 0 && maValeur == 100)

Pour info:
var ‹ val100 › , est l’ID de la ‹ commande/info/numérique › que je veux récupérer.
var ‹ maValeur › , est la valeur de l’info ci-dessus.

la comparaison ‹ maValeur == 100 › n’est jamais vraie, alors que la valeur de la commande info est ‹ 100 ›.

le but de cette modif, est d’avoir 3 états sur un widget 'data-type=« info » data-subtype=« binary » ’

j’ai éssayé enormément de syntaxes, mais rien y fait, je dois passer à coté de quelque chose, mais quoi ?

retour console :

var val100 = is_numeric(‹ 2013 ›) ? parseFloat(‹ 2013 ›):0;
var maValeur = parseFloat($(‹ .cmd[data-cmd_id=2013] ›).value());
if (_options.display_value == ‹ 1 ›) {
cmd.attr(‹ data-state ›,‹ on ›)
if (val100 != 0 && maValeur == 100) {

D’avance merci pour vos retours.

Bonjour,

Alors c’est pas comme ceci qu’il faut procéder, car actuellement tu essaie de récupérer la valeur par un selector, ce qui oblige d’avoir la commande info numérique d’affiché sur la même page, et quelle soit chargé avant ce widget de comparaison.

Il faut utiliser jeedom.cmd.execute pour récupérer la valeur :

var maValeur = false

if(is_numeric('#val100#')){
  jeedom.cmd.execute({
    id : '#val100#',
    async: false,
    noCache: true,
    error: function(error) {
      console.log('| | ERREUR jeedom.cmd.execute(val100) !!!')
    },
    success: function (value) {
      console.log('value  = ' + value)
      maValeur = value
    }
})

if (_options.display_value == '1') {
  cmd.attr('data-state','on')
  if (maValeur == 100) {
    ...

Bonjour @Phpvarious ,

Encore merci pour ton retour, ta solution a fonctionnée à merveille.
(petit détail, il manquait juste une accolade a la fin) .

Je vois que tu a ajouté « console.log », pour la remontée de la valeur dans la console « F12 ».

Je voudrais que cette valeur remonte dans les logs de jeedom, partie ‹ event ›

je t’avoue que sur ce sujet, j’ai aussi cherché (essai avec ‹ jeedom.log ›, ‹ log::add ›),

mais, n’étant pas programmeur, je ne dois pas utiliser les bon mots clé pour mes recherches.

Hello,

j’avais écrit rapidos sans tester :wink:

Alors je sais pas si c’est possible d’ajouter des lignes dans un log avec un widget, mais dans tous les cas c’est a mon avis une mauvaise idée. Quelle serait l’intérêt ?
Sachant que le js du widget n’est executé que si tu l’affiche, un console.log devrait être suffisant.

Bon pour moi c’est OK,

Je laisse comme ça, au final ca me va très bien, je mets en résolu.

et encore merci pour ton aide :+1:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.