public static function health()
 {
     $return = array();
     $demon_state = self::deamonRunning();
     $return[] = array('test' => __('Démon local', __FILE__), 'result' => $demon_state ? __('OK', __FILE__) : __('NOK', __FILE__), 'advice' => $demon_state ? '' : __('Peut être normal si vous êtes en déporté', __FILE__), 'state' => $demon_state);
     $version = openzwave::getVersion('openzwave');
     $return[] = array('test' => __('Version d\'openzwave', __FILE__), 'result' => $version, 'advice' => $demon_state ? '' : __('Mettez à jour les dépendances', __FILE__), 'state' => version_compare(config::byKey('openzwave_version', 'openzwave'), $version, '<='));
     $compilation = openzwave::compilationOk();
     $return[] = array('test' => __('Compilation', __FILE__), 'result' => $compilation ? __('OK', __FILE__) : __('NOK', __FILE__), 'advice' => $compilation ? '' : __('Mettez à jour les dépendances', __FILE__), 'state' => $compilation);
     if (config::byKey('jeeNetwork::mode') == 'master') {
         $cron = cron::byClassAndFunction('openzwave', 'pull');
         $running = false;
         if (is_object($cron)) {
             $running = $cron->running();
         }
         $return[] = array('test' => __('Tâche Z-Wave', __FILE__), 'result' => $running ? __('OK', __FILE__) : __('NOK', __FILE__), 'advice' => $running ? '' : __('Allez sur la page du moteur des tâches et vérifiez lancer la tache openzwave::pull', __FILE__), 'state' => $running);
         foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) {
             try {
                 $demon_state = $jeeNetwork->sendRawRequest('deamonRunning', array('plugin' => 'openzwave'));
             } catch (Exception $e) {
                 $demon_state = false;
             }
             $return[] = array('test' => __('Démon sur ', __FILE__) . $jeeNetwork->getName(), 'result' => $demon_state ? __('OK', __FILE__) : __('NOK', __FILE__), 'advice' => '', 'state' => $demon_state);
             $version = $jeeNetwork->sendRawRequest('getVersion', array('plugin' => 'openzwave', 'module' => 'openzwave'));
             $return[] = array('test' => __('Version d\'openzwave sur ', __FILE__) . $jeeNetwork->getName(), 'result' => $version, 'advice' => $demon_state ? '' : __('Mettez à jour les dépendances', __FILE__), 'state' => version_compare(config::byKey('openzwave_version', 'openzwave'), $version, '<='));
             $compilation = $jeeNetwork->sendRawRequest('compilationOk', array('plugin' => 'openzwave'));
             $return[] = array('test' => __('Compilation sur', __FILE__) . $jeeNetwork->getName(), 'result' => $compilation ? __('OK', __FILE__) : __('NOK', __FILE__), 'advice' => $compilation ? '' : __('Mettez à jour les dépendances', __FILE__), 'state' => $compilation);
         }
     }
     return $return;
 }
Example #2
0
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";
}
Example #3
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";
}
Example #4
0
				<input type="checkbox" class="configKey bootstrapSwitch" data-l1key="directPush" />
			</div>
		</div>
		<div class="form-group">
			<label class="col-sm-4 control-label">{{Gestion du démon}}</label>
			<div class="col-sm-8">
				<a class="btn btn-success" id="bt_startopenZwaveDemon"><i class='fa fa-play'></i> {{(Re)démarrer}}</a>
				<a class="btn btn-danger" id="bt_stopopenZwaveDemon"><i class='fa fa-stop'></i> {{Arrêter}}</a>
				<a class="btn btn-warning" id="bt_launchOpenZwaveInDebug"><i class="fa fa-exclamation-triangle"></i> {{Lancer en mode debug}}</a>
			</div>
		</div>
	</fieldset>
</form>
<?php 
if (config::byKey('jeeNetwork::mode') == 'master') {
    foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) {
        ?>
		<form class="form-horizontal slaveConfig" data-slave_id="<?php 
        echo $jeeNetwork->getId();
        ?>
">
			<fieldset>
				<legend>{{Démon sur l'esclave}} <?php 
        echo $jeeNetwork->getName();
        ?>
</legend>
				<div class="form-group">
					<label class="col-lg-4 control-label">{{Port clé Z-Wave}}</label>
					<div class="col-lg-4">
						<select class="slaveConfigKey form-control" data-l1key="port">
							<option value="none">{{Aucun}}</option>
    echo '</select>
            </div>
        </div>
         <div class="form-group">
            <label class="col-lg-4 control-label">Mode Debug, cela peut ralentir le systeme</label>
            <div class="col-lg-4">
                <input type="checkbox" class="configKey" data-l1key="enableLogging" />
            </div>
        </div>
        
    </fieldset>
</form>

<form class="form-horizontal">
    <fieldset>';
    foreach (jeeNetwork::byPlugin('bluetooth') as $jeeNetwork) {
        $id_sat = $jeeNetwork->getId();
        $jsonrpc = $jeeNetwork->getJsonRpc();
        echo '<div class="config-remote" id=' . $jeeNetwork->getId() . '>';
        echo '<u>Configuration pour le serveur distant : <b>' . $jeeNetwork->getName() . '</b></u>';
        echo '<div class="form-group">
					            <label class="col-lg-4 control-label">Port Bluetooth</label>
					            <div class="col-lg-4">
					                <select class="configKey form-control portusb" data-l1key="port' . $id_sat . '">
					                    <option value="">Aucun</option>';
        foreach ($jeeNetwork->sendRawRequest('jeedom::getUsbMapping') as $name => $value) {
            echo '<option value="' . $name . '">' . $name . ' (' . $value . ')</option>';
        }
        echo '</select>
			            </div>
			        </div>
 public static function syncconfOpenzwave($_background = true)
 {
     if (config::byKey('jeeNetwork::mode') == 'master') {
         foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) {
             try {
                 $jeeNetwork->sendRawRequest('syncconfOpenzwave', array('plugin' => 'openzwave'));
             } catch (Exception $e) {
             }
         }
     }
     log::remove('openzwave_syncconf');
     $cmd = 'sudo /bin/bash ' . dirname(__FILE__) . '/../../ressources/syncconf.sh';
     if ($_background) {
         $cmd .= ' >> ' . log::getPathToLog('openzwave_syncconf') . ' 2>&1 &';
     }
     log::add('openzwave_syncconf', 'info', $cmd);
     shell_exec($cmd);
 }
            <div class="col-lg-4">
				<select class="configKey form-control" id="select_mode" data-l1key="externalDeamon">
                    <option value="0">Local</option>
                    <option value="2">Gateway sur un Jeedom Esclave</option>
					<option value="1">Jeedom Esclave (Envoyer les données sur le jeedom Master)</option>
                </select>
            </div>
        </div>
        
        <div id="div_slave" class="form-group">
            <label class="col-lg-4 control-label">Esclave Jeedom :</label>
            <div class="col-lg-4">
                        <select id="select_slave" class="configKey form-control" data-l1key="jeeSlave">
                    <option value="">Aucun</option>
                    <?php 
foreach (jeeNetwork::byPlugin('mySensors') as $jeeNetwork) {
    echo '<option value="' . $jeeNetwork->getId() . '">' . $jeeNetwork->getName() . ' (' . $jeeNetwork->getId() . ')</option>';
}
?>
                </select>
                    </div>
        </div>
        
<div id="div_local" class="form-group">
            <label class="col-lg-4 control-label">Port Gateway :</label>
            <div class="col-lg-4">
                <select id="select_port" class="configKey form-control" data-l1key="usbGateway">
                    <option value="">Aucun</option>
                    <?php 
foreach (jeedom::getUsbMapping() as $name => $value) {
    echo '<option value="' . $name . '">' . $name . ' (' . $value . ')</option>';