My solutions was to run a loop over the category and do a price comparison
public function priceIds($min, $max, $catid)
{
$products = Mage::getModel('catalog/category')->load($catid)
->getProductCollection();
$ids = array();
foreach ($products as $product) {
if($product->getTypeId() == 'simple') {
$price = $product->getPrice();
echo $price;
if($price >= $min && $price <= $max)
{
$ids[] = $price->getId();
}
}elseif($product->getTypeId() == 'grouped')
{
$associatedProducts = $product->getTypeInstance(true)->getAssociatedProducts($product);
foreach($associatedProducts as $aproduct)
{
//echo $aproduct->getPrice();
//echo $aproduct->getId();
if($aproduct->getPrice() >= $min && $aproduct->getPrice() <= $max )
{
$ids[] = $product->getId();
break;
}
}
}
//;
}
//var_dump($ids);
return $ids;
}
And in the filter check if the product entity_id is in the reutrned id array.