Il faut écrire les méthodes suivantes dans ta class eqLogic:
celle-ci devrait être ok telle quel:
public static function dependancy_install() {
log::remove(__CLASS__.'_update');
return array('script' => dirname(__FILE__) . '/../../resources/install_#stype#.sh ' . jeedom::getTmpFolder(__CLASS__) . '/dependency', 'log' => log::getPathToLog(__CLASS__.'_update'));
}
dans la suivante, tu dois adapter le if sur les modules pour tester tout ce que tu installes:
public static function dependancy_info() {
$return = array();
$return['log'] = log::getPathToLog(__CLASS__.'_update');
$return['progress_file'] = jeedom::getTmpFolder(__CLASS__) . '/dependency';
if (file_exists(jeedom::getTmpFolder(__CLASS__) . '/dependency')) {
$return['state'] = 'in_progress';
} else {
if (exec(system::getCmdSudo() . system::get('cmd_check') . '-Ec "python3\-requests"') < 1) {
$return['state'] = 'nok';
} else {
$return['state'] = 'ok';
}
}
return $return;
}
exemple (attention, bien penser à adapter le nombre de ligne devant être retournée (< xxx):
if (exec(system::getCmdSudo() . system::get('cmd_check') . '-Ec "python3\-requests|python3\-setuptools"') < 2) {
$return['state'] = 'nok';
} elseif (exec(system::getCmdSudo() . 'pip3 list | grep -Ec "monotonic|sseclient|requests"') < 3) {
$return['state'] = 'nok';
} else {
$return['state'] = 'ok';
}