hasshelper/kiosk/kiosk.go

32 lines
740 B
Go

package kiosk
import (
"context"
"log/slog"
"github.com/spf13/viper"
)
type handler func(area string, present bool)
type configObj struct {
logger *slog.Logger
broker string
username string
password string
presenceTopic string
}
var config = configObj{}
func Run(rootLogger *slog.Logger, exitch chan bool, ctx context.Context) {
config.logger = rootLogger.With("component", "kiosk")
config.broker = viper.GetString("mqtt_broker_url")
config.username = viper.GetString("mqtt_broker_user")
config.password = viper.GetString("mqtt_broker_password")
config.presenceTopic = viper.GetString("mqtt_presence_topic")
config.logger.Info("starting MQTT broker client")
brokerConsume(ctx)
exitch <- true
}