function openzwave_update() { if (openzwave::deamonRunning()) { echo 'Stop zwave network...'; openzwave::stopDeamon(); echo "OK\n"; } echo 'Stop cron...'; $cron = cron::byClassAndFunction('openzwave', 'pull'); if (config::byKey('jeeNetwork::mode') != 'slave') { if (!is_object($cron)) { $cron = new cron(); } $cron->setClass('openzwave'); $cron->setFunction('pull'); $cron->setEnable(1); $cron->setDeamon(1); $cron->setDeamonSleepTime(0.5); $cron->setTimeout(1440); $cron->setSchedule('* * * * *'); $cron->save(); $cron->stop(); } else { if (is_object($cron)) { $cron->remove(); } } echo "OK\n"; echo 'Check zwave system...'; if (count(eqLogic::byType('zwave')) > 0) { log::add('openzwave', 'error', 'Attention vous etes sur la nouvelle version d\'openzwave, des actions de votre part sont necessaire merci d\'aller voir https://jeedom.fr/blog/?p=1576'); } if (config::byKey('port', 'openzwave', 'none') != 'none') { if (method_exists('openzwave', 'getVersion')) { if (version_compare(config::byKey('openzwave_version', 'openzwave'), openzwave::getVersion('openzwave'), '>')) { if (jeedom::getHardwareName() == 'Jeedomboard') { config::save('allowStartDeamon', 0, 'openzwave'); openzwave::updateOpenzwave(false); config::save('allowStartDeamon', 1, 'openzwave'); } else { log::add('openzwave', 'error', __('Attention votre version d\'openzwave est dépassée sur le démon local, il faut ABSOLUMENT la mettre à jour', __FILE__)); } } } } if (config::byKey('jeeNetwork::mode') == 'master') { foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) { try { if ($jeeNetwork->configByKey('port', 'openzwave', 'none') != 'none') { if (version_compare($jeeNetwork->sendRawRequest('getVersion', array('plugin' => 'openzwave', 'module' => 'openzwave')), openzwave::getVersion('openzwave'), '>')) { log::add('openzwave', 'error', __('Attention votre version d\'openzwave est dépassée sur', __FILE__) . ' ' . $jeeNetwork->getName() . ' ' . __('il faut ABSOLUMENT la mettre à jour', __FILE__)); } } } catch (Exception $e) { } } } echo "OK\n"; }
function openzwave_update() { log::add('openzwave', 'error', __('Après toute installation/mise à jour pensez bien à mettre à jour les dépendances Openzwave (voir documentation)', __FILE__)); if (!file_exists(dirname(__FILE__) . '/../data')) { mkdir(dirname(__FILE__) . '/../data'); } shell_exec('cp -R /opt/python-openzwave/xml_backups ' . dirname(__FILE__) . '/../data'); shell_exec('cp -R /opt/python-openzwave/zwcfg_*.xml ' . dirname(__FILE__) . '/../data'); shell_exec('rm -rf /opt/python-openzwave/xml_backups'); shell_exec('rm -rf /opt/python-openzwave/zwcfg_*.xml'); config::save('allowStartDeamon', 0, 'openzwave'); echo 'Stop zwave network...'; openzwave::stop(); openzwave::stopDeamon(); echo "OK\n"; echo 'Stop cron...'; $cron = cron::byClassAndFunction('openzwave', 'pull'); if (is_object($cron)) { $cron->remove(); } echo "OK\n"; echo 'Check zwave system...'; if (count(eqLogic::byType('zwave')) > 0) { log::add('openzwave', 'error', 'Attention vous etes sur la nouvelle version d\'openzwave, des actions de votre part sont necessaire merci d\'aller voir https://jeedom.fr/blog/?p=1576'); } if (config::byKey('port', 'openzwave', 'none') != 'none') { if (method_exists('openzwave', 'getVersion')) { if (version_compare(config::byKey('openzwave_version', 'openzwave'), openzwave::getVersion('openzwave'), '>')) { if (jeedom::getHardwareName() == 'Jeedomboard') { openzwave::updateOpenzwave(false); } else { log::add('openzwave', 'error', __('Attention votre version d\'openzwave est dépassée sur le démon local, il faut ABSOLUMENT la mettre à jour', __FILE__)); } } } } if (config::byKey('jeeNetwork::mode') == 'master') { foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) { try { if ($jeeNetwork->configByKey('port', 'openzwave', 'none') != 'none') { if (version_compare($jeeNetwork->sendRawRequest('getVersion', array('plugin' => 'openzwave', 'module' => 'openzwave')), openzwave::getVersion('openzwave'), '>')) { log::add('openzwave', 'error', __('Attention votre version d\'openzwave est dépassée sur', __FILE__) . ' ' . $jeeNetwork->getName() . ' ' . __('il faut ABSOLUMENT la mettre à jour', __FILE__)); } } } catch (Exception $e) { } } } echo "OK\n"; echo 'Redemarrage zwave network...'; try { config::save('allowStartDeamon', 1, 'openzwave'); openzwave::runDeamon(); } catch (Exception $e) { } echo "OK\n"; }
<?php if (jeedom::getHardwareName() == 'Jeedomboard' && jeedom::isCapable('sudo')) { echo '**************Mise à jour du système (peut etre très long)**************'; echo shell_exec('sudo touch /var/log/auth.log'); echo 'Mise à jour des sources'; echo shell_exec('sudo apt-get update'); echo "OK\n"; echo 'Mise à jour des paquets'; echo shell_exec('sudo apt-get dist-upgrade'); echo "OK\n"; echo 'Redemarrage fail2ban'; echo shell_exec('sudo service fail2ban restart'); echo "OK\n"; }
if ($market->getCost() != $market->getRealCost()) { echo '<span data-l1key="rating" style="font-size: 1em;text-decoration:line-through;">' . number_format($market->getRealCost(), 2) . ' €</span> '; } echo '<span data-l1key="rating" style="font-size: 1.5em;">' . number_format($market->getCost(), 2) . ' € TTC</span>'; } else { echo '<span data-l1key="rating" style="font-size: 1.5em;">{{Gratuit}}</span>'; } ?> </div> </div> <?php if ($market->getCertification() != 'Officiel') { echo '<div class="alert alert-warning">{{Attention ce plugin n\'est pas un plugin officiel en cas de soucis avec celui-ci (direct ou indirect) toute demande de support peut être refusée}}</div>'; } $compatibilityHardware = $market->getHardwareCompatibility(); if (is_array($compatibilityHardware) && count($compatibilityHardware) > 0 && $compatibilityHardware[jeedom::getHardwareName()] != 1) { echo '<div class="alert alert-danger">{{Attention ce plugin ne semble pas être compatible avec votre système}}</div>'; } ?> <div style="display: none;width : 100%" id="div_alertMarketDisplay"></div> <?php if (count($market->getImg('screenshot')) > 0) { ?> <div style='padding:25px;'> <div class="variable-width" style="height : 200px;"> <?php foreach ($market->getImg('screenshot') as $screenshot) { echo '<div class="item" >'; echo '<a class="fancybox cursor" href="' . config::byKey('market::address') . '/' . $screenshot . '" rel="group" >'; echo '<img data-lazy="' . config::byKey('market::address') . '/' . $screenshot . '" style="height : 200px;" />';
<?php $hwname = jeedom::getHardwareName(); if ($hwname == 'RPI/RPI2') { echo 'Ajout dépot nodejs v12 pour RPI...'; echo shell_exec('curl -sLS https://apt.adafruit.com/add | sudo bash'); echo "OK\n"; echo 'Mise à jour des depots'; shell_exec('sudo apt-get update'); echo "OK\n"; echo 'Mise à jour nodejs'; shell_exec('sudo apt-get -y install node'); echo "OK\n"; } else { echo 'Ajout dépot nodejs v12...'; exec("sudo sed -i '/deb http:\\/\\/repo.gbps.io\\/BSP:\\/Cubox-i\\/Debian_Jessie\\/ .\\//d' /etc/apt/sources.list"); echo shell_exec('curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -'); echo "OK\n"; echo 'Mise à jour des depots'; echo shell_exec('sudo apt-get update'); echo "OK\n"; echo 'Mise à jour nodejs'; echo shell_exec('sudo apt-get -y install nodejs'); echo "OK\n"; } echo 'Nettoyage des packets'; echo shell_exec('sudo apt-get -y autoremove'); echo "OK\n"; echo 'Redemarrage de nodejs'; echo shell_exec('sudo service jeedom restart'); echo "OK\n";
public static function getJsonRpc() { if (config::byKey('market::address') == '') { throw new Exception(__('Aucune addresse n\'est renseignée pour le market', __FILE__)); } if (config::byKey('market::username') != '' && config::byKey('market::password') != '') { $params = array('username' => config::byKey('market::username'), 'password' => config::byKey('market::password'), 'password_type' => 'sha1', 'jeedomversion' => jeedom::version(), 'hwkey' => jeedom::getHardwareKey(), 'addrComplement' => config::byKey('externalComplement'), 'information' => array('nbMessage' => message::nbMessage(), 'hardware' => method_exists('jeedom', 'getHardwareName') ? jeedom::getHardwareName() : '')); if (config::byKey('market::allowDNS') != 1) { $params['addr'] = config::byKey('externalAddr'); $params['addrProtocol'] = config::byKey('externalProtocol'); $params['addrPort'] = config::byKey('externalPort'); } $jsonrpc = new jsonrpcClient(config::byKey('market::address') . '/core/api/api.php', '', $params); } else { $jsonrpc = new jsonrpcClient(config::byKey('market::address') . '/core/api/api.php', '', array('jeedomversion' => jeedom::version(), 'hwkey' => jeedom::getHardwareKey())); } $jsonrpc->setCb_class('market'); $jsonrpc->setCb_function('postJsonRpc'); return $jsonrpc; }
<label class="col-lg-2 col-md-3 col-sm-4 col-xs-6 control-label">{{Clef API}}</label> <div class="col-lg-2 col-md-3 col-sm-4 col-xs-6"> <p class="form-control-static" id="in_keyAPI"><?php echo config::byKey('api'); ?> </p> </div> <div class="col-lg-1 col-md-2 col-sm-3"> <a class="btn btn-default form-control" id="bt_genKeyAPI">{{Générer}}</a> </div> </div> <div class="form-group"> <label class="col-lg-2 col-md-3 col-sm-4 col-xs-6 control-label">{{Système}}</label> <div class="col-lg-4 col-md-4 col-sm-4 col-xs-4"> <span class="label label-info" style="font-size : 1em;"><?php echo jeedom::getHardwareName(); ?> </span> </div> </div> <div class="form-group expertModeVisible"> <label class="col-lg-2 col-md-3 col-sm-4 col-xs-6 control-label">{{Clef hardware}}</label> <div class="col-lg-3 col-md-4 col-sm-5 col-xs-6"> <span class="label label-info" style="font-size : 1em;"><?php echo jeedom::getHardwareKey(); ?> </span> </div> <div class="col-lg-1 col-md-2 col-sm-3"> <a class="btn btn-default form-control" id="bt_resetHwKey" >{{Remise à zéro}}</a> </div>