mqtt stuff 4
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful

This commit is contained in:
2024-01-14 15:03:26 +01:00
parent dd394877f3
commit 0215d2efd1
4 changed files with 11 additions and 7 deletions

View File

@ -24,7 +24,7 @@ func New() *DatabaseHandle {
} else {
db.dbh = conn
db.initialized = true
//log.Println("Database connection opened")
log.Println("Database connection opened")
}
return &db
}

View File

@ -35,7 +35,6 @@ type locativeEvent struct {
func main() {
router := gin.Default()
ch := make(chan locativeEvent)
dbh := database.New()
mqtt := mqtt.New()
@ -56,7 +55,10 @@ func main() {
log.Printf("Unable to marshal event: %v", err2)
} else {
log.Printf("Message: %s", message)
mqtt.Publish(string(message))
err := mqtt.Publish(person, string(message))
if err != nil {
log.Printf("Failed to publish: %v", err)
}
}
}
}

View File

@ -31,19 +31,21 @@ func New() *MqttHandle {
}
mqttHandle.pubTopic = os.Getenv("MQTT_TOPIC")
if mqttHandle.pubTopic != "" {
if mqttHandle.pubTopic == "" {
log.Printf("No topic set")
mqttHandle.initialized = false
}
log.Printf("MQTT connection established")
return &mqttHandle
}
func (self *MqttHandle) Publish(message string) error {
func (self *MqttHandle) Publish(topicPost string, message string) error {
if ! self.initialized {
return fmt.Errorf("MQTT connection not initialized")
}
token := self.client.Publish(self.pubTopic, 0, false, message)
topic := fmt.Sprintf("%s/%s", self.pubTopic, topicPost)
token := self.client.Publish(topic, 0, false, message)
token.Wait()
if token.Error() != nil {
return fmt.Errorf("MQTT publish failed: %v", token.Error())