j’ai trouvé, je partage pour ceux qui seraient intéressés :
Créer un équipement script
Relever l’id de l’équipement créé, ici 1054
Editer le fichier /var/www/html/plugins/script/core/class/script.class.php
Trouver la fonction public function postSave() { },
a la fin de la fonction, avant le dernier }, insérer votre code tel celui ci-dessous :
j’ai prévu un test sur l’object id pour eviter de creer ces commandes dans d’autres equipements script.
voila, il suffit d’ouvrir l’equipement en mode configuration, de sauver la config et les commandes sont générées automatiquement.
if ($this->getId()==1054) {
for ($x = 1; $x <= 24; $x++) {
$pre='';
if ($x < 10) {$pre='0';};
$info1 = $this->getCmd(null, 'pethPsePortAdminEnable_'.$pre.$x);
if (!is_object($info1)) {
$info1 = new scriptCmd();
$info1->setName(__('pethPsePortAdminEnable_'.$pre.$x, __FILE__));
}
$info1->setLogicalId('pethPsePortAdminEnable_'.$pre.$x);
$info1->setEqLogic_id($this->getId());
$info1->setType('info');
$info1->setSubType('numeric');
$info1->setConfiguration('request', "snmpget -v 2c -O vU -c private 192.168.0.4 .1.3.6.1.2.1.105.1.1.1.3.1.". $x . " | tr -dc '0-9'");
$info1->setConfiguration('requestType', 'script');
$info1->setDisplay('generic_type', 'ENERGY_STATE');
$info1->setDisplay('showNameOndashboard',0);
$info1->setIsVisible(1);
$info1->setOrder($x);
if ($x == 1) {$info1->setDisplay('forceReturnLineBefore','1');};
if ($x == 24) {$info1->setDisplay('forceReturnLineAfter','1');};
$info1->save();