Si cela peut vous interesser j’ai une ptite fonction perso qui regarde tous les pugins a mettre à jour et renvoi un json contenant une la liste des plugins à mettre à jour (nom, version courante et nouvelle version)
Je l’utilise au travers d’un script qui s’excute tous les jours et qui m’envoi un etat de santé de mon jeedom …sous cette forme (la partie update des plugins est siuté dans la partie MAJ) :
public static function getUpdatesInfo($scenario) {
$response=array();
$start_time = microtime(true);
$updateResponse=array();
foreach(update::all() as $upd){
if ($upd->getStatus() != 'ok') {
array_push($updateResponse,array('name'=>$upd->getName(),'type'=>$upd->getType(),'currentVersion'=>$upd->getLocalVersion(),'newVersion'=>$upd->getRemoteVersion()));
}
}
$response=array('nbUpdate'=>update::nbNeedUpdate(),'updateList'=>$updateResponse);
return self::buildResponse(''.__FUNCTION__.'',(microtime(true) - $start_time),$response);
}
private static function buildResponse($function,$elapseTim,$response) {
return json_encode(array('operationName'=>$function,'elapseTime'=>$elapseTim ,'result'=>$response));
}
Sur si cela interesse je peux fournir les class custom de mes fonctions et le script a scheduler
le script ressemble à ça :
require_once dirname(__FILE__) . '/../../data/php/monitoring.function.class.php';
require_once dirname(__FILE__) . '/../../data/php/notification.function.class.php';
$message='';
$message = notificationFunction::writeLine('<b><u>'.'Etat de santé du Jeedom'.'</u></b>',true);
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildCommonTelegramMessage($scenario,monitoringFunction::getDependencies($scenario),'Dependances : ');
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildCommonTelegramMessage($scenario,monitoringFunction::getDaemon($scenario),'Démons : ');
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildTelegramUpdateInfo(monitoringFunction::getUpdatesInfo($scenario),'MAJ : ');
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildTelegramConnexionInfo(monitoringFunction::getConnexionInfo($scenario), 'Connexion info : ','30');
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildTelegramBatteriesInfo($scenario,monitoringFunction::getBatteryInfo($scenario),'Batteries info :',30);
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildTelegramJeedomHealth($scenario,monitoringFunction::getJeedomHealth($scenario),'Santé :');
$message .= notificationFunction::writeLine("\n",true);
$message .= notificationFunction::buildTelegramBackupOK($scenario,monitoringFunction::isBackupOK($scenario,date('Y-m-d')), 'Dernier backup : ');
//to do last communication with array of equipment name
notificationFunction::sendTelegramMessage($scenario,'christophe',NULL,NULL,$message);
Personnellement je préfère maitriser mes MAJ … mais il est tout a fait possible de faire la maj automatiquement lorsqu’une nouvelle version est dispo
@chris94440