func (mb *MQTT_1) setup(ctxPath string, wos *server.WotServer) { deviceTopic := str.Concat(ctxPath, "/#") token2 := mb.client.Subscribe(deviceTopic, 0, mb.eventHandler(ctxPath, wos)) if token2.Wait() && token2.Error() != nil { log.Fatal(token2.Error) os.Exit(1) } log.Info("MQTT_1 Backend: subscribed to device topic -> ", deviceTopic) for _, p := range wos.GetDescription().Properties { propPath := str.Concat(ctxPath, "/", p.Name) wos.OnGetProperty(*p.Name, func() interface{} { return mb.values[propPath] }) if *p.Writable { wos.OnUpdateProperty(*p.Name, func(payload interface{}) { mb.publish(propPath, payload) }) } } }