public static function listServerZwave($_autofix = true) { if (self::$_listZwaveServer == null || count(self::$_listZwaveServer) == 0) { self::$_listZwaveServer = array(); if (config::byKey('port', 'openzwave', 'none') != 'none' && config::byKey('allowStartDeamon', 'openzwave', 1) == 1) { self::$_listZwaveServer[0] = array('id' => 0, 'name' => 'Local', 'addr' => '127.0.0.1', 'port' => config::byKey('port_server', 'openzwave', 8083)); if ($_autofix & config::byKey('urlPath0', 'openzwave') == '') { self::updateNginxRedirection(); } self::$_listZwaveServer[0]['path'] = '/' . config::byKey('urlPath0', 'openzwave'); } if (config::byKey('jeeNetwork::mode') == 'master') { foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) { if ($jeeNetwork->configByKey('port', 'openzwave', 'none') != 'none') { self::$_listZwaveServer[$jeeNetwork->getId()] = array('id' => $jeeNetwork->getId(), 'name' => $jeeNetwork->getName(), 'addr' => $jeeNetwork->getRealIp(), 'port' => $jeeNetwork->configByKey('port_server', 'openzwave', 8083)); if ($_autofix && config::byKey('urlPath' . $jeeNetwork->getId(), 'openzwave') == '') { self::updateNginxRedirection(); } self::$_listZwaveServer[$jeeNetwork->getId()]['path'] = '/' . config::byKey('urlPath' . $jeeNetwork->getId(), 'openzwave'); } } } } return self::$_listZwaveServer; }
public static function listServerZwave() { if (self::$_listZwaveServer == null || count(self::$_listZwaveServer) == 0) { self::$_listZwaveServer = array(); if (config::byKey('port', 'openzwave', 'none') != 'none' && config::byKey('allowStartDeamon', 'openzwave', 1) == 1) { self::$_listZwaveServer[0] = array('id' => 0, 'name' => 'Local', 'addr' => '127.0.0.1', 'port' => config::byKey('port_server', 'openzwave', 8083), 'path' => 'plugins/openzwave/core/php/jeeZwaveProxy.php?server_id=0&request='); } if (config::byKey('jeeNetwork::mode') == 'master') { foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) { if ($jeeNetwork->configByKey('port', 'openzwave', 'none') != 'none') { self::$_listZwaveServer[$jeeNetwork->getId()] = array('id' => $jeeNetwork->getId(), 'name' => $jeeNetwork->getName(), 'addr' => $jeeNetwork->getRealIp(), 'port' => $jeeNetwork->configByKey('port_server', 'openzwave', 8083), 'path' => 'plugins/openzwave/core/php/jeeZwaveProxy.php?server_id=' . $jeeNetwork->getId() . '&request='); } } } } return self::$_listZwaveServer; }
public static function listServerZwave($_autofix = true) { if (self::$_listZwaveServer == null || count(self::$_listZwaveServer) == 0) { self::$_listZwaveServer = array(); if (config::byKey('port', 'openzwave', 'none') != 'none' && config::byKey('allowStartDeamon', 'openzwave', 1) == 1) { self::$_listZwaveServer[0] = array('id' => 0, 'name' => 'Local', 'addr' => '127.0.0.1', 'port' => config::byKey('port_server', 'openzwave', 8083)); if ($_autofix & config::byKey('urlPath0', 'openzwave') == '') { self::updateNginxRedirection(); } self::$_listZwaveServer[0]['path'] = '/' . config::byKey('urlPath0', 'openzwave'); } if (config::byKey('jeeNetwork::mode') == 'master') { foreach (jeeNetwork::byPlugin('openzwave') as $jeeNetwork) { if ($jeeNetwork->configByKey('port', 'openzwave', 'none') != 'none') { self::$_listZwaveServer[$jeeNetwork->getId()] = array('id' => $jeeNetwork->getId(), 'name' => $jeeNetwork->getName(), 'addr' => $jeeNetwork->getRealIp(), 'port' => $jeeNetwork->configByKey('port_server', 'openzwave', 8083)); if ($_autofix && config::byKey('urlPath' . $jeeNetwork->getId(), 'openzwave') == '') { self::updateNginxRedirection(); } self::$_listZwaveServer[$jeeNetwork->getId()]['path'] = '/' . config::byKey('urlPath' . $jeeNetwork->getId(), 'openzwave'); } } } if ($_autofix && count(self::$_listZwaveServer) > 0) { foreach (self::$_listZwaveServer as $key => $value) { $url = network::getNetworkAccess('internal', 'proto:ip:port') . $value['path'] . '/ZWaveAPI/Run/IsAlive()'; $ch = curl_init(); curl_setopt_array($ch, array(CURLOPT_URL => $url, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true)); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1000); $result = curl_exec($ch); curl_close($ch); if (is_json($result)) { $result = json_decode($result, true); } if (!is_array($result) || $result['result'] != true) { self::removeNginxRedirection(); self::updateNginxRedirection(); self::$_listZwaveServer = null; self::listServerZwave(false); } } } } return self::$_listZwaveServer; }