Récupérer les info d'une commande en JS / error Ajax Commande inconnue

Bonjour à tous,

Dans la configuration d’une commande, je récupère le humanName d’une autre commande,
par js via l’appel à jeedom.cmd.getSelectModal

dans le html :

<input class="cmdAttr form-control CTA-cmd-el" data-l1key="configuration" data-l2key="sendCmd"/>

que je valorise par du js :


$(".cmdSendSel").on('click', function () {
   
     var el = $(this);
     jeedom.cmd.getSelectModal(null, function(result) {
       var calcul = el.closest('div').find('.cmdAttr[data-l1key=configuration][data-l2key=sendCmd]');//input à valoriser
       calcul.val('');// vide les précédentes valeurs
       calcul.atCaret('insert', result.human);
       makeDestinationSelection(el,result.cmd.type);//une fonction pour afficher ou masquer selon la selection
     })
});

plus loin, dans le traitement d’autres event sur d’autres items je souhaiterai vérifier le type de commande (action ou info), J’ai tenté d’utiliser jeedom.cmd.byHumanName :

var idCmd=String(elType.find('.CTA-cmd-el').val().replace(new RegExp('#', 'g'),''));// pour récup la valeur de l'input valoriser au dessus
    console.log("type sel rep: "+idCmd);
    var cmdSend = jeedom.cmd.byHumanName({
			humanName: idCmd,
			success:  function(result) {
                          console.log("res : "+JSON.stringify(result));
    		          },
			error:function(err){
			      console.log("error : "+JSON.stringify(err));
			      }
	});
    console.log('res after : '+JSON.stringify(cmdSend));

elType représentant le tr de la table en cours, je pointe bien vers le bon selecteur

dans ma console je retrouve :

type sel rep: [PIece][test Virtuel][cmd1]  // c'est bon

res after : undefined

error : {"type":"PHP","message":"<span id=\"span_errorMessage\">Commande inconnue : [PIece][test Virtuel][cmd1]</span>","code":9999}

j’ai testé avec ou sans le replace des #
sachant que la commande existe bien, c’est une commande de virtuel dans cet exemple, mais tester avec qques autres équipement, en info ou action.

j’ai donc un erreur sur l’appel ajax,

quoi qu’est ce donc que je ne fais de pas bien?

bonjour pour moi de se que je comprend un appel dans un appel

tu as l’info ou action = type

1 « J'aime »

Salut Ajja,

Merci pour les info,
je creuse bcp le github du core pour avoir les infos également!
Dans le code de jeedom.cmd.byHumanName, le paramètre requis est humanName, puis il y a un appel ajax du core.

Je ne sais pas expliquer, probablement pas les yeux en face des trous, mais en conservant les #, ça fonctionne ce matin…

var idCmd=elType.find('.CTA-cmd-el').val();//.replace(new RegExp('#', 'g'),''));
    console.log("type sel rep:"+idCmd);
    if(idCmd=='')return;
    var cmdSend = jeedom.cmd.byHumanName({
			humanName: idCmd,
			success:  function(result) {
        console.log("res : "+JSON.stringify(result));
    		},
      error:function(err){
        console.log("error :"+JSON.stringify(err));
      }
		});
    console.log('res after :'+JSON.stringify(cmdSend));
  }

me sort bien :

res : {"id":"144","logicalId":"currentColor","generic_type":null,"eqType":"ColorTransition","name":"Couleur courante","order":"1","type":"info","subType":"string","eqLogic_id":"23","isHistorized":"0","unite":"","configuration":[],"template":{"dashboard":"ColorTransition::colorText","mobile":"ColorTransition::colorText"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0,"invertBinary":"0"},"value":"","isVisible":"1","alert":[]}

:face_with_monocle: :expressionless: :roll_eyes:

1 « J'aime »

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