Bonjour à tous,
Je viens juste de passer au core V4, je trouve dommage que pour les widgets « code » la liste des commandes liées n’apparait pas comme pour widgets classiques.
Pour ceux que ça intéresse, j’ai écrit un scénario en PHP pour réaliser cette tâche:
custom_list($scenario, 'dashboard');
custom_list($scenario, 'mobile');
function custom_list($scenario, $dashMob)
{
$rootPath = __DIR__ . '/../../data/customTemplates/' . $dashMob;
$scenario->setLog('');
$scenario->setLog('');
$scenario->setLog('');
$scenario->setLog('###################################');
$scenario->setLog(' widgets custom ' . $dashMob);
$scenario->setLog('###################################');
$scenario->setLog('');
$files = scandir($rootPath);
foreach($files as $file) {
if(is_file($rootPath.'/'.$file)&&(preg_match("/\.html$/i", $file))) {
$scenario->setLog('');
$scenario->setLog($file .":");
list($cmd, $type, $subType, $template) = explode('.', $file);
$count = 0;
foreach(cmd::all() as $cmd) {
list($origin,$cmdTemplate)=explode('::',$cmd->gettemplate($dashMob));
if (($origin=='customtemp') && ($cmdTemplate==$template) && ($cmd->gettype()==$type) && ($cmd->getsubType()==$subType)) {
$scenario->setLog('Id:' . $cmd->getId() . ' ' . $cmd->getHumanName());
$count++;
}
}
$scenario->setLog('Total: '. $count);
}
}
}
Pour l’utiliser il faut ajouter un bloc « code » à un scénario, lancer le scénario et récupérer les infos dans le log.
Merci @ajja17orange pour l’inspiration https://community.jeedom.com/t/widget-listing-utlisation/7217/12