advancedmqttbridge/own_modules/configManager.mjs

83 lines
2.6 KiB
JavaScript

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;
}
}