config refactor
This commit is contained in:
24
src/mqtt.go
24
src/mqtt.go
@@ -10,13 +10,13 @@ import (
|
||||
var MQTTclient MQTT.Client
|
||||
|
||||
func init() {
|
||||
viper.SetDefault("MqttCliendID", "OpenPDU") // max 23 chars
|
||||
viper.SetDefault("MqttPrefix", "openpdu") // max 23 chars
|
||||
viper.SetDefault("MqttSchema", "tcp")
|
||||
viper.SetDefault("MqttHost", "localhost")
|
||||
viper.SetDefault("MqttPort", "1883")
|
||||
viper.SetDefault("MqttUsername", "")
|
||||
viper.SetDefault("MqttPassword", "")
|
||||
viper.SetDefault("Mqtt.CliendID", "OpenPDU") // max 23 chars
|
||||
viper.SetDefault("Mqtt.Prefix", "openpdu") // max 23 chars
|
||||
viper.SetDefault("Mqtt.Schema", "tcp")
|
||||
viper.SetDefault("Mqtt.Host", "localhost")
|
||||
viper.SetDefault("Mqtt.Port", "1883")
|
||||
viper.SetDefault("Mqtt.Username", "")
|
||||
viper.SetDefault("Mqtt.Password", "")
|
||||
|
||||
// MQTT.ERROR = log.New(os.Stdout, "[ERROR] ", 0)
|
||||
// MQTT.CRITICAL = log.New(os.Stdout, "[CRIT] ", 0)
|
||||
@@ -30,16 +30,16 @@ func init() {
|
||||
// https://girishjoshi.io/post/golang-paho-mqtt/
|
||||
|
||||
func mqttLoop() {
|
||||
uri := viper.GetString("MqttSchema") + "://" + viper.GetString("MqttHost") + ":" + viper.GetString("MqttPort")
|
||||
uri := viper.GetString("Mqtt.Schema") + "://" + viper.GetString("Mqtt.Host") + ":" + viper.GetString("Mqtt.Port")
|
||||
opts := MQTT.NewClientOptions().AddBroker(uri)
|
||||
|
||||
opts.SetClientID(viper.GetString("MqttCliendID"))
|
||||
opts.SetClientID(viper.GetString("Mqtt.CliendID"))
|
||||
|
||||
if username := viper.GetString("MqttUsername"); username != "" {
|
||||
if username := viper.GetString("Mqtt.Username"); username != "" {
|
||||
opts.SetUsername(username)
|
||||
}
|
||||
|
||||
if password := viper.GetString("MqttPassword"); password != "" {
|
||||
if password := viper.GetString("Mqtt.Password"); password != "" {
|
||||
opts.SetPassword(password)
|
||||
}
|
||||
|
||||
@@ -80,6 +80,6 @@ func MQTTreconfigure() {
|
||||
|
||||
func MQTTpublish(topic string, value string) {
|
||||
if MQTTclient.IsConnected() {
|
||||
MQTTclient.Publish(viper.GetString("MqttPrefix")+"/"+topic, 0, false, value)
|
||||
MQTTclient.Publish(viper.GetString("Mqtt.Prefix")+"/"+topic, 0, false, value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@ import (
|
||||
)
|
||||
|
||||
func mqttPage(ctx *macaron.Context) {
|
||||
ctx.Data["schema"] = viper.GetString("MqttSchema")
|
||||
ctx.Data["host"] = viper.GetString("MqttHost")
|
||||
ctx.Data["port"] = viper.GetString("MqttPort")
|
||||
ctx.Data["clientid"] = viper.GetString("MqttCliendID")
|
||||
ctx.Data["prefix"] = viper.GetString("MqttPrefix")
|
||||
ctx.Data["username"] = viper.GetString("MqttUsername")
|
||||
ctx.Data["password"] = viper.GetString("MqttPassword")
|
||||
ctx.Data["schema"] = viper.GetString("Mqtt.Schema")
|
||||
ctx.Data["host"] = viper.GetString("Mqtt.Host")
|
||||
ctx.Data["port"] = viper.GetString("Mqtt.Port")
|
||||
ctx.Data["clientid"] = viper.GetString("Mqtt.CliendID")
|
||||
ctx.Data["prefix"] = viper.GetString("Mqtt.Prefix")
|
||||
ctx.Data["username"] = viper.GetString("Mqtt.Username")
|
||||
ctx.Data["password"] = viper.GetString("Mqtt.Password")
|
||||
|
||||
ctx.Data["schemas"] = []string{"tcp", "ssl", "ws"}
|
||||
ctx.HTML(200, "mqtt")
|
||||
@@ -43,12 +43,12 @@ func mqttPost(ctx *macaron.Context, f MQTTPostForm) {
|
||||
return
|
||||
}
|
||||
|
||||
viper.Set("MqttHost", strings.ToLower(strings.TrimSpace(f.Host)))
|
||||
viper.Set("MqttPort", strings.ToLower(strings.TrimSpace(f.Port)))
|
||||
viper.Set("MqttCliendID", strings.TrimSpace(f.ClientID))
|
||||
viper.Set("MqttPrefix", strings.TrimSpace(f.Prefix))
|
||||
viper.Set("MqttUsername", strings.TrimSpace(f.Username))
|
||||
viper.Set("MqttPassword", f.Password)
|
||||
viper.Set("Mqtt.Host", strings.ToLower(strings.TrimSpace(f.Host)))
|
||||
viper.Set("Mqtt.Port", strings.ToLower(strings.TrimSpace(f.Port)))
|
||||
viper.Set("Mqtt.CliendID", strings.TrimSpace(f.ClientID))
|
||||
viper.Set("Mqtt.Prefix", strings.TrimSpace(f.Prefix))
|
||||
viper.Set("Mqtt.Username", strings.TrimSpace(f.Username))
|
||||
viper.Set("Mqtt.Password", f.Password)
|
||||
|
||||
viper.WriteConfig()
|
||||
|
||||
|
||||
16
src/ups.go
16
src/ups.go
@@ -10,10 +10,10 @@ var ups nut.UPS
|
||||
var upsVars map[string]nut.Variable
|
||||
|
||||
func init() {
|
||||
viper.SetDefault("UpsHost", "localhost")
|
||||
viper.SetDefault("UpsName", "ups")
|
||||
viper.SetDefault("UpsUsername", "")
|
||||
viper.SetDefault("UpsPassword", "")
|
||||
viper.SetDefault("Ups.Host", "localhost")
|
||||
viper.SetDefault("Ups.Name", "ups")
|
||||
viper.SetDefault("Ups.Username", "")
|
||||
viper.SetDefault("Ups.Password", "")
|
||||
}
|
||||
|
||||
func UpsConnect() {
|
||||
@@ -21,16 +21,16 @@ func UpsConnect() {
|
||||
var connectErr, authenticationError error
|
||||
var u nut.UPS
|
||||
|
||||
upsClient, connectErr = nut.Connect(viper.GetString("UpsHost"))
|
||||
upsClient, connectErr = nut.Connect(viper.GetString("Ups.Host"))
|
||||
if connectErr != nil {
|
||||
logErr(connectErr.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if username = viper.GetString("UpsUsername"); username == "" {
|
||||
if username = viper.GetString("Ups.Username"); username == "" {
|
||||
return
|
||||
}
|
||||
if password = viper.GetString("UpsPassword"); password == "" {
|
||||
if password = viper.GetString("Ups.Password"); password == "" {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ func UpsConnect() {
|
||||
}
|
||||
|
||||
for _, u = range upsList {
|
||||
if u.Name == viper.GetString("UpsName") {
|
||||
if u.Name == viper.GetString("Ups.Name") {
|
||||
ups = u
|
||||
logNotice("UPS connected")
|
||||
UpsReadVars()
|
||||
|
||||
@@ -8,10 +8,10 @@ import (
|
||||
)
|
||||
|
||||
func upsPage(ctx *macaron.Context) {
|
||||
ctx.Data["host"] = viper.GetString("UpsHost")
|
||||
ctx.Data["upsname"] = viper.GetString("UpsName")
|
||||
ctx.Data["username"] = viper.GetString("UpsUsername")
|
||||
ctx.Data["password"] = viper.GetString("UpsPassword")
|
||||
ctx.Data["host"] = viper.GetString("Ups.Host")
|
||||
ctx.Data["upsname"] = viper.GetString("Ups.Name")
|
||||
ctx.Data["username"] = viper.GetString("Ups.Username")
|
||||
ctx.Data["password"] = viper.GetString("Ups.Password")
|
||||
|
||||
// if ups == nil {
|
||||
// ctx.Data["serverstatus"] = "Disconnected"
|
||||
@@ -38,10 +38,10 @@ type UPSPostForm struct {
|
||||
}
|
||||
|
||||
func upsPost(ctx *macaron.Context, f UPSPostForm) {
|
||||
viper.Set("UpsHost", strings.ToLower(strings.TrimSpace(f.Host)))
|
||||
viper.Set("UpsName", strings.TrimSpace(f.UpsName))
|
||||
viper.Set("UpsUsername", strings.TrimSpace(f.Username))
|
||||
viper.Set("UpsPassword", f.Password)
|
||||
viper.Set("Ups.Host", strings.ToLower(strings.TrimSpace(f.Host)))
|
||||
viper.Set("Ups.Name", strings.TrimSpace(f.UpsName))
|
||||
viper.Set("Ups.Username", strings.TrimSpace(f.Username))
|
||||
viper.Set("Ups.Password", f.Password)
|
||||
|
||||
viper.WriteConfig()
|
||||
UpsReconfigure()
|
||||
|
||||
Reference in New Issue
Block a user