83 lines
2.6 KiB
JavaScript
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;
|
|
}
|
|
|
|
}
|
|
|