Commande action avec liste de paramètres/options ?

Bonjour,

Dans le but de rendre disponible certaines de mes commandes de manières flexible dans un scénario par exemple (à la demande de certains utilisateur), je suis à la recherche d’un exemple de code/plugin ayant le fonctionnement suivant.

Entre gros, je souhaite faire une commande avec en paramètre une liste déroulante proposant plusieurs choix pour la commande.
Il faudrait que cette même commande puisse être utilisée dans un scénario avec cette même liste déroulante proposant les différentes valeurs.

Par exemple ma commande serait « luminosité » avec 5 valeurs au choix dans la liste : 0% 25% 50% 75% et 100%.

Merci d’avance pour votre aide :slight_smile:

J’utilise un select sur mon plugin Qivivo, çà marche bien en scénario

                $qivivoCmd->setType('action');
                $qivivoCmd->setSubType('select');
                $qivivoCmd->setConfiguration('listValue','5|Arrêt;6|Hors-Gel;4|Eco;8|Confort -2;7|Confort -1;3|Confort');

Cà peu aussi être dynamique

            $programs = $this->getConfiguration('programs');
            if (count($programs) == 0)
            {
                $listValue = '0|Aucun programme;';
            }
            else
            {
                $listValue = '';
                foreach ($programs as $program)
                {
                    $pName = $program['name'];
                    $listValue .= $pName.'|'.$pName.';';
                }
            }
            $qivivoCmd->setConfiguration('listValue', $listValue);

Je suis partie sur une version ressemblant à ton premier exemple, à part que ma liste est sous la forme d’un array. Par contre après un premier test, dans un scénario, la liste déroulante n’apparait pas.

Il y a autre chose à mettre en place pour que cela soit pris en compte dans un scénarios ?

ton setConfiguration doit etre une string, un array join ou autre ? faut le formater correctement

Je le construis comme cela :

$listValue = array('100%' => '100', '75%' => '75', '50%'=>'050', '25%'=>'025', '0%'=>'000');
$cmd->setConfiguration('listValue', $listValue);

Dans mon fichier js, je récupère bien mes valeurs pour afficher une dropdown dans la configuration de la commande, mais rien côté scénario :frowning:

le scénario va gérer le format tel que décrit par kiboost, pas un autre; donc l’array il ne sait qu’en faire et n’affiche rien.
En passant, ca sera pareil dans l’écran des commandes, bref « listValue » est une config « standard » de Jeedom qui doit respecter la convention pour le formatage.

edit: et c’est un string car un utilisateur est libre dans beaucoup de plugin (notamment virtuel) de créer ses propres select avec valeurs, hors ca serait difficile pour lui de créer un array :wink:

Ok je comprend mieux ! En effet une fois ma listValue mise sous la forme ci dessous, je vois bien apparaitre la liste côté scénario (je n’affiche quasi rien côté équipement, mais c’est voulu) :

$listValue ='000|0%;025|25%;050|50%;075|75%;100|100%';