more config

This commit is contained in:
2023-11-27 12:08:33 +01:00
parent c45994d14f
commit 7262592576

View File

@ -2,9 +2,6 @@ package mqtt
import "log" import "log"
import "fmt" import "fmt"
import "os"
import "strings"
// import "time"
import MQTT "github.com/eclipse/paho.mqtt.golang" import MQTT "github.com/eclipse/paho.mqtt.golang"
import "github.com/google/uuid" import "github.com/google/uuid"
import "crypto/tls" import "crypto/tls"
@ -45,11 +42,13 @@ func onReconnecting(client MQTT.Client, clientOpts *MQTT.ClientOptions) {
func onConnect(client MQTT.Client) { func onConnect(client MQTT.Client) {
topicsStr := os.Getenv("MQTT_SUBSCRIBE_TOPICS") var topics []string
if topicsStr == "" { for _, mapping := range config.Config.TopicMappings {
log.Fatal("No topics given, set env var MQTT_SUBSCRIBE_TOPICS") topics = append(topics, mapping.Topics...)
}
if len(topics) == 0 {
log.Fatal("No topics given, set in configuration")
} }
topics := strings.Split(topicsStr, ",")
for _, topic := range topics { for _, topic := range topics {
if token := client.Subscribe(topic, 0, onMessageReceived); token.Wait() && token.Error() != nil { if token := client.Subscribe(topic, 0, onMessageReceived); token.Wait() && token.Error() != nil {
log.Fatalf("Unable to subscribe to topic %s, error %s", topic, token.Error()) log.Fatalf("Unable to subscribe to topic %s, error %s", topic, token.Error())