zigbee2mqtt.go 783 B

1234567891011121314151617181920212223242526272829303132
  1. package zigbee2mqtt
  2. import (
  3. "fmt"
  4. "homectrl/internal/connectors/mqtt"
  5. mqtt_cli "github.com/eclipse/paho.mqtt.golang"
  6. )
  7. type Zigbee2mqtt struct {
  8. Devices []device
  9. }
  10. var Z2m = &Zigbee2mqtt{}
  11. var messagePubHandler mqtt_cli.MessageHandler = func(client mqtt_cli.Client, msg mqtt_cli.Message) {
  12. //fmt.Printf("Received message: %s from topic: %s\n", msg.Payload(), msg.Topic())
  13. Build(msg.Payload(), Z2m)
  14. }
  15. func (z2m *Zigbee2mqtt) New(broker string, port int) {
  16. fmt.Println("zigbee2mqtt/New")
  17. var inst = &mqtt.MqttInst{}
  18. inst.New(broker, port)
  19. //inst.SetDefaultPublishHandler(messagePubHandler)
  20. inst.Connect()
  21. fmt.Println("zigbee2mqtt/New2")
  22. inst.SubscribeTopic("zigbee2mqtt/bridge/devices", messagePubHandler)
  23. z2m = Z2m
  24. fmt.Println("lol")
  25. fmt.Println(z2m.Devices)
  26. }