コード例 #1
0
ファイル: install.php プロジェクト: stef3569/plugin-openzwave
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";
}
コード例 #2
0
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";
}
コード例 #3
0
ファイル: 1.203.0.php プロジェクト: jimibi/core
<?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";
}
コード例 #4
0
ファイル: market.display.php プロジェクト: GaelGRIFFON/core
    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;" />';
コード例 #5
0
ファイル: 1.199.0.php プロジェクト: GaelGRIFFON/core
<?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";
コード例 #6
0
ファイル: market.class.php プロジェクト: saez0pub/core
 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;
 }
コード例 #7
0
ファイル: administration.php プロジェクト: GaelGRIFFON/core
                                <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>