feat: add rudimentary autodiscovery
This commit is contained in:
@@ -103,6 +103,19 @@ func main() {
|
||||
log.Printf("warning: mqtt subscribe failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// subscribe to discovery topic
|
||||
discoveryTopic := cfg.MQTT.Topic + "/discovery"
|
||||
discoveryHandler := func(t string, p []byte) {
|
||||
log.Printf("device discovery on %s", t)
|
||||
if err := h.ProcessDiscoveryMessage(p); err != nil {
|
||||
log.Printf("error processing discovery message: %v", err)
|
||||
}
|
||||
}
|
||||
if err := mq.Subscribe(discoveryTopic, discoveryHandler); err != nil {
|
||||
log.Printf("warning: mqtt subscribe to discovery failed: %v", err)
|
||||
}
|
||||
|
||||
// publish a startup message (non-blocking)
|
||||
go func() {
|
||||
msg := fmt.Sprintf("lambdaiot-core started on %s", addr)
|
||||
|
||||
Reference in New Issue
Block a user