introduce configuration file

This commit is contained in:
Wolfgang Hottgenroth
2017-08-25 15:02:50 +02:00
parent 6a59880109
commit 8513aff641
5 changed files with 49 additions and 17 deletions

13
dist/main.js vendored
View File

@ -2,14 +2,23 @@
Object.defineProperty(exports, "__esModule", { value: true });
const log = require("./log");
const mqtt = require("./mqttdispatcher");
const fs = require("fs");
const cmdargs = require("command-line-args");
const EspThermToJson = require("./espthermtojson");
const MongoSave = require("./mongosave");
log.info("Dispatcher starting");
let dispatcher = new mqtt.MqttDispatcher("mqtts://broker.hottis.de:8883", "wn", "locutus", "/home/wn/server-ca.crt");
const optionDefinitions = [
{ name: 'verbose', alias: 'v', type: Boolean },
{ name: 'config', alias: 'c', type: String, defaultValue: '~/mqttDispatcher.conf' }
];
const OPTIONS = cmdargs(optionDefinitions);
log.info(`OPTIONS.config`);
const CONFIG = JSON.parse(fs.readFileSync(OPTIONS.config, "utf8"));
let dispatcher = new mqtt.MqttDispatcher(CONFIG.brokerUrl, CONFIG.brokerUser, CONFIG.brokerPass, CONFIG.brokerCa);
dispatcher.register('IoT/espThermometer2/#', 'toJson', EspThermToJson.espThermToJson);
let mongoUrl = "mongodb://localhost/hottis";
// let mongoUrl = "mongodb://receiver:esp8266.@cluster0-shard-00-00-7qduq.mongodb.net:27017,cluster0-shard-00-01-7qduq.mongodb.net:27017,cluster0-shard-00-02-7qduq.mongodb.net:27017/hottis?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin"
let mongo = new MongoSave.MongoSave(mongoUrl);
let mongo = new MongoSave.MongoSave(CONFIG.mongoDbUrl);
dispatcher.register('IoT/espThermometer2/#', 'MongoSave', mongo);
dispatcher.exec();
log.info("Dispatcher running");