func Publish(m MQTT.Client, topic string, payload []byte, qos int, retain bool, sync bool) error { token := m.Publish(topic, byte(qos), retain, payload) log.Info("published: %v, to topic: %v", string(payload), topic) token.Wait() return nil }