if sent to the HTTP Api. */ // This code is released under the GNU Affero General Public License. // OpenEnergyMonitor project: // 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"; $log = new EmonLogger(__FILE__); $log->warn("Starting MQTT Input script"); if (!$mqtt_enabled) { echo "Error MQTT input script: MQTT must be enabled in settings.php\n"; $log->error("MQTT must be enabled in settings.php"); die; } $mysqli = @new mysqli($server, $username, $password, $database); if ($mysqli->connect_error) { $log->error("Cannot connect to MYSQL 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("Cannot connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n');
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")); $feedid = $f[0]; $timestamp = $f[1]; $value = $f[2]; $padding_mode = (int) $f[3]; $e = $redis->hget("feed:{$feedid}", 'engine');
if sent to the HTTP Api. */ // This code is released under the GNU Affero General Public License. // OpenEnergyMonitor project: // 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"; $log = new EmonLogger(__FILE__); $log->warn("Starting MQTT Input script"); if (!$mqtt_enabled) { echo "Error MQTT input script: MQTT must be enabled in settings.php\n"; $log->error("MQTT must be enabled in settings.php"); die; } $mysqli = @new mysqli($server, $username, $password, $database, $port); if ($mysqli->connect_error) { $log->error("Cannot connect to MYSQL 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("Cannot connect to redis at " . $redis_server['host'] . ":" . $redis_server['port']); die('Check log\\n');