feat: add rudimentary autodiscovery

This commit is contained in:
2026-01-14 14:06:42 +01:00
parent bf913012ac
commit 2f9bd6316b
3 changed files with 561 additions and 0 deletions
+13
View File
@@ -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)