예제 #1
0
 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;
 }
예제 #3
0
 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;
 }