Bonjour à Tous,
Je découvre MQTT, mosquitto (version 1.5.7) installé le RPI a coté de jeedom (v 4.0.61), j’utilise le plugin jmqtt (v 3.3.19).
J’ai un esp qui tourne avec Wled, paramétré avec le broker que jeedom utilise.
=> Tout est ok et remonte bien, je suis capable de commander l’esp avec l’API mqtt implémenté ds wled.
je voudrais avoir une liste déroulante pour sélectionner un preset sur l’esp.
Avec la création d’une commande type slider, pas de pb :
le log me retourne bien :
[INFO] : ← wled|wled/fe1634/api PL=12
Mais quand je veux mettre en place une liste déroulante :
plusieurs problèmes :
1/ en mettant dans les options :
pas moyen d’avoir le widget par défaut qui créé les options de la balise select.
J’ai contourné avec un widget code détourner de celui du core
Code widget
<div class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="select" data-template="default" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<div class="title #hide_name#">
<div class="cmdName">#name_display#</div>
</div>
<div class="content-xs">
<select class="selectCmd">#listValue#</select>
</div>
<script>
$(".cmd[data-cmd_uid=#uid#] .selectCmd").on('change', function () {
jeedom.cmd.execute({id: '#id#', value: {select: $(this).value()}});
});
$( document ).ready(function() {
var str = "#listValue#";
var elts = str.split(";");
var sel = $(".cmd[data-cmd_uid=#uid#] .selectCmd");
sel.empty();
elts.forEach(function(element){
var el = element.split("|");
sel.append('<option value="'+el[0]+'">'+el[1]+'</option>');
});
});
</script>
</div>
2/ Comment récupérer la valeur sélectionnée?? quel tag faut il mettre dans la « Valeur »??
Pour un curseur => #slider#, pour une couleur => #color#, mais pour une liste??
J’ai tenté #value#, #select#, #selected#, #list#, #option#, …
la commande est lancée par :
jeedom.cmd.execute({id: '#id#', value: {select: $(this).value()}});
un log dans la console me retourne bien la bonne valeur de l’option,
mais la commande dans les log me retourne :
[INFO] : ← wled|wled/fe1634/api PL=#option#
ou tout autre tag essayé.
Je n’ai pas réussi à trouver dans la doc le bon tag, les sujets pointent généralement vers l’utilisation de liste dans les virtuels.
Merci
BB