I don't know if this is a bug or a feature, but it seams like you cannot use the weight attribute for the rule conditions and actions.
When checking if an attribute is valid for rules this method is calledMage_Catalog_Model_Resource_Eav_Attribute::isAllowedForRuleCondition
public function isAllowedForRuleCondition() { $allowedInputTypes = array('text', 'multiselect', 'textarea', 'date', 'datetime', 'select', 'boolean', 'price'); return $this->getIsVisible() && in_array($this->getFrontendInput(), $allowedInputTypes); }
This seams reasonable. Now the strange part.
The weight attribute has the frontend input weight.
You can see this by running this query on the db.
SELECT * FROM eav_attribute where attribute_code = 'weight'.
Changing the frontend_input to text makes the attribute available in promo rules. But I can't tell you if this is a good idea or not.