export default class ConfigManager{ constructor(){} init(){ console.log("[CONFIG] Reading config environment variables.") // Initialize mqtt url var mqttUrlEnv = process.env.MQTT_URL; if(mqttUrlEnv){ this.mqttUrl = mqttUrlEnv; console.log("[CONFIG] MQTT_URL set to ["+mqttUrlEnv+"].") }else{ this.mqttUrl = "mqtt://localhost:1883" console.log("[CONFIG] MQTT_URL set to default [mqtt://localhost].") } // Initialize auth token var mqttAuthTokenEnv = process.env.MQTT_AUTH_TOKEN if(mqttAuthTokenEnv){ this.mqttAuthToken = mqttAuthTokenEnv; console.log("[CONFIG] MQTT_AUTH_TOKEN set to ["+mqttAuthTokenEnv+"].") }else{ this.mqttAuthToken = "skl20g67bm1"; console.log("[CONFIG] MQTT_AUTH_TOKEN set to default value [skl20g67bm1]."); } // Initialize mqtt options this.mqttOptions = { keepalive: 60, reconnectPeriod: 1000, protocolVersion: 3, protocolId: 'MQIsdp', clean: true, encoding: 'utf8' } // Initialize mqtt clientId var mqttClientIdEnv = process.env.MQTT_CLIENTID if(mqttClientIdEnv){ this.mqttOptions.clientId = mqttClientIdEnv console.log("[CONFIG] MQTT_CLIENTID read and set to ["+mqttClientIdEnv+"].") }else{ this.mqttOptions.clientId = "advancedMqttBridge" console.log("[CONFIG] MQTT_CLIENTID set to default [advancedMqttBridge].") } // Initialize mqtt username var mqttUsernameEnv = process.env.MQTT_USERNAME if(mqttUsernameEnv){ this.mqttOptions.username = mqttUsernameEnv console.log("[CONFIG] MQTT_USERNAME read and set to ["+mqttUsernameEnv+"].") }else{ this.mqttOptions.username = "advancedMqttBridge" console.log("[CONFIG] MQTT_USERNAME set to default [advancedMqttBridge].") } // Initialize mqtt password var mqttPasswordEnv = process.env.MQTT_PASSWORD if(mqttPasswordEnv){ this.mqttOptions.password = mqttPasswordEnv console.log("[CONFIG] MQTT_PASSWORD read and set to ["+mqttPasswordEnv+"].") }else{ this.mqttOptions.password = "mqttPassword#123" console.log("[CONFIG] MQTT_PASSWORD set to default [mqttPassword#123].") } } getMqttAuthToken(){ return this.mqttAuthToken; } getMqttUrl(){ return this.mqttUrl; } getMqttOptions(){ return this.mqttOptions; } }