Beispiel #1
0
        sleep(2);
        openzwave::syncEqLogicWithOpenZwave($results['serverId'], $results['controller']['excluded']['value']);
    }
    if (isset($results['controller']['included'])) {
        for ($i = 0; $i < 10; $i++) {
            event::add('jeedom::alert', array('level' => 'warning', 'message' => __('Nouveau module Z-Wave détecté. Début de l\'intégration.Pause de ', __FILE__) . (10 - $i) . __(' pour synchronisation avec le module', __FILE__)));
            sleep(1);
        }
        event::add('jeedom::alert', array('level' => 'warning', 'message' => __('Inclusion en cours...', __FILE__)));
        openzwave::syncEqLogicWithOpenZwave($results['serverId'], $results['controller']['included']['value']);
    }
}
if (isset($results['message'])) {
    log::add('openzwave', 'error', $results['message']);
}
if (isset($results['alert'])) {
    switch ($results['alert']['type']) {
        case 'node_dead':
            $eqLogic = openzwave::getEqLogicByLogicalIdAndServerId($results['alert']['id'], $results['alert']['serverId']);
            if (is_object($eqLogic)) {
                $message = __('Le noeud', __FILE__) . ' ' . $eqLogic->getHumanName() . ' (' . $results['alert']['id'] . ') ' . __('est présumé mort', __FILE__);
            } else {
                $message = __('Le noeud', __FILE__) . ' ' . $results['alert']['id'] . ' ' . __('est présumé mort', __FILE__);
            }
            log::add('openzwave', 'error', $message, 'node_dead_' . $results['alert']['id'] . '_' . $results['alert']['serverId']);
            break;
        case 'node_alive':
            message::removeAll('openzwave', 'node_dead_' . $results['alert']['id'] . '_' . $results['alert']['serverId']);
            break;
    }
}
Beispiel #2
0
if (!jeedom::apiAccess(init('apikey'))) {
    connection::failed();
    echo 'Clef API non valide, vous n\'etes pas autorisé à effectuer cette action (jeeZwave)';
    die;
}
if (isset($_GET['test'])) {
    echo 'OK';
    die;
}
$results = json_decode(file_get_contents("php://input"), true);
if (!is_array($results)) {
    die;
}
if (isset($results['device'])) {
    foreach ($results['device'] as $node_id => $datas) {
        $eqLogic = openzwave::getEqLogicByLogicalIdAndServerId($node_id, $results['serverId']);
        if (is_object($eqLogic)) {
            if (strpos($eqLogic->getConfiguration('fileconf'), 'fibaro.fgs221.fil.pilote') !== false) {
                foreach ($eqLogic->getCmd('info', '0&&1.0x0', null, true) as $cmd) {
                    if ($cmd->getConfiguration('value') == 'pilotWire') {
                        $cmd->event($cmd->getPilotWire());
                    }
                }
                continue;
            }
            foreach ($datas as $result) {
                if ($eqLogic->getConfiguration('manufacturer_id') == '271' && $eqLogic->getConfiguration('product_type') == '2304' && ($eqLogic->getConfiguration('product_id') == '4096' || $eqLogic->getConfiguration('product_id') == '16384') && $result['CommandClass'] == '0x26') {
                    foreach ($eqLogic->getCmd('info', '0.0x26', null, true) as $cmd) {
                        if ($cmd->getConfiguration('value') == '#color#') {
                            $cmd->event($cmd->getRGBColor());
                            break;