more config
This commit is contained in:
@ -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())
|
||||||
|
Reference in New Issue
Block a user