// http://openenergymonitor.org define('EMONCMS_EXEC', 1); $fp = fopen("/var/lock/phpmqtt_input.lock", "w"); if (!flock($fp, LOCK_EX | LOCK_NB)) { echo "Already running\n"; die; } chdir(dirname(__FILE__) . "/../"); require "Lib/EmonLogger.php"; require "process_settings.php"; if (!$mqtt_enabled) { echo "Error: setting must be true: mqtt_enabled\n"; die; } $log = new EmonLogger(__FILE__); $log->info("Starting MQTT Input script"); $mysqli = @new mysqli($server, $username, $password, $database); if ($mysqli->connect_error) { $log->error("Can't connect to database:" . $mysqli->connect_error); die('Check log\\n'); } if ($redis_enabled) { $redis = new Redis(); if (!$redis->connect($redis_server['host'], $redis_server['port'])) { $log->error("Could not connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n'); } if (!empty($redis_server['prefix'])) { $redis->setOption(Redis::OPT_PREFIX, $redis_server['prefix']); } if (!empty($redis_server['auth'])) {
// export interval in seconds $time = time(); // generate export for last month of this time $exportpath = './exports'; // where to save export backup file (relative to base emoncms path) // Dont change bellow this $fp = fopen("/var/lock/export_daily.lock", "w"); if (!flock($fp, LOCK_EX | LOCK_NB)) { echo "Already running\n"; die; } chdir(dirname(__FILE__) . "/../"); require "Lib/EmonLogger.php"; require "process_settings.php"; $log = new EmonLogger(__FILE__); $log->info("Starting export task script"); $mysqli = @new mysqli($server, $username, $password, $database); if ($mysqli->connect_error) { $log->error("Can't connect to database:" . $mysqli->connect_error); die('Check log\\n'); } if ($redis_enabled) { $redis = new Redis(); if (!$redis->connect($redis_server['host'], $redis_server['port'])) { $log->error("Could not connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n'); } if (!empty($redis_server['prefix'])) { $redis->setOption(Redis::OPT_PREFIX, $redis_server['prefix']); } if (!empty($redis_server['auth'])) {
// This code is released under the GNU Affero General Public License. // OpenEnergyMonitor project: // http://openenergymonitor.org define('EMONCMS_EXEC', 1); $fp = fopen("/home/pi/data/feedrunlock", "w"); if (!flock($fp, LOCK_EX | LOCK_NB)) { echo "Already running\n"; die; } chdir("/var/www/emoncms"); require "Modules/log/EmonLogger.php"; require "process_settings.php"; $log = new EmonLogger(__FILE__); $log->set_logfile("/var/log/emoncms.log"); $log->set_topic("FEEDWRITER"); $log->info("Starting feedwriter process"); // Connect to redis $redis = new Redis(); while (!$redis->connect("127.0.0.1")) { sleep(1); $log->warn("Could not connect to redis, retrying"); } require "Modules/feed/engine/PHPTimeSeries.php"; require "Modules/feed/engine/PHPFina.php"; $engine = array(); $engine[Engine::PHPTIMESERIES] = new PHPTimeSeries($feed_settings['phptimeseries']); $engine[Engine::PHPFINA] = new PHPFina($feed_settings['phpfina']); while (true) { $len = $redis->llen("feedbuffer"); for ($i = 0; $i < $len; $i++) { $f = explode(",", $redis->lpop("feedbuffer"));
*/ define('EMONCMS_EXEC', 1); $fp = fopen("/var/lock/input_queue_processor.lock", "w"); if (!flock($fp, LOCK_EX | LOCK_NB)) { echo "Already running\n"; die; } chdir(dirname(__FILE__) . "/../"); require "Lib/EmonLogger.php"; require "process_settings.php"; if (!$redis_enabled) { echo "Error: setting must be true: redis_enabled\n"; die; } $log = new EmonLogger(__FILE__); $log->info("Starting REDIS Input Queue Processor script"); $mysqli = @new mysqli($server, $username, $password, $database, $port); if ($mysqli->connect_error) { $log->error("Can't connect to database:" . $mysqli->connect_error); die('Check log\\n'); } if ($redis_enabled) { $redis = new Redis(); if (!$redis->connect($redis_server['host'], $redis_server['port'])) { $log->error("Could not connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n'); } if (!empty($redis_server['prefix'])) { $redis->setOption(Redis::OPT_PREFIX, $redis_server['prefix']); } if (!empty($redis_server['auth'])) {
$emoncms_config_file = "/home/pi/data/emoncms.conf"; $emonhub_config_file = "/home/pi/data/emonhub.conf"; $topic = "emonhub/rx/#"; define('EMONCMS_EXEC', 1); $fp = fopen("/home/pi/data/nodes_mqtt_process_lock", "w"); if (!flock($fp, LOCK_EX | LOCK_NB)) { echo "Already running\n"; die; } chdir("/var/www/emoncms"); // Emoncms logger require "Modules/log/EmonLogger.php"; $log = new EmonLogger(__FILE__); $log->set_logfile("/var/log/emoncms.log"); $log->set_topic("MQTT"); $log->info("Starting emoncms mqtt nodes process"); require "Modules/nodes/ConfObj.php"; require "process_settings.php"; // Connect to mysql $mysqli = @new mysqli($server, $username, $password, $database); while ($mysqli->connect_error) { sleep(1); $log->warn("Could not connect to mysql, retrying"); $mysqli = @new mysqli($server, $username, $password, $database); } // Connect to redis $redis = new Redis(); while (!$redis->connect("127.0.0.1")) { sleep(1); $log->warn("Could not connect to redis, retrying"); }
require "Lib/EmonLogger.php"; require "process_settings.php"; if (!$redis_enabled) { echo "Error: setting must be true: redis_enabled\n"; die; } if (!$feed_settings['redisbuffer']['enabled']) { echo "Error: setting must be true: feed_settings['redisbuffer']['enabled']\n"; die; } if (!$feed_settings['redisbuffer']['sleep'] || (int) $feed_settings['redisbuffer']['sleep'] < 1) { echo "Error: setting must be > 0 : feed_settings['redisbuffer']['sleep']\n"; die; } $log = new EmonLogger(__FILE__); $log->info("Starting feedwriter script"); $mysqli = @new mysqli($server, $username, $password, $database); if ($mysqli->connect_error) { $log->error("Can't connect to database:" . $mysqli->connect_error); die('Check log\\n'); } if ($redis_enabled) { $redis = new Redis(); if (!$redis->connect($redis_server['host'], $redis_server['port'])) { $log->error("Could not connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n'); } if (!empty($redis_server['prefix'])) { $redis->setOption(Redis::OPT_PREFIX, $redis_server['prefix']); } if (!empty($redis_server['auth'])) {
function db_schema_setup($mysqli, $schema, $apply) { $log = new EmonLogger(__FILE__); $operations = array(); while ($table = key($schema)) { $log->info($table); error_log($table); // if table exists: $result = $mysqli->query("SHOW TABLES LIKE '" . $table . "'"); if ($result != null && $result->num_rows == 1) { // $out[] = array('Table',$table,"ok"); //----------------------------------------------------- // Check table fields from schema //----------------------------------------------------- while ($field = key($schema[$table])) { $type = $schema[$table][$field]['type']; if (isset($schema[$table][$field]['Null'])) { $null = $schema[$table][$field]['Null']; } else { $null = "YES"; } if (isset($schema[$table][$field]['Key'])) { $key = $schema[$table][$field]['Key']; } else { $key = null; } if (isset($schema[$table][$field]['default'])) { $default = $schema[$table][$field]['default']; } else { unset($default); } if (isset($schema[$table][$field]['Extra'])) { $extra = $schema[$table][$field]['Extra']; } else { $extra = null; } // if field exists: $result = $mysqli->query("SHOW COLUMNS FROM `{$table}` LIKE '{$field}'"); if ($result->num_rows == 0) { $query = "ALTER TABLE `{$table}` ADD `{$field}` {$type}"; if ($null) { $query .= " NOT NULL"; } if (isset($default)) { $query .= " DEFAULT '{$default}'"; } $operations[] = $query; if ($apply) { $mysqli->query($query); } } else { $result = $mysqli->query("DESCRIBE {$table} `{$field}`"); $array = $result->fetch_array(); $query = ""; if ($array['Type'] != $type) { $query .= ";"; } if (isset($default) && $array['Default'] != $default) { $query .= " Default '{$default}'"; } if ($array['Null'] != $null && $null == "NO") { $query .= " not null"; } if ($array['Extra'] != $extra && $extra == "auto_increment") { $query .= " auto_increment"; } if ($array['Key'] != $key && $key == "PRI") { $query .= " primary key"; } if ($query) { $query = "ALTER TABLE {$table} MODIFY `{$field}` {$type}" . $query; } if ($query) { $operations[] = $query; } if ($query && $apply) { $mysqli->query($query); } } next($schema[$table]); } } else { //----------------------------------------------------- // Create table from schema //----------------------------------------------------- $query = "CREATE TABLE " . $table . " ("; while ($field = key($schema[$table])) { $type = $schema[$table][$field]['type']; if (isset($schema[$table][$field]['Null'])) { $null = $schema[$table][$field]['Null']; } else { $null = "YES"; } if (isset($schema[$table][$field]['Key'])) { $key = $schema[$table][$field]['Key']; } else { $key = null; } if (isset($schema[$table][$field]['default'])) { $default = $schema[$table][$field]['default']; } else { $default = null; } if (isset($schema[$table][$field]['Extra'])) { $extra = $schema[$table][$field]['Extra']; } else { $extra = null; } $query .= '`' . $field . '`'; $query .= " {$type}"; if ($default) { $query .= " Default '{$default}'"; } if ($null == "NO") { $query .= " not null"; } if ($extra) { $query .= " auto_increment"; } if ($key) { $query .= " primary key"; } next($schema[$table]); if (key($schema[$table])) { $query .= ", "; } } $query .= ")"; $query .= " ENGINE=MYISAM"; if ($query) { $operations[] = $query; } if ($query && $apply) { $mysqli->query($query); } } next($schema); } return $operations; }
*/ define('EMONCMS_EXEC', 1); $fp = fopen("/var/lock/input_queue_processor.lock", "w"); if (!flock($fp, LOCK_EX | LOCK_NB)) { echo "Already running\n"; die; } chdir(dirname(__FILE__) . "/../"); require "Lib/EmonLogger.php"; require "process_settings.php"; if (!$redis_enabled) { echo "Error: setting must be true: redis_enabled\n"; die; } $log = new EmonLogger(__FILE__); $log->info("Starting MQTT Input Queue Processor script"); $mysqli = @new mysqli($server, $username, $password, $database); if ($mysqli->connect_error) { $log->error("Can't connect to database:" . $mysqli->connect_error); die('Check log\\n'); } if ($redis_enabled) { $redis = new Redis(); if (!$redis->connect($redis_server['host'], $redis_server['port'])) { $log->error("Could not connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n'); } if (!empty($redis_server['prefix'])) { $redis->setOption(Redis::OPT_PREFIX, $redis_server['prefix']); } if (!empty($redis_server['auth'])) {