package zigbee2mqtt import ( "fmt" "homectrl/internal/connectors/mqtt" mqtt_cli "github.com/eclipse/paho.mqtt.golang" ) type Zigbee2mqtt struct { Devices []device } var Z2m = &Zigbee2mqtt{} var messagePubHandler mqtt_cli.MessageHandler = func(client mqtt_cli.Client, msg mqtt_cli.Message) { //fmt.Printf("Received message: %s from topic: %s\n", msg.Payload(), msg.Topic()) Build(msg.Payload(), Z2m) } func (z2m *Zigbee2mqtt) New(broker string, port int) { fmt.Println("zigbee2mqtt/New") var inst = &mqtt.MqttInst{} inst.New(broker, port) //inst.SetDefaultPublishHandler(messagePubHandler) inst.Connect() fmt.Println("zigbee2mqtt/New2") inst.SubscribeTopic("zigbee2mqtt/bridge/devices", messagePubHandler) z2m = Z2m fmt.Println("lol") fmt.Println(z2m.Devices) }